無論是Unix、Linux、FreeBSD、Ubuntu,還是路由器、交換器,都會產生大量的日誌,而這些,一般會以syslog的形式存在。在RFC 3164中定義了syslog是一種日誌協議,syslog資料包的大小為1024位元組,包含Facility, Severity, Hostname, Timestamp和Message資訊。syslog伺服器預設使用UDP 514號連接埠。簡單的說,syslog可以告訴管理員:誰(Facility),什麼時間(Timestamp),什麼地方(Hostname)做了什麼事情(Message),以及這個事情的重要性(Severity)。
Syslog中的Facility就是誰,它可以是作業系統的核心,郵件服務,Web伺服器,印表機等等。RFC 3164 定義用數字來表示不同的Facility,其中16-18可為自訂的(比如Cisco就用local4發送PIX防火牆的syslog,用local7發送3000VPN集中器的syslog),具體如下:
Integer Facility
0 Kernel messages
1 User-level messages
2 Mail system
3 System daemons
4 Security/authorization messages
5 Messages generated internally by Syslogd
6 Line printer subsystem
7 Network news subsystem
8 UUCP subsystem
9 Clock daemon
10 Security/authorization messages
11 FTP daemon
12 NTP subsystem
13 Log audit
14 Log alert
15 Clock daemon
16 Local use 0 (local0)
17 Local use 1 (local1)
18 Local use 2 (local2)
19 Local use 3 (local3)
20 Local use 4 (local4)
21 Local use 5 (local5)
22 Local use 6 (local6)
23 Local use 7 (local7)
Syslog中的Severity表示事情的重要性,具體如下。
Integer Severity
0 Emergency: System is unusable.
1 Alert: Action must be taken immediately.
2 Critical: Critical conditions.
3 Error: Error conditions.
4 Warning: Warning conditions.
5 Notice: Normal but significant condition.
6 Informational: Informational messages.
7 Debug: Debug-level messages.
Windows有自己的日誌協議,稱為Event Log。為什麼不建立一台中心Syslog伺服器來接受所有的Windows,Linux,網路裝置等等發送來的日誌呢?這樣你可以輕鬆地在一台Log Service器上管理所有的日誌。
Windows作業系統本身是可以產生很多日誌的,如每次插拔隨身碟、服務的重啟等,都會產生日誌,這些資訊會記錄在作業系統中,如果我們想集中管理,怎麼辦?Windows作業系統本身並不支援把日誌發送到SYSLOG伺服器去,但是我們就沒辦法了?
Evtsys是用C寫的程式,提供發送Windows日誌到syslog伺服器的一種方式。它支援Windows Vista和Server 2008,並且編譯後支援32和64位環境。它被設計用於高負載的伺服器,Evtsys快速、輕量、高效率。並可以作為Windows服務存在。
http://code.google.com/p/eventlog-to-syslog/ 查看並擷取最新更新。值得稱道的是,程式僅僅有幾十KB大小!
下載Evtsys後,將其複製到系統目錄,XP下是Windows\system32目錄。然後在CMD下執行:
evtsys.exe -i -h 192.168.1.101 -p 514
這個是標準格式,亦可精簡為:
evtsys -i -h 192.168.1.101
參數說明:
i是安裝成Window服務;
h是syslog伺服器位址;
p是syslog伺服器的接收埠。
預設下,連接埠可以省略,預設是514.
啟動Evtsys服務,命令是:
net start evtsys
查看Windows的“服務”,發現在原本Event Log服務下面增加了一個“Eventlog to Syslog”,並且已經啟動.
開啟windows組策略編輯器 (開始->運行 輸入 gpedit.msc)
在windows設定-> 安全設定 -> 本地策略 ->稽核原則 中,開啟你需要記錄的windows日誌。evtsys會即時的判斷是否有新的windows日誌產生,然後把新產生的日誌轉換成syslogd可識別的格式,通過UDP 3072連接埠發送給syslogd伺服器。
另外一個工具是SNARE,SNARE for Windows是一款讓你很容易的把Windows(NT/2000/XP/2003等,亦支援64位系統)事件記錄即時轉寄到SYSLOG伺服器的程式,並且無論是32位還是64位系統,只有一個安裝包,也可以配置靜默安裝模式,當然這個需要您自己去看文檔了。
SNARE支援安全日誌、應用日誌、系統日誌,同時支援DNS、檔案複寫服務 (FRS)、活動目錄(Active Directory)日誌等。
下載: http://sourceforge.net/projects/snare/files/Snare%20for%20Windows/
配置: 下載下來的檔案是SnareForWindows-4.x.x.x-MultiArch.exe這樣的,基本上只需要Next就可以安裝完畢。然後開始菜單中InterSect Alliance下面有三個子項:
Disable Remote Access to Snare for Windows:禁止Snare的遠端管理
Restore Remote Access to Snare for Windows:恢複Snare的遠端管理
Snare for Windows:程式配置介面,選擇後在瀏覽器開啟http://localhost:6161/地址,然後選擇左側菜單的Network Configuration選項
Free WhatsUp Syslog Server – 免費 Syslog Server 何處尋? 在這裡!!
Syslog daemon for Windows Eventlog