【问题标题】:How to enable syslogd to receive UDP logs from routers in OSX如何启用 syslogd 从 OSX 中的路由器接收 UDP 日志
【发布时间】:2009-07-26 21:08:10
【问题描述】:

有时路由器坏了,我想获取路由器日志。

虽然有些路由器有内置的日志查看器,但有些没有。大多数路由器似乎都可以使用 syslog 将日志发送到另一台主机。

如何让 OSX(客户端)接收这些日志? OSX 有一个 syslogd,但说明充其量是不透明的。

也许不同的客户端应用程序会更好,但我更喜欢一种我可以直接破解的方式,而无需通过互联网下载刚刚崩溃的工具......

OSX 本身没有 netcat,否则我会尝试的。

【问题讨论】:

    标签: macos udp router syslog


    【解决方案1】:

    使用可能适用于 OS X 的 syslog-ng,虽然我不确定,但我使用以下 3 行通过我的家庭网络从我的 wifi 路由器到我的日志服务器捕获 syslog 消息:

     source net { udp(); };
    
     destination wifirouter { file("/opt/var/log/wifirouter.log"); };
    
     log { source(net); destination(wifirouter); };
    

    wifi 路由器随后被配置为使用日志服务器的 IP 地址和 wifirouter 标识符。您可以修改源行以仅接受来自某些源 IP 地址。

    【讨论】:

      【解决方案2】:

      所需的“魔法”,以及库存的 Mac OS syslogd,如下所示。

      编辑 syslogd 的启动配置,/System/Library/LaunchDaemons/com.apple.syslogd.plist(您需要是 root,或者使用 'sudo vi' 或您喜欢的其他方法编辑它。)

      (有些版本似乎已经注释掉了必要的部分,但我的一个没有。)

      在以下之后:

       <key>Sockets</key>
       <dict>
       ...
           <key>BSDSystemLogger</key>
           <dict>
           ...
           </dict>
      

      添加或取消注释(删除前导“”行),此部分:

           <key>NetworkListener</key>
           <dict>
                <key>SockServiceName</key>
                <string>syslog</string>
                <key>SockType</key>
                <string>dgram</string>
           </dict>
      

      然后完全重新启动 syslogd(即使用 launchctl,再次以 root 身份)

      sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
      sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
      

      (我认为这个问题/答案可能属于 superuser.com?也许有人可以把它移过来。)

      【讨论】:

      • /System/Library/LaunchDaemons/com.apple.syslogd.plist 不是我机器上的xml文件(osx lion),它似乎是二进制...
      • 您可以使用 plutil 命令在二进制和文本 plist 文件格式之间进行转换。在终端中输入“plutil”并注意“-convert”选项。
      • 添加将二进制 pl 转换为 xml 的正确 plutil 命令是:plutil -convert xml1 /System/Library/LaunchDaemons/com.apple.syslogd.plist
      【解决方案3】:

      仅供参考,二进制 plist 文件可以使用 XCode 套件附带的属性列表编辑器进行编辑,也可以使用 3rd 方编辑器 Text Wrangler。我没有尝试过,但考虑到它与 TextWrangler 的血统,我怀疑 BBEdit 也可以编辑它。

      【讨论】:

      • plutil -convert xml1 /System/Library/LaunchDaemons/com.apple.syslogd.plist 神奇...(无需将其转换回二进制)
      【解决方案4】:

      对于 OS X 10.7 及更高版本,您应该参考这个 StackOverflow answer 来回答这个问题。

      【讨论】:

        猜你喜欢
        • 2021-10-17
        • 2011-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-25
        • 2018-07-09
        • 2013-11-24
        • 1970-01-01
        相关资源
        最近更新 更多