zoukankan      html  css  js  c++  java
  • 将Windows日志转换为Syslog

    无论是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

    欢迎大家扫描下面二维码成为我的客户,为你服务和上云

  • 相关阅读:
    Spring学习之声明式事物管理
    SSH整合所需jar
    Spring学习之AOP
    常见MyEclipse报错—— serialVersionUID的作用
    Spring学习之基本概念
    Java基础——I/O续
    Java基础——I/O
    Vim学习总结
    Java基础——异常处理
    Git 学习总结
  • 原文地址:https://www.cnblogs.com/shanyou/p/2964251.html
Copyright © 2011-2022 走看看