我正在尝试设置 Windows 2008 服务器,以便它能够将事件日志消息发送到运行 Linux 的 syslog-ng 服务器。我更喜欢原生的东西,但我猜这是不可能的。
更新
第一个答案建议使用 snare,到目前为止,这是我找到的最佳解决方案,设置起来非常轻松,不到五分钟,我就将日志发送到我的 syslog-ng 服务器。唯一的缺点(不是 snare 的错)是日志以 windows-1252 字符集编码发送。所以tail -f
除非我以某种方式更改字符集,否则我无法查看它们。如果您使用的是 syslog-ng,可以通过创建新源轻松解决此问题,就我的情况而言:
source src_win {
udp(
ip("192.168.1.200")
port(514)
encoding("WINDOWS-1252"));
};
在此之后(并将新源分配到正确的位置),您将能够正确查看您的 Windows 日志。
旧内容
环顾四周,我发现了这个页面指出的几个解决方案: http://www.itbuzzer.net/corner/2008/10/how-to-send-windows-events-to-syslog.asp
- Syslog 代理(http://www.syslogserver.com/syslogagent.html):这是最简单的选择,但上次更新是 2008 年
- 事件日志至系统日志 (http://code.google.com/p/eventlog-to-syslog/):它似乎是最新的,最近已从普渡大学移至 code.google.com
- ntsyslog(http://ntsyslog.sourceforge.net/):无法在 Windows 2008server 上运行,所以我无法使用它。
有谁有过这些或其他的经历吗?
答案1
我用圈套。
Snare for Windows 是与 Windows NT、Windows 2000、Windows XP 和 Windows 2003 兼容的服务,可与底层 Windows Eventlog 子系统交互,以促进事件日志信息的远程实时传输。Snare for Windows 还支持 64 位版本的 Windows(X64 和 IA64)。
Snare for Windows Vista 是与 Windows 2008、Vista 和 Windows 7 兼容的服务,可与底层“Crimson”Eventlog 子系统交互,以促进事件日志信息的远程实时传输。Snare for Windows Vista 还支持 64 位版本的 Windows (X64)。
Snare for Windows 和 Windows Vista 是免费软件(免费软件),根据 GNU 公共许可证(GPL)的条款发布。
答案2
日志是一个开源解决方案,可以使用 im_mseventlog 或 im_msvistalog 模块完成您需要的操作。它支持字符集转换,因此您可以在 utf-8 或其他代码页中进行转发。
答案3
你也可以考虑看看事件日志至系统日志项目在那里。
我正在考虑构建一个日志服务器来集中处理我环境中的所有 Windows 和 Linux 日志,并且正在考虑使用这个和 snare。我倾向于使用 eventlog-to-syslog,因为它据说比 snare 轻量一些,而且我受到了限制,因为我的环境已经是一个有点超负荷的 vmware 环境。
并不是说我不认为小鼓是一个很好的解决方案,我只是希望人们有多种选择。