假设您有一个以 Windows 为主的企业环境,并且您需要将多台 Ubuntu 服务器集成到该环境中,同时尽可能少地引入新的企业工具来跨平台管理日志。因此,Ubuntu 服务器上会有 Ubuntu 系统日志、各种应用程序日志等,您希望它们看起来就像 Windows 服务器中的事件一样(而不是使用单独的日志聚合/查看/管理工具)。
有没有办法在 Ubuntu 中模拟 Windows 事件日志?例如,Samba 或其他程序是否可以向在单独的 Windows 环境中运行的服务器管理器等提供事件日志?
答案1
对此有两种选择:
1)编写您自己的小型 Windows 服务,该服务接受 Linux 日志并使用 Windows 系统日志事件工具/系统调用将每个条目写入适当的 Windows 日志。这实际上只需要几个小时就可以编写代码。
Linux rsyslog/ksyslog 支持开放协议以方便集中日志记录,因此您所要做的就是为您的服务实现一小部分,然后您的 Linux 机器就会将其日志发送到您的 Windows 服务。您还可以使用其他机制,例如在 Linux 机器上安装包含 /var/log 的 Samba 共享,然后在日志进入时读取它们,但延迟可能会成为一个问题。
2)您可以使用像 splunk 或 logstash 这样的企业工具。
我知道您说过您不想添加很多外部工具,但无论使用选项 1 还是 2,您都需要添加至少一个。
答案2
正如 @Binary 提到的,Linux 使用 syslog 来集中记录日志。您可以使用 syslog 服务器的 Windows 实现,该服务器可以将日志发送到事件记录器,例如 Kiwi Syslog 服务器商业版。