在 AIX 7.2 机器上,我需要将系统日志发送到另一台机器上,并按照指示在 /etc/syslog.conf 文件中添加了我的日志服务器 IP 地址,如下所示:
kern.debug;mail.debug;daemon.debug;syslog.debug;uucp.debug;local0.debug @11.11.11.11
现在我需要将其配置为使用不同的端口,而不是默认的 514/udp 到 601/tcp,所以我去更改了 /etc/services 文件中的此行:
syslog 514/udp #
到
syslog 601/tcp #
即使refresh -s inetd; stopsrc -s syslogd; sleep 2; startsrc -s syslogd
我很确定这只refresh -s syslog
应该足够了,并且通过发出lssrc -s syslogd
syslogd 服务处于非活动状态来观察。
现在我无法调试它,因为我不再生成任何日志,而且我的 errpt 也没有显示任何内容。
如果我切换回 514/udp 端口,syslogd 服务将正确启动。
还尝试在 /etc/syslog.conf 文件中添加端口号,如下所示:
kern.debug;mail.debug;daemon.debug;syslog.debug;uucp.debug;local0.debug @11.11.11.11:601
但即使 syslogd 正在运行,我也看不到传输到日志服务器的日志有任何变化。
我确实看到 /etc/services 文件中列出了 2 个 syslog-conn 服务,它们指向同一个 601,如下所示:
syslog 514/udp #
syslog-conn 601/tcp # Reliable Syslog Service
syslog-conn 601/udp # Reliable Syslog Service
但在 IBM 的文档中找不到与此 syslog-conn 相关的任何内容。
的输出netstat -an | grep 514
是udp 0 0 *.514 *.*
我可以从我的机器上使用端口 601 手动通过 telnet 连接到 11.11.11.11。
那么为什么我仍然无法使用端口 601 启动 syslog 服务,最后,我该怎么做才能将日志接收到 AIX 服务器。
答案1
我认为,AIX 的 syslog 根本不知道如何在 TCP 中工作。这就是它拒绝启动的原因。Linuxsyslogd
中的旧版本也没有实现 TCP 日志记录(请参阅“远程日志记录”部分本手册页)
为了使你的日志堆栈与 TCP 一起工作,你可能必须使用更现代的实现,例如syslog-ng