Verify that if you have an IP route configured to the source address of the packets, that it points to the interface on which the packets arrive. The network stack can ignore packets that arrive on another interface.
First @Christian_Dahlqvist, the entries are delimited by newlines, I did check.
And @Badger, I'm sure there is an IP route back.
So to test, I enabled tcp receive on rsyslog, then set rsyslog to write all received logs to a file. This worked, all logs sent were written to the file. Then I went back to LS and tried again. I added
file {
path => "/opt/testfolder/test.txt"
}
to the conf file and fired LS again. In a separate window I ran 'netstat -lnatpec' and watched to see if a: LS was listening on the assigned port (it was) and b: if a connection was established (again, it did).
But nothing written to the screen and nothing written to the file.
LS was running in debug mode so I checked the log and saw lots of this:
So I figured it out and, yup, a little bit of pebkac. Turns out the NGFW between the two devices was only partially open. The two rules that created the confusion were
allow DHCP traffic out on any any (wha??? I didn't put that there)
syslog traffic to the specific LS server
So that's why I always saw traffic getting to the LS server, it used the DHCP rule. But the NGFW allowed some things through but not others that it didn't think were DHCP based on the protocols it saw. On top of that, it didn't log any traffic as being denied so there were no red flags indicating what could be wrong.
So when I fixed the rules to exactly allow the traffic I wanted, things worked.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.