syslog服务和syslogd守护进程
来源:岁月联盟
时间:2012-02-20
记录到系统日志中
输出到系统控制台上
转发给指定的用户
通过网络转发给其他主机上的syslogd
通过syslog.conf的配置,我们可以灵活地对信息的发送和保存进行控制。
syslogd进程在系统启动时由/etc/rc2.d/S74syslog启动。如果需要手工启动或停止syslogd,可以使用命令
1
# /etc/init.d/syslog start | stop
/etc/syslog.conf文件中的一项配置记录由“选项”(selector)和“动作”(action)两个部分组成,两者间用tab制表符进行分隔。而“选项”又由一个或多个形如“类型.级别”格式的保留字段组合而成,各保留字段间用分号分隔。
保留字段中的“类型”代表信息产生的源头,可以是:
01
kern 由kernel产生的信息;
02
user 由用户进程产生的信息。对那些由程序或不在此列出的工具产生的信息,其缺省类型都是“user”;
03
mail 邮件系统产生的信息;
04
daemon 系统守护进程的信息,如in.ftpd、telnetd;
05
auth 由login, su, getty等进行身份认证时产生的信息;
06
syslog 由syslogd自己内部产生的信息;
07
lpr 行打印spooling系统的信息;
08
news USENET 网络新闻系统的信息;
09
uucp UUCP系统信息;
10
cron cron和at工具信息;
11
local0-7 保留为local使用;
12
mark syslogd内部产生的时间戳信息;
13
* 除mark之外的所有其它类型(此符号不可用以代表所有级别)。
保留字段中的“级别”代表信息的重要性,可以是:
1
emerg 紧急,处于Panic状态。通常应广播到所有用户;
2
alert 告警,当前状态必须立即进行纠正。例如,系统数据库崩溃;
3
crit 关键状态的警告。例如,硬件故障;
4
err 其它错误;
5
warning 警告;
6
notice 注意;非错误状态的报告,但应特别处理;
7
info 通报信息;
8
debug 调试程序时的信息;
9
none 通常调试程序时用,指示带有none级别的类型产生的信息无需送出。如*.debug;mail.none表示调试时除邮件信息外其它信息都送出。
“动作”域指示信息发送的目的地。可以是:
1
/filename 日志文件。由绝对路径指出的文件名,此文件必须事先建立;
2
@host 远程主机;
3
user1,user2 指定用户。如果指定用户已登录,那么他们将收到信息;
4
* 所有用户。所有已登录的用户都将收到信息。
我们来看看/etc/syslog.conf文件中的实例:
1
...
2
3
*.err;kern.debug;daemon.notice;mail.crit /var/adm/messages
4
5
...
这行中的“action”就是我们常关心的那个/var/adm/messages文件,输出到它的信息源头“selector”是:
1
*.err 所有的一般错误信息;
2
kern.debug 核心产生的调试信息;
3
daemon.notice 守护进程的注意信息;
4
mail.crit 邮件系统的关键警告信息