rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到一台可以路由到的远程syslog服务器上
假定你的网络中已经有一台已经配置好并启动的syslog服务器,结合下面简单的拓扑图,下面将演示如何来设置CentOS系统将其内部日志消息发送到一台远程syslog服务器上
1、CentOS系统IP:192.168.31.33作为Rsyslog客户端
2、Win7系统192.168.31.5安装Kiwi Syslog服务端作为syslog日志服务器
具体操作步骤如下:
1、192.168.31.5 Win7机器上安装Kiwi Syslog 服务端软件
2、安装完成后,setup设置并开启一个立即开始的Schedule监听计划,保存配置后,重启开启Kiwi Syslog Daemon程序
3、CentOS系统默认预先安装了rsyslog服务
[root@CentOS_DIY ~]# rpm -aq | grep rsyslog
rsyslog-5.8.10-10.el6_6.x86_64
4、编辑vi /etc/rsyslog.conf
[root@CentOS_DIY ~]# cp /etc/rsyslog.conf /etc/rsyslog.conf_default
[root@CentOS_DIY ~]# vi /etc/rsyslog.conf
最后一行写入*.* @192.168.31.5:514 ###syslog服务器的IP,以及UDP接收端口514
5、测试验证重启CentOS系统的rsyslog服务 service rsyslog restart可以看到Kiwi Syslog 程序上已经收到日志内容
[root@CentOS_DIY ~]# service rsyslog restart
同样比如重启CentOS系统的sshd服务,可以看到Kiwi Syslog 程序上收到相关的日志内容
Tips:
1、查看man rsyslog.conf帮助手册
可以看到*.* @192.168.0.1为UDP传输 (上面本次演示的就是UDP传输方式)
你需要更为可靠的协议,如TCP,而syslog服务器也被配置为监听TCP连接,你必须在远程主机的IP地址前添加一个额外的@字符,如下所示
*.* @@192.168.0.1:1468 TCP传输 端口1468
1)Kiwi syslog服务器被配置为监听TCP连接 监听端口1468
2)编辑vi /etc/rsyslog.conf 修改为*.* @@192.168.31.5:1468
service rsyslog restart重启rsyslog服务后,验证测试OK
2、必须保持日志发送端和日志服务器之间网络+端口能正常通信,若无法正常通信,检查两端网络问题及防火墙配置
Linux测试远程服务器TCP及UDP端口是否开放可以用nc命令
可参考之前的文章:如何探测UDP端口是否开放
[root@CentOS_DIY ~]# nc -zv 192.168.31.5 1468
Connection to 192.168.31.5 1468 port [tcp/csdm] succeeded!
[root@CentOS_DIY ~]# nc -zvu 192.168.31.5 514
Connection to 192.168.31.5 514 port [udp/syslog] succeeded!
本文参考https://linux.cn/article-4835-1.html完成