任何人都知道如何在Mac上启动Syslogd服务器以接受远程日志记录消息?
我启动了Syslogd,但似乎它不接受远程消息.
如果我做一个netstat -an看起来像udp端口514正在侦听.但是,如果我使用nmap从我的笔记本电脑扫描服务器,那么我没有看到udp 514.可能是某个端口被阻塞了.我检查了ipfw,但它看起来不像任何规则.
我见过很多文章说必须指定-r选项.这在Mac上是一样的吗?怎么在Mac上这样做?
Gor*_*son 36
Syslogd应该已经在您的系统上运行; 您需要做的是启用其UDP侦听选项.这是由/System/Library/LaunchDaemons/com.apple.syslogd.plist末尾附近的部分控制的; 删除注释标记,使其看起来像这样:
<!--
Un-comment the following lines to enable the network syslog protocol listener.
-->
<key>NetworkListener</key>
<dict>
<key>SockServiceName</key>
<string>syslog</string>
<key>SockType</key>
<string>dgram</string>
</dict>
</dict>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
然后通过重新启动或运行以下命令重新加载syslogd守护程序:
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
Run Code Online (Sandbox Code Playgroud)
更新:从OS X v10.7开始,Apple将com.apple.syslogd.plist切换为二进制plist格式,该格式不包含相关注释,并且不能以纯文本格式编辑.使用新格式,PlistBuddy似乎是添加侦听器的最简单方法:
cd /System/Library/LaunchDaemons
sudo /usr/libexec/PlistBuddy -c "add :Sockets:NetworkListener dict" com.apple.syslogd.plist
sudo /usr/libexec/PlistBuddy -c "add :Sockets:NetworkListener:SockServiceName string syslog" com.apple.syslogd.plist
sudo /usr/libexec/PlistBuddy -c "add :Sockets:NetworkListener:SockType string dgram" com.apple.syslogd.plist
sudo launchctl unload com.apple.syslogd.plist
sudo launchctl load com.apple.syslogd.plist
Run Code Online (Sandbox Code Playgroud)
有点老了,但是我今天确实必须这样做,并且在寻找一个简单的软件来为我做这件事时,我遇到了这个问题。
我真正想做的就是在短时间内观察一些syslog条目,并查看来自服务器的内容,所以最终我要做的是:
sudo tcpdump -lns 0 -w - udp and port 514 | strings
Run Code Online (Sandbox Code Playgroud)
这将仅在输出上打印出发送到计算机的任何消息,以便您可以显示它。
无论如何,如果您这样做并输出正在传输到服务器的消息,则可以确保它不会被防火墙或中间的任何其他硬件阻止。
| 归档时间: |
|
| 查看次数: |
33723 次 |
| 最近记录: |