日志服务

安装软件: 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