11 使用主动检查监控 Windows 事件日志

简介

本指南介绍如何使用主动检查通过 Zabbix 监控 Windows 事件日志。借助 Zabbix 的 Windows 专用监控项键值,您可以实时收集和分析关键事件(例如登录失败尝试、系统错误等)。

本指南适用对象

本指南面向希望监控 Windows 事件日志的 Zabbix 新用户和网络管理员。如需了解高级配置选项,请参阅 Windows 专用监控项键值 文档。

前提条件

在继续阅读本指南之前,您需要根据您的操作系统说明下载并安装 Zabbix 服务器和 Zabbix 前端。您还需要在要监控的 Windows 机器上下载并安装 Zabbix agent。

配置 Zabbix agent 以监控 Windows 事件日志

1. 在您的 Windows 主机上打开 zabbix_agentd.conf(默认路径为 C:\Program Files\Zabbix Agent\zabbix_agentd.conf),并确保 ServerActive 参数设置为您的 Zabbix 服务器 IP 地址,同时 Hostname 参数与将在 Zabbix 前端 中定义的主机名一致。这样可使 agent 为其主机请求主动检查,并从指定的 Zabbix 服务器获取这些检查。例如:

ServerActive=192.0.2.0
Hostname=MyWindowsHost

2. 重启 Zabbix agent 服务以应用更改:

net stop "Zabbix Agent" && net start "Zabbix Agent"

3. 检查 Windows 主机是否正在运行:

  • 确保 Zabbix agent 服务正在 Windows 主机上运行。
  • 检查 Windows 主机是否可以连接到 Zabbix 服务器的 10051 端口。要从 Windows 主机测试连通性,请打开 PowerShell 并运行以下命令:
Test-NetConnection -ComputerName <Zabbix-server-IP> -Port 10051

配置 Zabbix 前端

1. 导航到 数据采集 > 主机创建主机

  • Host name 字段中,输入主机名称(例如,“MyWindowsHost”)。
  • Host groups 字段中,输入或选择一个主机组(例如,“Event log Monitoring”)。
  • Add 保存已配置的主机。

Templates 字段中,您可以添加 “Windows by Zabbix agent active” 模板,以便通过观察同一主机上的其他活动监控项是否正在更新来帮助您进行故障排查。

2. 使用以下参数创建一个新的监控项:

  • Name 字段中,输入一个描述性的监控项名称(例如,“Security log: failed logon events”)。
  • Type 下拉列表中,选择 “Zabbix agent (active)”(事件日志监控所必需)。
  • Key 字段中,使用 eventlog 监控项键。例如,要监控 Security 日志中的登录失败尝试(事件 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 中显示的内容完全一致。

另请参阅: