运行 OSX 作为系统日志服务器

运行 OSX 作为系统日志服务器

我想在我的笔记本电脑(OSX 10.9)上接收路由器(ASUS RT68U)的日志。它支持 syslog,并且 OSX 有美国手语(显然是 syslog 的超集)。我已按照OS X Lion 作为系统日志服务器但是控制台在 /var/log/network 下没有显示任何内容(尽管目录确实显示)。

我已采取的步骤:

  • 在路由器的管理页面中设置我的笔记本电脑的 IP 以进行系统日志记录。
  • 更新了 syslog plist 来监听网络。
  • 创建要登录的目录 (/var/log/network)。

这是我与说明略有不同的地方,就像 OSX 上 /etc 中的许多内容一样,如果它也有子文件夹结构,你最好在那里添加你的 conf,而不要管主文件夹。所以,

  • 添加了 ASL 会议。我认为问题就在这里。

/etc/asl/asus 路由器

# Asus router logs
? [A= Host router.asus.com] store_directory /var/log/network uid=0 gid=20 mode=0644 format=bsd rotate=seq compress file_max=5M all_max=50M
# I've also tried:
#? [= Host 192.168.1.1] …
#? [A= Host 192.168.1.1] …
#? [= Host router.asus.com] …
#? [= Sender router.asus.com] …
#? [A= Sender router.asus.com] …
#? [= IP router.asus.com] …
#? [A= IP router.asus.com] …
  • 卸载并加载 syslog plist 以获取新的配置。
  • 通过 SSH 登录路由器。这有助于添加日志条目,我得到了以下信息:

通过 ssh 进入路由器

nvram show | grep log_level
size: 50509 bytes (15027 left)
log_level=6

ps | grep syslog
 9358 iain  1488 S    /sbin/syslogd -m 0 -S -O /tmp/syslog.log -s 256 -l 6 -R 192.168.1.140:514 -L

最后,我关闭了防火墙并运行sudo tcpdump udp port 514。我可以看到日志进来,但是即使我重新加载 plist,控制台中也不会显示任何内容。

06:21:38.983497 IP router.asus.com.40420 > iains-air.syslog: SYSLOG authpriv.info, length: 86 

我甚至看过RFC5424看看我是否能找到如何匹配主机名的方法,但 RFC 总是很抽象。我能想到的唯一办法就是编辑 /etc/syslog.conf,但我不知道该怎么做。

任何建议或见解都将受到感激。

答案1

我遇到了同样的问题,需要在 OSX 平台上运行 syslog 服务器来捕获来自网络设备的 syslog 事件。我通过下载并安装以下应用程序“Lan-Secure Mac Syslog Server”解决了这个问题,该应用程序可在以下链接中找到:http://www.lan-secure.com/SyslogServerMac.htm

安装软件非常简单,只需运行安装程序即可,我的 OSX 平台开始收集系统日志事件并将其显示在软件控制台上。我还启用了电子邮件通知功能,这样我就可以立即收到有关关键事件的通知。

相关内容