我发送UDP上的syslog到remotehost工作正常但是当我发送登录tcp时,日志没有路由到远程主机。 我在FreeBSD8.3上使用syslog服务器
任何人都可以告诉我如何使用syslog服务器在TCP上向远程主机发送日志。
提前致谢。
答案 0 :(得分:0)
我尝试将日志消息发送到侦听tcp端口10514的rsyslog服务器时遇到的一个问题是它需要最后一个0A的字节或换行符。我发现这个tcpdumping网络猫正在工作,但套接字连接没有。例如,以下内容不起作用(155代表local3 + err级别):
import socket
syslogSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
syslogSocket.connect(('127.0.0.1', 10514))
syslogSocket.send('<155>TEST FROM PYTOHON\000')
syslogSocket.close()
但这会奏效:
import socket
syslogSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
syslogSocket.connect(('127.0.0.1', 10514))
syslogSocket.send('<155>TEST FROM PYTOHON\n')
syslogSocket.close()
要获得155,请查看以下页面: http://linux.byexamples.com/archives/412/syslog-sending-log-from-remote-servers-to-syslog-daemon/
由于PRI =(设施&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&gt 而local3设施== 19 严重性错误= 3
PRI = (19<<3) + 3
152 + 3
155