I'm trying to use logger to send events to a remote syslog server. The syslog server is Ubuntu 12.04 running the default rsyslogd. The "client" servers are both Ubuntu 12.04 and SLES11SP1. On SLES11, I can send events to the syslog server successfully. Tcpdump shows them successfully being sent from the SLES client:
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
On the Ubuntu syslog server tcpdump also shows them being received and they show up in /var/log/messages there. However, I can't get logger to send anything from the Ubuntu 12.04 clients even though logger on that OS has a special switch for designating the remote server. I've tried many variations of the command line:
logger -n <ip> Message logger -n <ip> -d -P 514 Message etc
None of these efforts are shown by tcpdump as even leaving the client server. They simply never seem to happen at all.
I'm running logger from a sudo su shell. Interestingly when I simply use logger to send a message to the local syslog, it seems to record it as from my account, but when I send remote, it records it as from logger. This may be normal, but I include it for detail.
I'm really hoping that I'm missing something obvious like a dependent package that I haven't installed, but I haven't been able to discover it yet. If not that, does anyone have any ideas how I could get this working?