Windows日志为什么要把它转成Syslog

Windows日志为什么要把它转成Syslog,第1张

,当Windows服务器比较少的时候,我们是不需要这样做的。但试想如果你管理着成千上百台的Windows机器,你会一台一台的登录上去用Event Viewer查看吗?为什么不建立一台中心Syslog服务器来接受所有的Windows,Linux,网络设备等等发送来的日志呢?这样你可以轻松地在一台日志服务器上管理所有的日志。比如Splunk就是一个很好的免费日志服务器,它不仅可以接受多种方式发送来的日志(包括syslog),而且还提供功能很强大的搜索(被称为Google for IT),图形化等功能。

方法/步骤:

1. 首先根据自己的windows系统的版本(32/64位),在网上下载相应的版本。我的系统为64位版本,因此下载64位版本;

2. 然后将下载后的软件内的两个文件evtsys.dll和evtsys.exe,拷贝到系统内c:\windows\system32目录下;

3. 这一步找到命令提示符,右击选择以管理员身份运行。详细操作如下图所示;

4. 在操作窗口内,首先输入cd c:\windows\system32 命令进入 c:\windows\system32目录下,然后执行命令evtsys –i –h 192.168.2.104 。下面详细介绍evtsys命令参数意思。

-i 表示安装成系统服务

-h 指定log服务器的IP地址

如要设置端口,在IP地址后加上自己要设置的端口就可以了。ip地址与端口之间要有空格隔开。默认不写端口为514端口。

执行完以上命令后,evtsys已经安装成功,且已经成功注册到服务列表。

5. 在开始->运行 输入 gpedit.msc。进入windows本地组策略编辑器,在该窗口内,选择Windows设置->安全设置。打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 514端口发送给syslogd服务器;

6. 启动服务。在以管理员身份运行的命令提示符窗口内,执行命令:net start evtsys即可启动服务。接下来进行测试是否发送成功;

7. 打开syslogwatcher进行相应的设置,设置端口为514端口,接受字符码为:UTF-8码。然后点击listen。进行监听514端口。查看是否有windows日志发出。

为测试效果明显,可以重启安装evtsys的机器。(本次安装syslogwatcher与evtsys不在同一台机器,便于测试)。

如重启安装evtsys的机器仍未看到日志。则通过以下几点进行排除。

1.确认接收日志端的系统防火墙已经关闭。

2.确认安装evtsys的机器,是否已经启动该服务,如未启动,在服务列表点击启动。

我们需要测试一种集中日志系统,要在Windows上建立一个类Linux下的集中日志系统。

经过比较Winsyslog和Kiwisyslog等工具,最终选定Kiwisyslog(http://www.kiwisyslog.com/),它不仅功能齐全,而且提供免费的版本。

Kiwisyslog遵循标准的日志协议(RFC 3164),并支持UDP/TCP/SNMP几种方式的日志输入。它默认是个免费的功能受限版(但功能基本够用了,只是没有找到汉化),自带发送模拟器﹑日志浏览器等实用工具。

我还测试了一下把ACE日志写到syslog的功能。过程记录如下:

1)使用klog工具

这个主要用到kiwisyslog的klog实用工具(这个工具同时提供dll库的调用方式,真是好东西,我决定以后在我的应用里都用它!),它支持直接或用重定向的方法输出日志到kiwisyslog。

klog –m "It's almost lunchtime"

DIR *.* | klog -h 192.168.1.2 -i

但我试图使用ACE应用日志输出到kiwisyslog时(ace_app.exe | klog -h 192.168.1.2 -i的形式),发现日志内容里前后有乱码出现,即ACE的日志输出直接重定向到klog再转到kiwisyslog有问题;并且不能按时间一行一行的输出,而是等应用程序执行结束时一股脑输出到kiwisyslog(按回车换行切开成一条一条日志)。如果程序非正常结束,还不能将输出日志内容传到 kiwisyslog。

还有一个方法是在Windows通过设置可以把ACE日志输出到系统日志里面。

ACE_LOG_MSG->set_flags(ACE_Log_Msg::SYSLOG)

然后按下面2)的方法转到kiwisyslog。

2)还可以把Windows下的事件日志转到Linux下的syslog

我们需要第三方的软件来将windows的日志转换成syslog类型的日志后,转发给syslog服务器。

介绍第三方软件evtsys (全称是evntlog to syslog)

文件才几十K大小,非常小巧,解压后是两个文件evtsys.dll和evtsys.exe

把这两个文件拷贝到 c:/windows/system32目录下。

打开Windows命令提示符(开始->运行输入CMD)

C:/>evtsys –i –h 192.168.10.100

-i 表示安装成系统服务

-h 指定log服务器的IP地址

如果要卸载evtsys,则:

net stop evtsys

evtsys -u

启动该服务:

C:/>net start evtsys

打开windows组策略编辑器 (开始->运行输入 gpedit.msc)

在windows设置->安全设置->本地策略->审核策略中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/360344.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存