無論是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,網絡設備等等發送來的日志呢?這樣你可以輕松地在一台日志服務器上管理所有的日志。
Windows操作系統本身是可以產生很多日志的,如每次插拔U盤、服務的重啟等,都會產生日志,這些信息會記錄在操作系統中,如果我們想集中管理,怎么辦?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、文件復制服務、活動目錄(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選項