syslogd守护进程根据/etc/syslog.conf中的配置信息实现消息转发和处理。下面是该配置文件的具体信息: # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console# Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages# The authpriv file has restricted access. authpriv.* /var/log/secure# Log all the mail messages in one place. mail.* -/var/log/maillog # Log cron stuff cron.* /var/log/cron# Everybody gets emergency messages *.emerg *# Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler# Save boot messages also to boot.log local7.* /var/log/boot.log 在syslog.conf文件中以#开头的是注释行,配置行的语法格式为:[消息类型][TAB分隔符][处理方案]。 1.消息类型 消息类型包括facility和level两个部分,这两个部分以"."隔开,如: mail.* -/var/log/maillog 表示facility为mail,而level是所有级别。处理方案是将消息记录在/var/log/maillog日志文件中。表8.2所示为facility可以使用的字段。 表8.2 facility字段 facility取值 值 说 明 kern 0 内核日志信息 user 1 用户日志信息 2 邮件系统日志信息 daemon 3 系统守护进程日志信息 auth 4 安全管理日志信息 syslog 5 syslogd守护进程的日志信息 lpr 6 打印服务日志信息 news 7 新闻组服务日志信息 uucp 8 uucp系统日志信息 cron 9 守护进程cron的日志信息 authpriv 10 私有的安全管理日志信息 ftp 11 ftp守护进程 12~15 系统保留 local0~local7 16~23 保留给系统本地使用 level给出的级别代表着信息的重要性,表8.3所示为level中的级别信息。 表8.3 level字段 level取值 值 说 明 emerg 0 系统不可用,出现这一情况的话,应该通知所有用户,因为这表示系统出现了严重的问题 alert 1 警告事件,必须立即采取行动纠正的事件 crit 2 关键事件,例如硬件出现故障 err 3 其他错误事件 warning 4 警告事件 notice 5 应该注意的事件,需要特别处理 info 6 通报信息 debug 7 调试程序时产生的信息 在syslog.conf中,可以使用*表示任何facility和任意的level。通过指定facility和level的取值,可以使facility在大于或等于该优先级的时候才记录相关日志信息。对于level,还可以使用none参数,表示不包含任何优先级别。例如,*.*表示任何facility的任何优先级的信息。*.emerg表示任何facility的大于或高于emerg优先级的信息。 2.处理方案 处理方案中指定的字段可以为如下的内容。 普通文件:使用文件的绝对路径来指明日志文件所在位置。 管道文件:在syslogd中支持使用管道文件(FIFO),在管道文件路径名前加"|",表示将所得信息写入管道中。 终端设备:通过将信息写入/dev/console中,可以在终端显示相关信息。 其他主机:syslogd支持将信息发往网络中的其他主机的syslogd守护进程,以实现集中管理,格式为"@hostname"。 用户列表:syslogd守护进程支持将日志信息发给某些指定的用户。 所有登录用户:可以用*表示所有登录的用户。在获得日志信息时,syslogd守护进程会自动将信息发送给登录用户。 下面选取前面给出的syslog.conf中的一条配置来解释其意义。具体配置如下: cron.* /var/log/cron 配置中的facility为cron,表示记录守护进程cron的信息。level为*,表示记录所有优先级别的信息,并将日志信息记录到/var/log/cron文件中。在Linux系统 中,往往把各种日志文件保存在/var/log目录中。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://file:///C:/Documents and Settings/jyhao/桌面/tcpip/8_3_2 syslogd守护进程配置文件说明 - 51CTO_COM.files/1117560.jpg');}" onmousewheel="return imgzoom(this);" alt="" /> (点击查看大图)图8.5 日志文件保证目录 在syslog.conf文件中,这些级别指定了最低程度的重要性,只有重要性大于(包括)它的消息才会被记录下来。例如,来自电子邮件系统的一条警告级消息和mail.warning匹配,也同样和mail.notice、mail.info、mail.debug、*.warning、*.notice、*.info和*.debug匹配。如果syslog.conf文件指定了mail.info消息应该被记录到某个日志文件中,那么mail.warning消息也将被记录到该文件中。 Linux版的syslog对基本语法做了改进,它也允许在优先级前面加上字符=和!,分别表示“仅此优先级”和“除此优先级及其以上级别”的意思。表10.5给出了一些例子。 表10.5 在syslog.conf中限定优先级的例子 选 择 符 含 义 mail.info 选择与邮件相关的、优先级为info或者更高的消息 mail.=info 只选择优先级为info的消息 mail.info;mail.!err 只选择优先级为info、notice和warning的消息 mail.debug;mail.!=warning 选择除warning之外的所有优先级 action字段说明如何处理一则消息。表10.6列出了可以选择的处理方法。 表10.6 syslog的动作 动作(Action) 含 义 filename 把消息写入本地机器上的一个文件里 @hostname 把消息转发给主机hostname上的syslogd @ipaddress 把消息转发给IP地址为ipaddress的主机 | fifoname 把消息写入有名管道fifonamea user1,user2,… 如果用户登录到了系统上,那么就把消息写在用户的屏幕上 * 把消息写给目前已经登录的所有用户 a. 参考info mkfifo了解更多的信息。 如果采取了filename(或者fifoname)这样的动作,那么文件名应该用绝对路径。如果您指定了一个不存在的文件名,那么在首次有消息送到这个文件的时候,syslod会创建它。您可以在filename动作之前加一个短划线“-”,表示在写完每条日志记录项后,不应该对文件系统执行sync。执行sync有助于在发生崩溃的时候尽可能多地保留日志信息,但是从磁盘吞吐上来看,代价又太大。 如果用的是hostname而不是IP地址,那么主机名必须能通过DNS或者NIS这样的转换机制解析出来。 虽然一个selector可以包含多个设备(facility)和级别,但是却不能提供多个动作。为了把一则消息发送到两个地方(比如,到本地文件和到中央日志主机),您可以在配置文件中包含具有相同Selector的两行。 因为syslog消息能够用来实施拒绝服务攻击,所以除非syslogd以-r标志启动,否则它不会接受来自其他机器的日志消息。默认情况下,syslogd也会拒绝充当第三方消息转发器,从一台网络主机来的消息不会再被发给另一台网络主机。使用-h标志能够取消这一功能。(如果您想让这些选项始终都被启用,那么对于RHEL和Fedora,可以在脚本/etc/rc.d/init.d/syslog中加上这些标志,对于Debian和Ubuntu,可以在脚本/etc/init.d/sysklogd里加上这些标志。) |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 19:17 , Processed in 0.338762 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.