我已经将远程选项添加到/ 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 port 514截获传入的syslog;
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
在我有syslogger机器的顶部;
# Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console *.* /var/log/remote.log
并且该文件已被创build,并且其中有本地条目。
任何build议,我在做什么错?
编辑:它似乎停止防火墙允许消息通过,所以我明显有一些怪异的iptablesconfiguration,阻止这些消息;
我不清楚你是否在所有的客户端上configuration了系统日志。 您的tcpdump似乎显示入站系统日志stream量,但是您可能需要检查是否只是看到来自一个远程系统日志客户端的stream量。 确保每台客户机上都configuration了Syslogd。 你需要添加一个如下所示的行,其中syslog.example.org
是你的系统日志服务器:
# Log all messages to central syslog server *.* @syslog.example.org
要validation这是否正常工作,请使用logging器(1)实用程序。 我在一个窗口中的所有机器上运行这样的命令,通常for HOST in ALLOFMYHOSTS; do ssh $HOST 'logger'....
循环for HOST in ALLOFMYHOSTS; do ssh $HOST 'logger'....
for HOST in ALLOFMYHOSTS; do ssh $HOST 'logger'....
logger -t stefantest stefantest1
然后在连接到系统日志的单独窗口中,执行tail -f /var/log/YOURLOGFILE |grep stefantest
。 这将确认系统日志本身是否从每个主机工作。 然后,从那里出发。