无论是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选项
Free WhatsUp Syslog Server – 免費 Syslog Server 何處尋? 在這裡!!
Syslog daemon for Windows Eventlog