2 实际场景
概述
本节逐步展示了一个实际应用示例,说明如何使用 Web 监控功能。
我们将使用 Zabbix 的 Web 监控功能来监控 Zabbix 前端。目标是确定其是否可用、是否提供正确的内容以及响应速度如何。为了实现这一目标,需要完成多个步骤,包括检查首页的可用性、使用用户名和密码登录、验证 login 是否成功、退出登录,并确认退出状态。
场景
添加新的Web场景
前往 数据收集 → 主机,选择 一个主机 并点击该 主机 所在行中的 Web。
然后点击 创建Web场景。

在新建的场景表单中,填写以下字段:
- 名称 - 前端检查
- 更新间隔 - 1m
- 尝试次数 - 1
- Agent - Zabbix
在 变量 部分中,添加两个变量:{password} 和 {user}。
输入您现有的Zabbix用户凭据作为值。
出于安全考虑,建议create一个具有最小权限的独立用户,专门用于监控目的。
可选地,切换到 标签 选项卡并添加Web场景标签。
配置完成后,此Web场景将自动向主机添加一个Zabbix trapper 监控项。
您可以使用Web场景标签快速识别相关的监控项和触发器,或搜索已收集的数据。
例如,本教程适用的标签为 component: web-scenario 和/或 target: frontend。
配置Web场景步骤
切换到步骤选项卡,并为场景定义步骤。点击添加按钮以添加单个步骤。
通用字段
以下每个步骤中,除了步骤特定字段外,请填写以下字段:
- URL - Zabbix 前端的 URL
- Timeout - 15 秒
- Required status codes - 200
Web场景步骤1
检查首页是否响应正确,返回 HTTP 响应码 200 并包含文本 "Zabbix SIA"。
- 在 名称 字段中,输入 首页。
- 在 必需的 string 字段中,输入 Zabbix SIA。
- 填写 通用字段。
完成步骤配置后,点击 添加 按钮。

Web 场景步骤 2
使用在场景级别定义的宏(变量)-{user} 和 {password} 登录 Zabbix 前端。
- 在 Name 字段中,输入 Login。
- 在 Post fields 部分,添加三个 post 字段:
- name,值为 {user}
- password,值为 {password}
- enter,值为 Sign in
- 填写 common fields。
- 选中 Follow redirects 复选框。

请注意,Zabbix 前端在登录时使用 JavaScript 重定向,因此必须先完成登录,登录后功能只能在后续步骤中检查。此外,登录步骤必须使用指向 index.php 文件的完整 URL。
Web 场景步骤 3
登录后,通过检查仅在登录后可见的字符串来验证是否成功,例如 Administration。
- 在 Name 字段中,输入 Login check。
- 在 URL 字段中,输入用户登录后被重定向到的 URL(例如,http://127.0.0.1/zabbix.php?action=dashboard.view)。
- 在 Required string 字段中,输入 Administration。
- 在 Variables 部分,添加名称-值对
{csrf_token}:regex:([0-9a-z]{64})。 该变量将捕获已分配的 CSRF token 的值,以便在 web 场景步骤 4 中复用。 - 填写 通用字段。

Web 场景步骤 4
在验证了前端的可访问性和登录后,添加一个注销步骤 - 否则 Zabbix 数据库中会积累许多未关闭的会话记录,导致杂乱。
- 在 Name 字段中,输入 Logout。
- 在 Post fields 部分,添加两个 post field:
- reconnect,值为 1
- _csrf_token,值为 {csrf_token}。
- 填写 common fields。
- 选中 Follow redirects 复选框。
此步骤使用在 Web 场景步骤 3 中获取的变量 {csrf_token}

Web场景步骤5
要确认登出,请检查用户名 string。
- 在名称字段中,输入 Logout check。
- 在必需的 string 字段中,输入 用户名。
- 填写通用字段。

步骤的完整配置
一个完整的 Web 场景步骤配置应如下所示:

检查结果
保存已完成的Web监控场景。
该场景将被添加到 主机。要查看Web场景信息,请转至 监控 → 主机,在列表中找到 主机,然后单击最后一列中的Web超链接。

单击场景名称以查看更详细的统计信息:
