Linux上通常可以通过rsyslog来实现系统日志的集中管理,这种情况下通常会有一个日志服务器,然后每个机器配置自己日志通过rsyslog来写到远程的日志服务器上。
这里假定有两台服务器,一台作为系统日志的服务器(比如机器名logmaster),另一台作为日志的客户端(比如机器名logclient)
日志服务器配置
首先修改log master机器上的/etc/rsyslog.conf文件,将其中下面四行的注释取消
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
然后重新启动rsyslogd服务
$ sudo /etc/init.d/rsyslog restart
日志客户端配置
修改log node机器上的/etc/rsyslog.conf文件
在最后加上如下行,目的是让Linux写日志的同时写一份到远端的log mater机器上
*.* @logmaster
然后重新启动rsyslogd服务
$ sudo /etc/init.d/rsyslog restart
测试
在Linxu上可以使用logger命令来写入一条系统日志,比如
$ logger 'hello world'
然后查看log master机器上的/var/log/messages文件,可以看到类似下面的内容
Jun 28 14:58:16 logclient root: hello world
其中包括了日期,日志来源(机器名称),进程名和日志内容。
--------------------------------------分割线 --------------------------------------
CentOS上配置rsyslog客户端用以远程记录日志
CentOS 6.3下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
使用rsyslog mysql 和logAnalyzer 的日志服务器
RHEL5.4部署中央日志服务器之rsyslog+loganalyzer
--------------------------------------分割线 --------------------------------------