rsyslog客户端配置
1、 在CentOS上,rsyslog服务通常已经预先安装了,可以先验证下rsyslog是否已经安装:
rpm -qa | grep rsyslog
2、 如果rsyslog服务没有安装,则需要先行安装服务:
yum install rsyslog
3、 确认rsyslog服务已安装后,需要对其配置文件进行修改
打开位于/etc路径下的rsyslog主配置文件
vim /etc/rsyslog.conf
4、 如果希望将系统上各个设备的日志都传输到远程rsyslog服务器中则只需要在rsyslog配置文件中添加如下内容:
*.* @172.17.0.1:514
其中@表示使用UDP协议传输,如果想通过TCP协议传输可以修改为@@
5、 如果只想要转发指定设备的日志消息,比如说内核设备,可以在rsyslog配置文件中添加如下内容:
kern.* @192.168.1.25:514
6、 如果想要转发自定义的设备日志消息,可以进行如下操作(由于我们是想只将nginx的日志转发到远程rsyslog服务器上,但是在rsyslog中并没有指定nginx的日志消息,所以此次采用的就是自定义日志消息)
添加以下内容:
(1)加载imfile模块实现日志文件定向至rsyslog服务器
module(load="imfile" PollingInterval="5")
(2)指定日志文件路径(路径必须是绝对路径):
$InputFilePersistStateInterval 1 input(type="imfile" File="/var/log/nginx/access.log" //nginx日志路径 Tag="nginx" //定义日志消息标签名 PersistStateInterval="1" reopenOnTruncate="on" Severity="info" //消息级别 Facility="local7") //自定义设备名(local1—local7)
(3)设置将自定义的日志不记录到/var/log/message文件中,不然的话日志量大
在/etc/rsyslog.conf中将
*.info;mail.none;authpriv.none;cron.none; /var/log/messages
修改为:
*.info;mail.none;authpriv.none;cron.none;local7.none /var/log/messages
(4)定向local7备到远程rsyslog服务器
local7.* @@172.17.0.1:514
7、 重启rsyslog服务并设置为开机自启动:
systemctl restart rsyslog systemctl enable rsyslog