一、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
日志的级别有多种,但是我们在编写配置文件时可用*代替级别。
facility设备是系统对某种类型APP事件的定义,如AUTHPRIV是安全事件,CRON是计划任务事件,设备用来收集同类型程序日志。可使用 man 3 syslog命令查看相关信息。
日志工作机制示意图:
程序类型示例:
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/* (自定义配置,便于管理)
观察主配置文件和子配置文件:
[root@localhost ~]# vim /etc/logrotate.conf
yum日志轮转实例:
轮转的目标文件/var/log/yum.log
# vim /etc/logrotate.d/yum
/var/log/yum.log {
missingok //丢失不执行
daily //缩小周期到1天
rotate 3 //轮转保留3次
create 0777 root root
}
测试:
修改时间,手动触发轮转