什么是Syslog?
      顾名思义Syslog就是Sys Log - 系统日志。在 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发送3000×××集中器的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.
为什么要Syslog化Windows的Event日志?
      Windows有自己的日志协议,称为Event Log。日志查看器为Event Viewer (右键点击我的电脑,选择管理),界面如下。
Syslog化Windows Event日志_第1张图片
      有的朋友会问,好好的Windows日志为什么要把它转成Syslog呢?呵呵,当Windows服务器比较少的时候,我们是不需要这样做的。但试想如果你管理着成千上百台的Windows机器,你会一台一台的登录上去用Event Viewer查看吗?为什么不建立一台中心Syslog服务器来接受所有的Windows,Linux,网络设备等等发送来的日志呢?这样你可以轻松地在一台日志服务器上管理所有的日志。比如Splunk就是一个很好的免费日志服务器,它不仅可以接受多种方式发送来的日志(包括syslog),而且还提供功能很强大的搜索(被称为Google for IT),图形化等功能。接下来我会写一篇关于Splunk配置的文章。
p_w_picpath
 
Syslog化Windows Event日志_第2张图片
怎样Syslog化Windows的Event日志?    
      言归正传,能实现Syslog化Windows Event日志的工具就是NTSyslog。它是一款免费工具,最新版下载地址为: [url]http://sourceforge.net/forum/forum.php?forum_id=750656[/url]。
Syslog化Windows Event日志_第3张图片
      NTsyslog安装非常简单,安装完成以后会作为Windows的一个服务存在。另外,桌面上会多一个名叫NTSyslogCtrl-Tool的管理工具,它可以管理本地或远程任何安装了NTSyslog服务的机器。
Syslog化Windows Event日志_第4张图片
      NTSyslogCtrl-Tool的主要功能就是可以让用户配置所需发送日志的类型。以下是我在一台Windows XP SP2机器上的演示。
1)主界面
Syslog化Windows Event日志_第5张图片
2)选择System,然后点击Eventlog,然后设置哪些日志项需要进行Syslog转发。简单起见,我选择转发所有的System Eventlog。
Syslog化Windows Event日志_第6张图片
3)设置Syslog服务器地址,点击Syslog Daemons,输入syslog服务器IP地址,如果有备用的也可以填上。
Syslog化Windows Event日志_第7张图片
4)启动服务。
Syslog化Windows Event日志_第8张图片
4)查看我的syslog服务器。吼吼~,已经有数据了。
Apr 1 12:35:23 H2800-0018 NT: Application popup: ctfmon.exe - DLL Initialization Failed : The application failed to initialize because the window station is shutting down.
Apr 1 12:36:00 H2800-0018 NT: Driver Microsoft XPS Document Writer required for printer Microsoft XPS Document Writer is unknown. Contact the administrator to install the driver before you log in again.
对照一下Windows Event Viewer里的数据吧,不错,挺全的。Syslog化后的Windows日志的格式为: 日期 时间 主机 NT:<来源;严重性等级+Event ID> 日志描述
Syslog化Windows Event日志_第9张图片
Syslog化Windows Event日志_第10张图片