【问题标题】:How to send syslog over TCP in syslog server如何在 syslog 服务器中通过 TCP 发送 syslog
【发布时间】:2014-07-09 12:10:43
【问题描述】:

我正在将 UDP 上的 syslog 发送到 remotehost,它工作正常,但是当我在 tcp 上发送日志时,日志没有路由到远程主机。 我在 FreeBSD8.3 上使用 syslog 服务器

谁能告诉我如何使用 syslog 服务器通过 TCP 将日志发送到远程主机。

提前致谢。

【问题讨论】:

    标签: syslog


    【解决方案1】:

    我在尝试将日志消息发送到侦听 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 = (facility

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      相关资源
      最近更新 更多