Linux之日志管理(rsyslog、logrotate)

一、rsyslog系统日志管理

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

观察rsyslogd程序命令:ps aux | grep rsyslogd

常见的日志文件:
tail -10 var/log/messages //系统主日志文件 -f 为动态查看日志文件 tail为查看 ,-10 为查看后10行
/var/log/secure //认证、安全日志文件
/var/log/yum.log //yum日志文件
/var/log/mailing //与邮件相关
/var/log/cron //crond、at进程产生的日志
/var/log/dmesg //和系统启动相关
rsyslogd配置:

[root@localhost ~]# yum -y install rsyslog logrotate 安装相关程序
[root@localhost ~]# systemctl start rsyslog.service  启动程序
[root@localhost ~]# rpm -qc rsyslog  查看相关文件
/etc/logrotate.d/syslog      和日志轮转相关文件      
/etc/rsyslog.conf            rsyslogd的主配置文件
/etc/sysconfig/rsyslog       rsyslogd相关文件,定义级别

主配置文件:
[root@localhost ~]# vim /etc/rsyslog.conf
Linux之日志管理(rsyslog、logrotate)_第1张图片
日志的级别有多种,但是我们在编写配置文件时可用*代替级别。
facility设备是系统对某种类型APP事件的定义,如AUTHPRIV是安全事件,CRON是计划任务事件,设备用来收集同类型程序日志。可使用 man 3 syslog命令查看相关信息。
日志工作机制示意图:
Linux之日志管理(rsyslog、logrotate)_第2张图片
程序类型示例:

1.修改ssh程序的设备类型
vim    /etc/ssh/sshd_config 
#SyslogFacility AUTHPRIV
SyslogFacility LOCAL5
2.修改rsyslog程序的规则
vim /etc/rsyslog.conf
local5.*                                        /var/log/serverzz
3.重启rsyslog程序和ssh程序
systemctl restart rsyslog.service    sshd
4.使用其他终端,登录服务器,观察新日志文件。

二、logrotate日志轮转

日志轮转记录的信息只能记录最后一段时间发生的事情,常按时间或大小等维度分成多分,自动删除时间久远的日志文件。
配置文件分为两类:
主配置文件: /etc/logrotate.conf (决定每个日志文件如何轮转)
子配置文件: /etc/logrotate.d/* (自定义配置,便于管理)
观察主配置文件和子配置文件:
Linux之日志管理(rsyslog、logrotate)_第3张图片
[root@localhost ~]# vim /etc/logrotate.conf
Linux之日志管理(rsyslog、logrotate)_第4张图片
Linux之日志管理(rsyslog、logrotate)_第5张图片
yum日志轮转实例:
轮转的目标文件/var/log/yum.log

# vim /etc/logrotate.d/yum 
/var/log/yum.log {
missingok		//丢失不执行
daily		//缩小周期到1天
rotate 3		//轮转保留3次
create 0777 root root
}

测试:
修改时间,手动触发轮转
Linux之日志管理(rsyslog、logrotate)_第6张图片

你可能感兴趣的:(Linux,linux,centos)