Rsyslog日志客户端配置

 

1、  在CentOS上,rsyslog服务通常已经预先安装了,可以先验证下rsyslog是否已经安装:

[root@dnscache ~]# rpm -qa | grep rsyslog

[root@dnscache ~]# rsyslogd –v

 

2、  如果rsyslog服务没有安装,则需要先行安装服务:

# yum install rsyslog

3、  确认rsyslog服务已安装后,需要对其配置文件进行修改

(1)       打开位于/etc路径下的rsyslog主配置文件

# vim /etc/rsyslog.conf

 

(2)       取消如下两行的注释,开启UDP 514接收配置:

$ModLoad imudp

$UDPServerRun 514

(3)       取消如下两行的注释,开启TCP 514接收配置:

$ModLoad imtcp

$InputTCPServerRun 514

 

4、  如果希望将系统上各个设备的日志都传输到远程rsyslog服务器中则只需要在rsyslog配置文件中添加如下内容:

# vim /etc/rsyslog.conf

*.*  @172.28.196.93:514

其中@表示使用UDP协议传输,如果想通过TCP协议传输可以修改为@@

5、  如果只想要转发指定设备的日志消息,比如说内核设备,可以在rsyslog配置文件中添加如下内容:

# vim /etc/rsyslog.conf

kern.* @192.168.1.25:514

6、  如果想要转发自定义的设备日志消息,可以进行如下操作(由于我们是想只将DNS的日志转发到远程rsyslog服务器上,但是在rsyslog中并没有指定dns的日志消息,所以此次采用的就是自定义日志消息)

# vim /etc/rsyslog.conf                     //编辑配置文件

 

添加以下内容:

(1)       加载imfile模块实现日志文件定向至rsyslog服务器

module(load="imfile" PollingInterval="5")

 

(2)       指定日志文件路径(路径必须是绝对路径):

$InputFilePersistStateInterval 1

input(type="imfile"

File="/var/named/data/named.run"        //dns日志路径

Tag="named"                          //定义日志消息标签名

PersistStateInterval="1"

reopenOnTruncate="on"

Severity="info"                        //消息级别

Facility="local1")                      //自定义设备名(local1—local7)

 

注意:dns日志文件可以在/etc/named.conf中看到:

 

(3)       设置将自定义的日志不记录到/var/log/message文件中,不然的话日志量大

在/etc/rsyslog.conf中将

*.info;mail.none;authpriv.none;cron.none;               /var/log/messages

修改为:

*.info;mail.none;authpriv.none;cron.none;local1.none     /var/log/messages     

 

(4)       定向local1备到远程rsyslog服务器

local1.* @@172.28.196.93:514

 

(5)       最后由于本次是需要将DNS日志传输到日志服务器上,那么需要开启DNS日志:

进入dns配置文件

# vim /etc/named.conf             

 

启用DNS日志:

 

重启dns服务并设置为开机自启动:

# systemctl restart named

# systemctl enable named

7、  重启rsyslog服务并设置为开机自启动:

# systemctl restart rsyslog

# systemctl enable rsyslog

原文地址:https://www.cnblogs.com/lanqing/p/14721196.html