Linux集中日志服务器rsyslog


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

其中包括了日期,日志来源(机器名称),进程名和日志内容。

相关内容