2014-04-28 65 views
1

我已经在我的Mavericks服务器上启用了日志记录,并且所有内容都正在写入system.log。OSX Mavrick系统日志 - >新的日志文件

我已经把我的MAC系统日志服务器作为我的网络路由器的远程日志服务器,这是工作的罚款,但一切都被写入到SYSTEM.LOG,理想情况下,我想它去的/ var/log/router.log

我已经创建了router.log,并设置了所有权和权限,但是如何仅将路由器日志发送到该日志文件?

日志类似于这样:

Mon Apr 28 08:48:10 2014: <12>Apr 28 08:48:00 kernel: DROP IN=ppp0 OUT= MAC= SRC=203.58.25.11 DST=80.xxx.xx.xx LEN=131 TOS=0x00 PREC=0xA0 TTL=107 ID=96 PROTO=UDP SPT=29604 DPT=50976 LEN=111 

Mon Apr 28 08:48:12 2014: <12>Apr 28 08:48:01 kernel: DROP IN=ppp0 OUT= MAC= SRC=88.195.144.252 DST=80.xxx.xx.xx LEN=52 TOS=0x00 PREC=0xA0 TTL=114 ID=17397 DF PROTO=TCP SPT=63285 DPT=50976 SEQ=294340858 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402) 

Mon Apr 28 08:48:12 2014: <12>Apr 28 08:48:01 kernel: DROP IN=ppp0 OUT= MAC= SRC=113.201.73.109 DST=80.xxx.xx.xx LEN=126 TOS=0x00 PREC=0x20 TTL=45 ID=10052 PROTO=UDP SPT=34680 DPT=50976 LEN=106 

但也有像其他条目:

Mon Apr 28 09:08:48 2014: <30>Apr 28 09:08:37 dnsmasq-dhcp[228]: DHCPDISCOVER(br0) aa:ad:bb:11:cc:dd 
Mon Apr 28 08:59:15 2014: <30>Apr 28 08:59:05 pptpd[1773]: CTRL: Starting call (launching pppd, opening GRE) 
Mon Apr 28 08:59:15 2014: <30>Apr 28 08:59:05 pptp[1774]: Plugin pptp.so loaded. 

日志不显示路由器的名称或IP地址,所以是智能系统日志足以让我从特定的IP地址登录或者有其他方法。 ?

我读过我应该使用asl.conf,但我不知道要配置什么来使其正确工作。

任何帮助或建议将:-)受到欢迎

感谢

跟进

我看着原始日志输出到找到主人,我已经添加了以下我的asl.conf:

? [A= Host kernel:] file /var/log/router.log file_max=5M all_max=50M 
? [A= Host kernel:] ignore 


? [A= Host pptp] file /var/log/router.log file_max=5M all_max=50M 
? [A= Host pptp:] ignore 


? [A= Host pptpd] file /var/log/router.log file_max=5M all_max=50M 
? [A= Host pptpd:] ignore 

重新启动com.apple.syslogd.plist,现在日志将要路由r.log。

几个问题。 日志仍然会去system.log,我该如何阻止?我假设忽略会做..

日志显示为:

Apr 29 12:41:12 kernel: Unknown <Warning>: DROP IN=ppp0 OUT= MAC= SRC=110.200.88.19 DST=80.xxx.xxx.xxx LEN=129 TOS=0x00 PREC=0xA0 TTL=40 ID=5080 PROTO=UDP SPT=20884 DPT=50976 LEN=109 

此前有没有在日志中。无论如何删除?

感谢

+0

这对我在自己的Tomato路由器上设置日志记录很有用,所以谢谢!我的日志在system.log中被忽略 - 确保你把规则放在/etc/asl.conf的*顶部 – Patrick

回答

1

第二和第三忽略从你的后续规则不工作,因为你用前缀匹配A=)与错误的前缀(PPTP:PPTPD:)。从末端去除结肠应该修复它们。

这些是你的榜样实际的完整主机名:

kernel: 
pptp[1774]: 
pptpd[1773]: 

因此,你可以使用这样的精确匹配=):

> router.log file_max=5M all_max=50M  
? [= Host kernel:] file router.log 
? [= Host pptp\[1774\]:] file router.log 
? [= Host pptpd\[1773\]:] file router.log 

请注意,您可以指定有关日志文件(router.log)的详细信息一开始只有一次,并且只要希望文件处于缺省状态,就不需要提供绝对路径(/var/log/router.log)放置(/ var/log /)
此外,因为我使用了主机完全匹配,所以我必须给出确切的名称,其中2个包含方括号(pptp [1774]:和pptp [1774] :),必须用'\ “

或者,您可以在后续使用前缀匹配A=)一样,合并的最后2个规则:

> router.log file_max=5M all_max=50M  
? [= Host kernel:] file router.log 
? [A= Host pptp] file router.log 

,后,您可以添加无视规则它们是相同的,但作为一个动作有'忽略':

? [= Host kernel:] ignore 
? [A= Host pptp] ignore 

从你给它看起来像你应该考虑到另一台主机的例子(的dnsmasq-DHCP [228] :)从你的路由器产生的日志:

? [A= Host dnsmasq-dhcp] file router.log 

您也可以申请

syslog -F raw -k Host kernel:  # print raw logs from Host 'kernel:' 
syslog -F raw -k Host pptp[1774]: # print raw logs from Host 'pptp[1774]:' 

还有一个THI:直接确认系统日志工具过滤器更值得一提的是,一些规则也可以在/etc/syslog.conf中定义,但是在OSX中,只能通过'Facility'和'Level'进行过滤,缺少例如FreeBSD中存在的'Host'和'Process'的额外选项。在这种情况下,/etc/asl.conf的确是要走的路。