狮子的雄心,骆驼的耐力,孩子的执著!
分类: LINUX
2009-12-20 15:33:28
只须稍加配置,就可以用syslog实现一个中央日志服务器。任何一台运行syslog守护进程的服务器都可以被配置成接受来自另一台机器的消息,但这个选项在默认情况下是禁用的。在后面的讨论里,如无特别说明,有关步骤将适用于包括SUSE和RedHat在内的大多数Linux发行版本。我们先来看看如何激活一个syslog服务器接受外来的日志消息:
1. 编辑/etc/sysconfig/syslog文件。
在“SYSLOGD_OPTIONS”行上加“-r”选项以允许接受外来日志消息。如果因为关于其他机器的DNS记录项不够齐全或其他原因不想让中央日志服务器解析其他机器的FQDN,还可以加上“-x”选项。此外,你或许还想把默认的时间戳标记消息(--MARK--)出现频率改成比较有实际意义的数值,比如240,表示每隔240分钟(每天6次)在日志文件里增加一行时间戳消息。日志文件里的“--MARK--”消息可以让你知道中央日志服务器上的syslog守护进程没有停工偷懒。按照上面这些解释写出来的配置行应该是如下所示的样子:
SYSLOGD_OPTIONS="-r-x-m240"
2.重新启动syslog守护进程。修改只有在syslog守护进程重新启动后才会生效。如果你只想重新启动syslog守护进程而不是整个系统,在RedHat机器上,执行以下两条命令之一:
/etc/rc.d/init.d/syslogstop;/etc/rc.d/init.d/syslogstart
/etc/rc.d/init.d/syslogrestart
3.如果这台机器上运行着iptables防火墙或TCPWrappers,请确保在UDP协议内允许514号端口上的连接通过,syslog守护进程要用到514号端口。
4为中央日志服务器配置各客户机器
让客户机把日志消息在本地保存同时发往一个中央日志服务器并不困难。编辑客户机上的/etc/syslog.conf文件,在有关配置上增加一行操作动作部分用一个“@”字符指向中央日志服务器,如下所示:
authpriv.* /var/log/secure
authpriv.* @192.168.1.40
另一种办法是在DNS里定义一个名为“loghost”的机器,然后对客户机的syslog配置文件做如下修改(这个办法的好处是:当你把中央日志服务器换成另一台机器时,不用再修改每一个客户机上的syslog配置文件):
authpriv.* /var/log/secure
authpriv.* @loghost
接下来,重新启动客户机上的syslog守护进程让修改生效。让客户机在往中央日志服务器发送日志消息的同时继续在本地进行日志工作仍有必要,起码在调试客户机的时候不必到中央日志服务器查日志,在中央日志服务器出问题的时候还可以帮助调试。
总结:日志系统承担着整个信息基础设施中感觉器官的作用,一个完善的、工作良好的体系需要在正确的地点部署日志采集工具。
延伸阅读--下一代系统日志工具(syslog-ng):
http://blog.chinaunix.net/u/12973/showart_418063.html