11 使用主动检查监控 Windows 事件日志
简介
本指南介绍如何使用主动检查通过 Zabbix 监控 Windows 事件日志。借助 Zabbix 的 Windows 专用监控项键值,您可以实时收集和分析关键事件(例如登录失败尝试、系统错误等)。
本指南适用对象
本指南面向希望监控 Windows 事件日志的 Zabbix 新用户和网络管理员。如需了解高级配置选项,请参阅 Windows 专用监控项键值 文档。
前提条件
在继续阅读本指南之前,您需要根据您的操作系统说明下载并安装 Zabbix 服务器和 Zabbix 前端。您还需要在要监控的 Windows 机器上下载并安装 Zabbix agent。
为 Windows 事件日志监控配置 Zabbix agent
1. 在你的 Windows 主机上打开 zabbix_agentd.conf(默认路径为 C:\Program Files\Zabbix Agent\zabbix_agentd.conf),并确保 ServerActive 参数设置为你的 Zabbix 服务器的 IP 地址,且 Hostname 参数与将在 Zabbix 前端 中定义的主机名一致。这样可以使 agent 为其主机向指定的 Zabbix 服务器请求主动检查。例如:
ServerActive=192.0.2.1
Hostname=MyWindowsHost
2. 重启 Zabbix agent 服务以应用更改:
net stop "Zabbix Agent" && net start "Zabbix Agent"
3. 检查 Windows 主机是否正在运行:
- 确保 Windows 主机上的 Zabbix agent 服务正在运行。
- 检查 Windows 主机是否可以通过 10051 端口连接到 Zabbix 服务器。要从 Windows 主机测试连通性,请打开 PowerShell 并运行以下命令:
Test-NetConnection -ComputerName <Zabbix-server-IP> -Port 10051
配置 Zabbix 前端
1. 导航到 Data collection > Hosts 并创建主机:
- 在 Host name 字段中,输入主机名称(例如,“MyWindowsHost”)。
- 在 Host groups 字段中,输入或选择一个主机组(例如,“Event log Monitoring”)。
- 单击 Add 保存已配置的主机。
在 Templates 字段中,您可以添加 “Windows by Zabbix agent active” 模板,以便通过观察同一主机上的其他 active 监控项是否正在更新来帮助排查问题。

2. 使用以下参数创建一个新的监控项:
- 在 Name 字段中,输入一个描述性的监控项名称(例如,“Security log: failed logon events”)。
- 在 Type 下拉列表中,选择 “Zabbix agent (active)”(Event log 监控所必需)。
- 在 Key 字段中,使用 eventlog 监控项键。例如,要监控 Security 日志中的登录失败尝试(Event ID: 4625),并忽略早于该监控项上次检查时间的条目(使用
skip参数),请输入以下监控项键:eventlog[Security,,,,4625,,skip] - 在 Type of information 下拉列表中,选择 “Log”。

3. 单击 Add 保存该监控项。
测试并查看已收集的指标
恭喜!Zabbix 现已配置为收集您的 Windows 事件日志。 要验证事件日志是否正在被收集,您可以通过注销 Windows 账户,然后使用错误的凭据尝试登录,来测试“安全日志:登录失败事件”监控项。
然后,在 Zabbix 前端中查看已收集的日志:
1. 在 Zabbix 前端中,导航到 Monitoring > Latest data。

2. 在 Name 字段中,按您的 “MyWindowsHost” 主机进行筛选。
3. 单击 History 以查看已记录的日志值。

4. 如果没有日志值,请继续阅读本指南的 故障排除 部分。
设置问题告警
本指南提供了发送电子邮件告警的基本配置步骤。
1. 导航到“数据采集 > 主机”,定义一个触发器,使其在您的事件日志监控项记录到您关注的模式时触发。例如,要捕获安全日志中的登录失败尝试,请使用 find() 函数:
find(/MyWindowsHost/eventlog[Security,,,,4625,,skip],10m,"like","Logon failed")
2. 导航到 用户设置 > 配置文件,切换到 介质 选项卡并添加您的电子邮件。

3. 按照接收问题通知指南进行操作。
下次当 Zabbix 检测到问题时,您应该会通过电子邮件收到告警。
故障排查
如果您在收集或查看 Windows 事件日志时遇到问题,请使用以下提示来识别并解决常见问题:
1. 在 Zabbix 服务器(Linux)上,使用以下命令列出您的 iptables 规则:
sudo iptables -L -n
并确认存在一条针对 TCP 端口 10051 的 ACCEPT 规则。
2. 请确保您的 eventlog[...] 键使用了完全正确的日志名称(区分大小写)、事件 ID、模式(例如 skip)以及其他参数,并与 Windows-specific item keys 中显示的内容完全一致。
另请参阅:
- 创建监控项 - 了解如何添加额外的指标。
- Microsoft Windows 上的 Zabbix agent - 详细的安装说明。
- 使用 Zabbix agent 监控 Windows - 一份全面的指南,介绍如何使用 Zabbix agent 为 Windows 机器设置基本监控。
- Windows 特定的监控项键值 - 关于 Zabbix agent 支持的 Windows 特定监控项键值的详细信息,包括用于事件日志监控的键值。
- 日志文件监控 - 关于配置 Zabbix 以集中监控和分析日志文件的说明,适用于 Windows 事件日志。