I have two systems. One is a laptop and has rsyslog. The other is embedded system that doesn't have rsyslog. What I'd like to do is log messages from the embedded system on the laptop.
I've configured the laptop /etc/rsyslog.conf
to listen on TCP port 10514:
netstat -nlp | grep 10514
tcp 0 0 0.0.0.0:10514 0.0.0.0:* LISTEN 30280/rsyslogd
tcp 0 0 :::10514 :::* LISTEN 30280/rsyslogd
On the embedded system I'm sending, a test message with netcat:
[172.17.0.33: ]# echo "Test Message 1" | nc -w2 -p 10514 172.17.0.16
nc: can't connect to remote host (172.17.0.16): Connection refused
Is rsyslog expecting anything special in the packet? Does it require both systems to have rsyslog? Any other reason I'd get "Connection refused"?
Did you open inbound TCP port 10514 in the rsyslog server's firewall? You have to do that if you want to receive incoming connections.
Shouldn't your
nc
command specify the destination port rather than the source port (-p). It seems you need to execute the command as below: