从 Linux 访问 Windows 日志文件

从 Linux 访问 Windows 日志文件

我正在尝试从 Linux 远程访问 Windows 日志文件。到目前为止,我发现了两种不同的方法。

  1. 在 Windows 机器上安装 syslog 服务器,让 Windows 将日志文件发送到 Linux,并读取这些文件
  2. 使用 Linux 的 wmi 实现远程访问日志文件。

在我深入实施之前,是否有人知道这两种方法的局限性?

答案1

我的直觉是,第二条路线更容易遵循。第一条路线涉及接触两个不同的系统,每个系统都有自己的特点:

  • 在 Linux 上安装+设置远程系统日志服务器;
  • 让 Windows 将日志发送到远程系统日志服务器;
  • 还设置了 Linux 上的系统日志读取

这种方法似乎会产生更多的“故障点”(想象一下网络问题阻止 Windows 将其事件记录到远程系统日志)。

第一种方式只需要安装 Linux 的 wmi 客户端。我推荐wbemcli。(在 Debian/Ubuntu 上尝试apt-get install wbemcli。)这样,Windows 日志记录(根据我的经验,它非常可靠)保持不变。即使您遇到临时网络问题,在网络恢复正常运行后,您仍可以访问未受损害的日志。

您可能知道,WMI 只是 Microsoft 的实现宽带接入管理模块(基于 Web 的企业管理)。WBEM 又是由分布式管理任务组聯合團。

MS 的 WMI 与 WBEM 标准存在一些差异(MS 称其“实施了标准”时,这种情况大多如此)。例如,它使用的传输协议与普通 WBEM 不同(WBEM 通常使用 TCP/5988 上的 HTTP 或 TCP/5989 上的 HTTPS。WMI 还使用略有不同的命名空间。除此之外,它们大多相同。

答案2

我无法对这两个发表评论,但我知道第三个:在 Windows 上安装一个小型服务器,它可以读取日志并响应查询或将新事件推送到 Linux。我使用带有 win32 模块的 Python 来完成此类任务。

答案3

是的..你需要git-bash一个适用于 Windows 的 ssh 服务器(我推荐bitvise sshd,不需要个人连接,但它非常稳定且经过充分测试)。

完成后,您需要输入git-bashwindows 路径,然后就可以使用

ssh [email protected] 'bash -c "tail -n 20 -F /c/Users/username/Desktop/logging_file.log"'

更多详情请点击这里:https://stackoverflow.com/a/50936183/4752883

相关内容