我的中央系统日志服务器似乎丢弃了远程消息

我的中央系统日志服务器似乎丢弃了远程消息

我已将远程选项添加到 /etc/sysconfig/syslog SYSLOGD_OPTIONS="-m0 -r " 并重新启动,它肯定在监听 syslog 端口;

# netstat -lnu | grep 514
udp        0      0 0.0.0.0:514                 0.0.0.0:*  

我甚至可以使用 tcpdump dst 端口 514 拦截传入的系统日志;

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
19:57:34.626128 IP 07701.com.syslog > i1106.com.syslog: SYSLOG user.critical, length: 75
19:57:56.254679 IP 07701.com.syslog > i1106.com.syslog: SYSLOG local5.critical, length: 76

但是系统日志警报永远不会进入日志文件 tail -f /var/log/message /var/log/remote

在我的系统记录器机器的顶部;

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console
*.*                                     /var/log/remote.log

该文件已创建且其中包含本地条目。

对于我做错的事情有什么建议吗?

编辑:看来停止防火墙可以让消息通过,所以显然 iptables 配置有些奇怪,阻止了这些消息;

答案1

我不清楚您是否在所有客户端上配置了 syslog。您的 tcpdump 似乎显示了入站 syslog 流量,但您可能需要检查您是否只看到来自一个远程 syslog 客户端的流量。确保在每台客户端计算机上也配置了 Syslogd。您需要添加一行,如下所示,syslog.example.org您的 syslog 服务器在哪里:

# Log all messages to central syslog server
*.*     @syslog.example.org

要验证此功能是否正常工作,请使用记录器(1)实用程序。我在一个窗口中在所有机器上运行这样的命令,通常是像 这样的循环for HOST in ALLOFMYHOSTS; do ssh $HOST 'logger'....

logger -t stefantest stefantest1

然后在连接到 syslog 的单独窗口中,我执行tail -f /var/log/YOURLOGFILE |grep stefantest。这将确认 syslog 本身是否在每个主机上都正常工作。然后,从那里开始。

相关内容