简介:

rsyslog 系统日志管理

关心问题:哪类程序---》产生的什么日志----》放到什么地方

处理日志的进程:

第一类:

rsyslogd: 系统专职日志程序。
处理绝大部分日志记录,
系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息

第二类:

httpd/nginx/mysql: 各类应用程序,可以以自己的方式记录日志.
讲解对应程序时会逐步介绍

观察 rsyslogd程序:

ps aux |grep rsyslogd
Linux之日志管理_第1张图片

常见的日志文件(系统,进程,应用程序)

 tail   -10   /var/log/messages //系统主日志文件
 tail -f /var/log/messages //动态查看日志文件的尾部
 tailf /var/log/secure  //认证、安全
 tail /var/log/yum.log //yum
 tail /var/log/maillog //跟邮件postfix相关
 tail /var/log/cron //crond、at进程产生的日志
 tail /var/log/dmesg //和系统启动相关

了解:

tail /var/log/audit/audit.log //系统审计日志
tail /var/log/mysqld.log //MySQL
tail /var/log/xferlog//和访问FTP服务器相关
tail  /var/log/wtmp//当前登录的用户(命令:w)
tail  /var/log/btmp//最近登录的用户(命令last)
tail  /var/log/lastlog//所有用户的登录情况(命令lastlog )

rsyslogd配置:

相关程序

yum install rsyslog logrotate

启动程序

systemctl start rsyslog.service
Linux之日志管理

相关文件

rpm -qc rsyslog
Linux之日志管理
/etc/rsyslog.conf //rsyslogd的主配置文件(关键)
rsyslogd的主配置文件(关键)//rsyslogd相关文件,定义级别(了解一下)
/etc/logrotate.d/syslog //和日志办轮转(切割)相关(任务二)
//观察日志程序的配置文件

主配置文件

 告诉rsyslogd进程什么日志,应该存到哪里。
 ## vim /etc/rsyslog.conf
 ![](https://s4.51cto.com/images/blog/202008/06/5b2b9e69c9cd25078aca6aec25913d9e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
 ### RULES
 RULES:即规则,是一套生成日志,以及存储日志的策略。
 RULES即规则,有三部分组成(由设备+级别+存放位置)
 authpriv.*         /var/log/secure(SSH信息)

mail. -/var/log/maillog(发邮件)
cron.
/var/log/cron(创建任务)

FACILITY&LEVEL

facility设备

facility

是系统对某种类型APP事件的定义。如AUTHPRIV是安全事件,CRON是计划任务事件。用来收集同类程序日志。
man 3 syslog

设备类型:

LOG_SYSLOG //syslogd自身产生的日志 
LOG_AUTHPRIV //安全认证
LOG_CRON  //调度程序(cron and at)
LOG_MAIL //邮件系统mail subsystem
LOG_USER (default) //用户相关
LOG_DAEMON //后台进程
LOG_FTP //文件服务器ftp daemon
LOG_KERN //内核设备kernel messages
LOG_LPR //打印机设备,printer subsystem
LOG_LOCAL0 through LOG_LOCAL7 // 用户自定义设备

程序类型示例

1.关于程序和设备的联系问题,程序自身会决定将日志交给哪类设备。如SSH程序会选择安全类设备。这一点由开发者定义。
2.grep Facility /etc/ssh/sshd_config
SyslogFacility AUTHPRIV
Linux之日志管理_第2张图片
请问这个程序是属于哪个设备呢?认证设备

level级别

1.LOG_EMERG         紧急,致命,服务无法继续运行,如配置文件丢失
2.LOG_ALERT         报警,需要立即处理,如磁盘空使用95%
3.LOG_CRIT      致命行为
4.LOG_ERR       错误行为
5.LOG_WARNING    警告信息
6.LOG_NOTICE    普通,重要的标准信息
7.LOG_INFO      标准信息
8.LOG_DEBUG         调试信息,排错所需,一般不建议使用(从下到上,级别从低到高,记录的信息越来越少)

规则示意图

目的:通过绘图形式来理解日志工作机制。
[{"src":"xap:resources/86ecf320e03afe1fa71503fa24b1033032523a338ba39e2d0532df9cbd0b2d88.png","width":400,"height":213}]Linux之日志管理_第3张图片