2014-07-09 207 views
1

我发送系统日志在UDP到远程主机它的工作正常,但是当我发送日志在TCP然后日志不路由到远程主机。 我在FreeBSD8.3上使用系统日志服务器如何发送系统日志通过TCP在系统日志服务器

任何人都可以告诉我如何使用syslog服务器将日志发送到TCP上的远程主机。

在此先感谢。

回答

0

我试图将日志消息发送到侦听tcp端口10514的rsyslog服务器时遇到的一个问题是,它需要最后一个字节为0A或换行符。我发现这个tcpdump网猫,因为这是工作,但套接字连接没有。对于实例以下将无法正常工作(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 =(设施< < 3)+严重性 而local3设施== 19 和严重性ERR = 3

PRI = (19<<3) + 3 
     152 + 3 
     155