我正在尝试使用logger将事件发送到远程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中.但是,我无法让logger从Ubuntu 12.04客户端发送任何内容,即使该操作系统上的记录器有一个用于指定远程服务器的特殊开关.我尝试了很多命令行的变种:
logger -n <ip> Message logger -n <ip> -d -P 514 Message etc
即使离开客户端服务器,tcpdump也没有显示这些努力.它们根本就不会发生.
我正在从sudo su shell运行logger.有趣的是,当我只是使用记录器向本地syslog发送消息时,它似乎从我的帐户记录它,但是当我发送远程时,它将记录为记录器.这可能是正常的,但我将其包含在内以供细节使用.
我真的希望我遗漏一些明显像我没有安装的依赖包这样的东西,但我还没有发现它.如果不是这样,有没有人有任何想法我怎么能让这个工作?
此错误已在logger(1)的2.24.2-1版中修复.
记录器-n< ip> -d -P 514 -u / tmp / ignored消息
这对我有用,在Ubuntu 14.04上使用来自util-linux 2.20.1的logger.