[comment]: # ({f5f86322-e03ef403})
# 11 使用主动检查监控 Windows 事件日志

[comment]: # ({/f5f86322-e03ef403})

[comment]: # ({8db5cba7-9c880c53})
#### 简介

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

**本指南适用对象**

本指南面向希望监控 Windows 事件日志的 Zabbix 新用户和网络管理员。如需了解高级配置选项，请参阅 [Windows 专用监控项键值](/manual/config/items/itemtypes/zabbix_agent/win_keys#windows-specific-items) 文档。

**前提条件**

在继续阅读本指南之前，您需要根据您的操作系统说明[下载并安装](https://www.zabbix.com/download) Zabbix 服务器和 Zabbix 前端。您还需要在要监控的 Windows 机器上[下载并安装](https://www.zabbix.com/download_agents) Zabbix agent。

[comment]: # ({/8db5cba7-9c880c53})

[comment]: # ({5e430c36-320398a9})
#### 为 Windows 事件日志监控配置 Zabbix agent

1\. 在你的 Windows 主机上打开 `zabbix_agentd.conf`（默认路径为 `C:\Program Files\Zabbix Agent\zabbix_agentd.conf`），并确保 [ServerActive](/manual/concepts/agent/agentd_params_win#serveractive) 参数设置为你的 Zabbix 服务器的 IP 地址，且 [Hostname](/manual/concepts/agent/agentd_params_win#hostname) 参数与将在 [Zabbix 前端](#configure-zabbix-frontend) 中定义的主机名一致。这样可以使 agent 为其主机向指定的 Zabbix 服务器请求主动检查。例如：
   
```ini
ServerActive=192.0.2.1
Hostname=MyWindowsHost
```

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

```bash
net stop "Zabbix Agent" && net start "Zabbix Agent"
```

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

-   确保 Windows 主机上的 Zabbix agent 服务正在运行。
-   检查 Windows 主机是否可以通过 10051 端口连接到 Zabbix 服务器。要从 Windows 主机测试连通性，请打开 PowerShell 并运行以下命令：

```powershell
Test-NetConnection -ComputerName <Zabbix-server-IP> -Port 10051
```

[comment]: # ({/5e430c36-320398a9})

[comment]: # ({8d9e67c5-25228513})
#### 配置 Zabbix 前端

1\. 导航到 *Data collection > Hosts* 并[创建主机](/manual/config/hosts/host)：

-   在 *Host name* 字段中，输入主机名称（例如，“MyWindowsHost”）。
-   在 *Host groups* 字段中，输入或选择一个主机组（例如，“Event log Monitoring”）。
-   单击 *Add* 保存已配置的主机。

::: noteclassic
在 *Templates* 字段中，您可以添加 “Windows by Zabbix agent active” 模板，以便通过观察同一主机上的其他 active 监控项是否正在更新来帮助排查问题。
:::

![](../../../assets/en/manual/guides/eventlog_host.png){width="600"}

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

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

![](../../../assets/en/manual/guides/eventlog_item.png){width="600"}

3\. 单击 *Add* 保存该监控项。

[comment]: # ({/8d9e67c5-25228513})

[comment]: # ({dd0a5b78-a35d4c3a})
#### 测试并查看已收集的指标

恭喜！Zabbix 现已配置为收集您的 Windows 事件日志。
要验证事件日志是否正在被收集，您可以通过注销 Windows 账户，然后使用错误的凭据尝试登录，来测试“安全日志：登录失败事件”监控项。

然后，在 Zabbix 前端中查看已收集的日志：

1\. 在 Zabbix 前端中，导航到 *Monitoring > Latest data*。

![](../../../assets/en/manual/guides/eventlog_latestdata.png){width="600"}

2\. 在 *Name* 字段中，按您的 “MyWindowsHost” 主机进行筛选。

3\. 单击 *History* 以查看已记录的日志值。 

![](../../../assets/en/manual/guides/eventlog_history.png){width="600"}

4\. 如果没有日志值，请继续阅读本指南的 [故障排除](#troubleshooting) 部分。

[comment]: # ({/dd0a5b78-a35d4c3a})

[comment]: # ({01f6f437-c98bb7b1})
#### 设置问题告警

本指南提供了发送电子邮件告警的基本配置步骤。

1\. 导航到“数据采集 > 主机”，[定义一个触发器](/manual/installation/quick_guides/basic_config/trigger#adding-trigger)，使其在您的事件日志监控项记录到您关注的模式时触发。例如，要捕获安全日志中的登录失败尝试，请使用 [find()](/manual/config/triggers/expression/history#find) 函数：

   find(/MyWindowsHost/eventlog[Security,,,,4625,,skip],10m,"like","Logon failed")

2\. 导航到 [*用户设置 > 配置文件*](/manual/web_interface/user_profile)，切换到 *介质* 选项卡并[添加您的电子邮件](/manual/installation/quick_guides/basic_config/login#adding-user)。

![](../../../assets/en/manual/quickstart/new_media.png){width="600"}

3\. 按照[接收问题通知](/manual/installation/quick_guides/basic_config/notification)指南进行操作。

下次当 Zabbix 检测到问题时，您应该会通过电子邮件收到告警。

[comment]: # ({/01f6f437-c98bb7b1})

[comment]: # ({e3501cd1-d7537870})
#### 故障排查

如果您在收集或查看 Windows 事件日志时遇到问题，请使用以下提示来识别并解决常见问题：

1\. 在 Zabbix 服务器（Linux）上，使用以下命令列出您的 iptables 规则：

```bash
sudo iptables -L -n
```

并确认存在一条针对 TCP 端口 10051 的 ACCEPT 规则。

2\. 请确保您的 `eventlog[...]` 键使用了完全正确的日志名称（区分大小写）、事件 ID、模式（例如 skip）以及其他参数，并与 [Windows-specific item keys](/manual/config/items/itemtypes/zabbix_agent/win_keys#windows-specific-items) 中显示的内容完全一致。

[comment]: # ({/e3501cd1-d7537870})

[comment]: # ({d8627728-aeb05d60})
**另请参阅：**

- [创建监控项](/manual/config/items/item) - 了解如何添加额外的指标。
- [Microsoft Windows 上的 Zabbix agent](/manual/appendix/install/windows_agent) - 详细的安装说明。
- [使用 Zabbix agent 监控 Windows](/manual/guides/monitor_windows) - 一份全面的指南，介绍如何使用 Zabbix agent 为 Windows 机器设置基本监控。
- [Windows 特定的监控项键值](/manual/config/items/itemtypes/zabbix_agent/win_keys) - 关于 Zabbix agent 支持的 Windows 特定监控项键值的详细信息，包括用于事件日志监控的键值。
- [日志文件监控](/manual/config/items/itemtypes/zabbix_agent/log_items) - 关于配置 Zabbix 以集中监控和分析日志文件的说明，适用于 Windows 事件日志。

[comment]: # ({/d8627728-aeb05d60})
