我已经在Server Fault上发布了这个问题,并且它被评为一项值得尊敬的问题,但是很遗憾,至今没有得到回答,所以我想在这里发布一下,因为这个论坛似乎非常活跃。如果有其他建议的网站可以帮助我,我也会感激。
我正在尝试使用记录器将事件发送到远程syslog服务器。syslog服务器是运行默认rsyslogd的Ubuntu 12.04。"客户端"服务器分别是Ubuntu 12.04和SLES11SP1。在SLES11上,我可以成功地将事件发送到syslog服务器。Tcpdump显示它们从SLES客户端成功发送:
CEIDMLDAP-LS02:~ # tcpdump udp -n dst portrange 514
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
11:07:58.865116 IP 10.192.0.108.34249 > 10.192.3.104.514: SYSLOG user.notice, length: 59
11:09:07.921309 IP 10.192.0.108.34249 > 10.192.3.104.514: SYSLOG user.notice, length: 77
在 Ubuntu 系统的 syslog 服务器上,使用 tcpdump 命令可以显示接收到的日志信息,并且它们也会出现在 /var/log/messages 文件中。然而,尽管 Ubuntu 12.04 客户端的 logger 工具有一个特殊的选项指定远程服务器,但我无法从该客户端发送任何东西。已尝试多种命令行的变化:
logger -n <ip> Message
logger -n <ip> -d -P 514 Message
etc
tcpdump 没有显示任何这些尝试,即使从客户端和服务器离开,它们似乎根本没有发生。
我正在从sudo su shell运行logger。有趣的是,当我简单地使用logger将消息发送到本地syslog时,它似乎记录为来自我的帐户,但当我发送远程消息时,它记录为来自logger。这可能是正常的,但我提供细节。
我真的希望我错过了一些明显的东西,比如我没有安装的依赖包,但我还没有能够发现它。如果没有,有人有什么想法可以让我解决这个问题吗?