日志服务
安装软件: rsyslog-8.24.0-38.el7.x86_64
启动服务: systemctl restart rsyslog
配置文件: /etc/rsyslog.conf
AAAA.BBBB CCCCC
AAAA 产生日的对象(接口)
BBBB 日志级别 ( info debug notice warnning error crit alert panic(emergency) )
CCCC 存放位置
mail.error /tmp/mail.log
mail对象产生的error级别日志以上 保存到/tmp/maillog
mail.=error /tmp/mail.log
mail对象产生的只有error级别日志, 保存到/tmp/maillog
mail.!=error /tmp/mail.log
mail对象产生的除了error级别日志, 保存到/tmp/maillog
保存位置的定义
发送个某个用户
*.info;mail.none;authpriv.none;cron.none robin
发送到终端
*.info;mail.none;authpriv.none;cron.none /dev/pts/1
发送到文件
*.info;mail.none;authpriv.none;cron.none /tmp/test.log
做一个实验: 将sshd的日志保存到自定义文件
[root@robin ~]# vim /etc/ssh/sshd_config
#SyslogFacility AUTHPRIV
SyslogFacility local6
[root@robin ~]# systemctl restart sshd
[root@robin ~]# vim /etc/rsyslog.conf
local6.* /var/log/sshd.log
[root@robin ~]# systemctl restart rsyslog
测试:
[root@robin ~]# cat /var/log/sshd.log
日志的集中管理(日志备份到远程服务器)
192.168.100.100 robin.com 发送服务器
192.168.100.129 myhost.com 接受服务器
备份服务器(决定日志保存位置)
[root@myhost ~]# vim /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
[root@myhost ~]# systemctl restart rsyslog
[root@myhost ~]# netstat -anplt | grep :514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 4623/rsyslogd
tcp6 0 0 :::514 :::* LISTEN 4623/rsyslogd
[root@myhost ~]# netstat -anplu | grep :514
udp 0 0 0.0.0.0:514 0.0.0.0:* 4623/rsyslogd
udp6 0 0 :::514 :::* 4623/rsyslogd
传输端:(决定将日志发送给谁)
[root@robin ~]# vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none @192.168.100.129 #udp协议
authpriv.* @@192.168.100.129 #tcp协议
[root@robin ~]# systemctl restart rsyslog
日志轮转
日志轮转文件: /etc/logrotate.conf
默认配置
weekly
rotate 4
create
dateext
子配置文件目录 /etc/logrotate.d/
/tmp/test/test.log {
missingok #丢失不提示
notifempty #空文件不切割
daily #按天切割
create 0777 robin devel #切割后长生新的文件 权限 拥有者 所属组
rotate 7 #保留最近7天日志
dateext #日志扩展名为当天年月日
}
[root@robin ~]# logrotate -f /etc/logrotate.d/test