版权声明:转载注明出处,大家一起交流 https://blog.csdn.net/qq_38231051/article/details/81333101
实现把一个主机作为客户端,把日志发送到指定的服务器端:
【服务器端】
开放tcp端口,udp端口:
vim /etc/rsyslog.conf:
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
这里我只开放了udp端口,如果需要开放tcp端口只需把对应两行前面的注释去掉即可。
这两个的区别在于:
udp不是稳定协议,可能存在丢包等现象,如果网络环境不好应选择tcp;
设置指定文件存放某个客户端的日志:
vim /etc/rsyslog.conf;
:fromhost,isequal,"192.168.100.156" /var/log/124.log
:fromhost,isequal,"192.168.100.156" ~
ip为客户端的ip。第一行右边的表示把该ip发送过来的日志存放到124.log文件夹中。
第二行右边的~表示丢弃该ip发送过来的包。因为该文件内容是顺序执行的,所以上面两行就是把该ip日志存放到124.log后就丢弃该数据,防止在多个文件中存放相同的内容。
【客户端】
vim /etc/rsyslog.conf:
*.* @192.168.100.127:514
@表示采用udp传输,如果想用tcp,改为@@就可以。
后面的ip为服务器的ip,端口号默认的514。
前面的*.*表示全匹配,把所有日志发向服务器。这里也可以自己定制指定的日志发送到服务器。
供参考: