2014-04-28 85 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的確是要走的路。