博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux日志系统
阅读量:7091 次
发布时间:2019-06-28

本文共 4368 字,大约阅读时间需要 14 分钟。

linux

软件

  • syslog
  • syslog-ng(next generation)

日志系统:syslog

负责统一记录日志

  • syslog服务:
  • syslogd:系统,非内核产生的信息。
  • klogd:内核,专门负责记录内核产生的日志信息。
  • kernel-->物理终端(/dev/console )-->/var/log/dmsg klog
  • dmesg dmesg - print or control the kernel ring buffer
    /sbin/init ---syslogd

日志的轮转:日志切割

messge -->message1--->message2

日志轮转条件 /var/log/messages:系统标准错误日志信息。非内核产生引导信息,各子系统产生的信息。

  • logrotate:

    logrotate - rotates, compresses, and mails system logs

    /etc/cron.daily/logrotate
    /etc/logrotate.conf
    全局和局部变量
    /etc/logrotate.d/*

查看帮助文档

man logrotate  /var/lib/logrotate.status /var/log/maillog:邮件系统产生的日志信息. /var/log/secure:系统认证,安全日志。 chkconfig --list rsyslog servcie rsyslog status

配置文件

信息的详细程度:日志级别

定义不同日志信息

子系统:facility:设施

动作:action

配置文件定义格式:
facility.prioriity    action facility,可以理解为日志的来源或设备目前常用的facility有以下几种:auth           认证相关的authpriv         权限,授权相关的cron            任务计划相关的daemon            守护进程相关的kern            内核相关的lpr              打印相关的mail           邮件相关的mark            标记相关的news             新闻下相关的security         安全相关的与auth类似syslog              syslog自己的user              用户相关的uucp              unix to unix cp 相关的local0到local7   用户自定义*                表示所有的facilitypriority (log level) 日志的级别,一般有以下几种级别(从高到低)debug         #程序或系统的调试信息info           #一般信息notice         #不影响正常功能,需要注意的信息warning/warn      #可能影响系统正常功能,需要提醒用户的重要事件err/error          错误信息 crit              比较严重alert            必须马上处理emerg/panic        会导致系统不可用*               表示所有的日志级别none         跟*相反,表示啥也没有注意:级别越低,信息越详细,产生的信息量越多。
action(动作)日志的记录位置
系统上绝对路径     #普通文件,如/var/log/xxx|             #管道  通过管道送给其他命令处理终端          #终端   如/dev/console@HOST        #远程主机  如:@10.0.0.10用户           #系统用户   如root*               #登录到系统上的所有用户,一般emerg级别的日志是这样定义的。

日志服务器:

优点

1.便于管理 2.安全性提高 3.备份

定义格式例子:

mail.info   /var/log/mail.log  #表示将mail相关的,级别为info及info以上级别的的信息记录到/var/log/mail.log文件中auth.=info   @10.0.0.1  #表示将auth相关的,基本为info的信息记录到10.0.0.1主机上去user.!=error      #与user.error相反*.info        #表示记录所有日志的info信息mail.*            #表示记录mail相关的所有级别的信息*.*         #所有cron.info;mail.info     #多个日志来源用“;”隔开cron,mail.info     #与cron.info;mail.info一个意思mail.*;mail.!=info     #表示记录mail相关的所有级别的信息,但是不包括info级别的。vim /etc/rsyslog.conf    /etc/rsyslog.*.info;mail.none;authpriv.none;cron.none                /var/log/messages  #除了。。以外都记录mail.*                             /var/log/secure  权限为 600                -/var/log/maillog   注:-:表示异步写入,其他的是同步写入。/var/boot.logsyslog默认记录的日志格式有四个字段,时间标签   主机  子系统名称   消息cron.info    /var/log/ service rsyslog restartservice rsyslog  reload/etc/init.d/rsyslog/etc/sysconfig/rsyslog  脚本的配置文件SYSLOGD_OPTIONS="-c 5"  加上-r 重启服务即可-r :允许接受外来的日志,

查看帮助

man 8 rsyslogd

日志相关的一些命令

dmsglastloglastlastbsarlogger....

赘述两句

以上内容是在 centos, redhat下面的配置和使用,我下面贴出ubuntu发行版的配置以及参数等

日志配置

ubuntu@youdi >/etc > vim rsyslog.conf ubuntu@youdi > /etc > tree rsyslog.drsyslog.d├── 20-ufw.conf├── 21-cloudinit.conf└── 50-default.conf  // 不同日记级别产生的日志保存在哪里等一些配置都是在这个文件中0 directories, 3 files

保存日志相关的文件

ubuntu@youdi  /var/log  tree -L 1                                                                                                                                  ├── alternatives.log├── alternatives.log.1├── alternatives.log.2.gz├── alternatives.log.3.gz├── alternatives.log.4.gz├── apt├── auth.log├── auth.log.1├── auth.log.2.gz├── auth.log.3.gz├── auth.log.4.gz├── btmp├── btmp.1├── cloud-init.log├── cloud-init-output.log├── dist-upgrade├── dpkg.log├── dpkg.log.1├── dpkg.log.2.gz├── dpkg.log.3.gz├── dpkg.log.4.gz├── fontconfig.log├── fsck├── kern.log├── kern.log.1├── kern.log.2.gz├── kern.log.3.gz├── kern.log.4.gz├── lastlog├── lxd├── mysql├── nginx├── redis├── shadowsocks.log├── supervisor├── syslog├── syslog.1├── syslog.2.gz├── syslog.3.gz├── syslog.4.gz├── syslog.5.gz├── syslog.6.gz├── syslog.7.gz├── unattended-upgrades├── wtmp└── wtmp.1

日志轮转的配置

ubuntu@youdi  /etc  vim logrotate.conf                                                                                                                                                                          ubuntu@youdi  /etc  tree logrotate.d                                                                                                                                                                           logrotate.d├── apport├── apt├── dpkg├── lxd├── mysql-server├── nginx├── redis-sentinel├── redis-server├── rsyslog├── ufw└── unattended-upgrades0 directories, 11 files

转载地址:http://iqiql.baihongyu.com/

你可能感兴趣的文章
批量替换多个文件中的字符
查看>>
我的友情链接
查看>>
IndexWriter和IndexReader对象分析
查看>>
Linux设置网络及问题排查
查看>>
linux array数组
查看>>
最简单的网页换肤(jQuery)
查看>>
Python3 通过 pika 连接 RabbitMQ 的基本用法
查看>>
我的友情链接
查看>>
The operation couldn’t be completed. Unable to log in with account ''
查看>>
ESXi为虚拟机选择网络适配器 (2093486)
查看>>
C/C++踩坑记录(二)一段有趣的常量字符串
查看>>
codecademy的ruby课程不错
查看>>
公司邮件安全网关部署续--加强邮件服务器本身安全性
查看>>
MongoDB主从集群
查看>>
android数据五种存储
查看>>
关于Linux的字符测试的详解
查看>>
htop使用详解
查看>>
MongoDB——第三天 细说高级操作
查看>>
Django Admin用户登录(form表单处理方法)
查看>>
Pointer and Array
查看>>