CentOS Syslog 兼容其他系统的实践指南
一 总体思路与网络协议
二 在 CentOS 上启用接收与转发
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
*.* @192.0.2.10:514
sudo firewall-cmd --permanent --add-port=514/udp
sudo firewall-cmd --permanent --add-port=514/tcp
sudo firewall-cmd --reload
logger "This is a test from $(hostname)"
tail -f /var/log/messages
以上步骤覆盖服务端接收与转发的核心配置与验证方法。
三 客户端与多系统对接要点
*.* @syslog.example.com:514 # UDP
*.* @@syslog.example.com:514 # TCP
evtsys.exe -i -s 5 -h 192.0.2.10
net start evtsys
logging host 192.0.2.10 transport udp port 514
logging facility local7
logging trap informational
module(load="imfile")
input(type="imfile"
File="/var/log/myapp.log"
Tag="myapp"
StateFile="stat-myapp"
Severity="info"
Facility="local0")
local0.* @@192.0.2.10:514
以上覆盖 Linux、Windows 与网络设备的常见对接方式,以及文件日志的采集转发。
四 兼容性与格式处理
$template RemoteLogs,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
& ~
$template IpTemplate,"/var/log/remote/%FROMHOST-IP%.log"
*.* ?IpTemplate
& ~
authpriv.* /var/log/auth.log
*.info;mail.none;authpriv.none;cron.none /var/log/messages