系统日志配置文件:/etc/rsyslog.conf
每一条规则包含两个字段,第一个是信息的各类,第二个是动作,也就是记录的方式
信息的各类又包含了两个信息,一个是信息各类名称 ,二个是严重性,中间以.符号分隔
信息各类:
auth 由 pam_pwdb 报告的认证活动。
authpriv 包括特权信息如用户名在内的认证活动
cron 与 cron 和 at 有关的信息。
daemon 与 inetd 守护进程有关的信息。
kern 内核信息,首先通过 klogd 传递。
lpr 与打印服务有关的信息。
mail 与电子邮件有关的信息
mark syslog 内部功能用于生成时间戳
news 来自新闻服务器的信息
syslog 由 syslog 生成的信息
user 由用户程序生成的信息
uucp 由 uucp 生成的信息
local0----local7 与自定义程序使用,例如使用 local5 做为 ssh 功能
* 通配符代表除了 mark 以外的所有功能
严重性:
emerg 或 panic 该系统不可用
alert 需要立即被修改的条件
crit 阻止某些工具或子系统功能实现的错误条件
err 阻止工具或某些子系统部分功能实现的错误条件
warning 预警信息
notice 具有重要性的普通条件
info 提供信息的消息
debug 不包含函数条件或问题的其他信息
none 没有重要级,通常用于排错
* 所有级别,除了none
记录的方式:
本机文件 ,例如 /var/log/messages
终端, 例如 /dev/pts/0
远程主机 例如 @hostname
*.info;mail.none;authpriv.none;cron.none /var/log/messages
接收所有设备上的info及info级别以上的信息,但是排除mail、authpriv、cron这几个设备发出的,并将信息记录到/var/logmessages这个文件
user.=info /var/log/messages
接收user设备上的info信息,将记录到/var/log/messages这个文件
kern.info;kern.=!err /var/log/kernlog
接收kern发出的info及info以上的信息,但排除err级别的,并将信息记录到kernlog这个文件
mail.*;mail.!err /var/log/maillog接收mail发出的所有信息,但排除err及err级别以上的,并将信息记录到maillog这个文件
mail.* -/var/log/maillog-符号代表不会马上写入文件,而会放在暂存区。
example: 将日志存放到远程主机
主机:192.168.73.173
[root@server002 ~]# vim /etc/rsyslog.conf …… authpriv.* @@192.168.73.111
[root@server002 ~]# /etc/init.d/rsyslog restart
主机:192.168.73.111
[root@bogon ~]# vim /etc/rsyslog.conf …… # Provides UDP syslog reception #$ModLoad imudp.so #$UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp.so $InputTCPServerRun 514
…… ocal7.* /var/log/boot.log authpriv.* /dev/tty1 ……
[root@bogon ~]# /etc/init.d/rsyslog restart
主机:192.168.73.173
[root@server002 ~]# logger -p authpriv.info "From 192.168.73.173 to 192.168.73.111"
[root@server002 ~]#
主机:192.168.73.111 tty1
[root@server002 ~]# Apr 18 19:57:15 server002 user:Form 192.168.73.173 to 192.168.73.111 [root@server002 ~]#