【转】syslog服务和syslogd守护进程

        syslog机制负责发送、记录系统内核及工具所产生的信息,由syslog()调用、syslogd守护进程和配置文件/etc/syslog.conf组成。当系统内核及工具产生信息时,通过调用syslog(),把信息送往syslogd,syslogd再根据/etc/syslog.conf中的配置要求,将这些信息分别作如下处理:

记录到系统日志中
 输出到系统控制台上
转发给指定的用户
通过网络转发给其他主机上的syslogd

通过syslog.conf的配置,我们可以灵活地对信息的发送和保存进行控制。

        syslogd进程在系统启动时由/etc/rc2.d/S74syslog启动。如果需要手工启动或停止syslogd,可以使用命令

# /etc/init.d/syslog start | stop

         /etc/syslog.conf文件中的一项配置记录由“选项”(selector)和“动作”(action)两个部分组成,两者间用tab制表符进行分隔。而“选项”又由一个或多个形如“类型.级别”格式的保留字段组合而成,各保留字段间用分号分隔。

            保留字段中的“类型”代表信息产生的源头,可以是:

kern     由kernel产生的信息;
user     由用户进程产生的信息。对那些由程序或不在此列出的工具产生的信息,其缺省类型都是“user”;
mail     邮件系统产生的信息;
daemon   系统守护进程的信息,如in.ftpd、telnetd;
auth     由login, su, getty等进行身份认证时产生的信息;
syslog   由syslogd自己内部产生的信息;
lpr      行打印spooling系统的信息;
news     USENET 网络新闻系统的信息;
uucp     UUCP系统信息;
cron     cron和at工具信息;
local0-7 保留为local使用;
mark     syslogd内部产生的时间戳信息;
*        除mark之外的所有其它类型(此符号不可用以代表所有级别)。

         保留字段中的“级别”代表信息的重要性,可以是:

emerg    紧急,处于Panic状态。通常应广播到所有用户;
alert    告警,当前状态必须立即进行纠正。例如,系统数据库崩溃;
crit     关键状态的警告。例如,硬件故障;
err      其它错误;
warning  警告;
notice   注意;非错误状态的报告,但应特别处理;
info     通报信息;
debug    调试程序时的信息;
none     通常调试程序时用,指示带有none级别的类型产生的信息无需送出。如*.debug;mail.none表示调试时除邮件信息外其它信息都送出。

         “动作”域指示信息发送的目的地。可以是: 

/filename   日志文件。由绝对路径指出的文件名,此文件必须事先建立;
@host       远程主机;
user1,user2 指定用户。如果指定用户已登录,那么他们将收到信息;
*           所有用户。所有已登录的用户都将收到信息。

        我们来看看/etc/syslog.conf文件中的实例:

...

*.err;kern.debug;daemon.notice;mail.crit    /var/adm/messages

...

这行中的“action”就是我们常关心的那个/var/adm/messages文件,输出到它的信息源头“selector”是:

*.err           所有的一般错误信息;
kern.debug      核心产生的调试信息;
daemon.notice   守护进程的注意信息;
mail.crit       邮件系统的关键警告信息


 

你可能感兴趣的:(linux,syslog)