真实场景
概述
本节通过一个循序渐进的实际示例,介绍如何使用 web 监控。
将使用 Zabbix web 监控来监控 Zabbix 前端。 目标是确定它是否可用、是否提供正确的内容,以及运行速度如何。 为实现这一目标,需要执行多个步骤,包括检查第一页是否可访问、使用用户名和密码登录、验证登录是否成功、注销,以及确认已成功注销。
场景
添加新的 web 场景
- 转到 Data collection > Hosts。
- 选择一个主机,然后点击该主机所在行中的 Web。
- 点击 Create web scenario。

-
在新的场景表单中,打开 Scenario 选项卡,填写以下字段:
- Name: Frontend check.
- Update interval: 1m.
- Attempts: 1.
- Agent: Zabbix.
在 Variables 部分,添加以下名称-值对: {user}: 你现有的 Zabbix 用户凭据;{password}: 你现有的 Zabbix 用户凭据。
出于安全考虑,建议创建一个权限最小的独立用户用于监控。
可选地,切换到 Tags 选项卡并添加 web 场景标签。
你可以使用 web 场景标签快速识别相关的监控项和触发器,或搜索已收集的数据。
例如,本教程适合使用的标签为 component: web-scenario 和/或 target: frontend。
配置 web 场景步骤
切换到 Steps 选项卡并为该场景定义步骤。
配置每个步骤后,点击 Add 按钮。
请注意,Zabbix 前端在登录时使用 JavaScript 重定向,因此必须先完成登录,且只有在后续步骤中才能检查已登录功能。 此外,登录步骤必须使用指向 index.php 文件的完整 URL。
所有步骤的通用字段
除了每个步骤特有的字段外,还需为下文描述的每个步骤填写以下通用字段:
- URL: Zabbix 前端的 URL(
http://<server_ip_or_name>/zabbix/index.php(适用于 Apache)或http://<server_ip_or_name>/index.php(适用于 Nginx))。对于 Web 场景的步骤 3,请使用下文所述的不同 URL。 - Timeout: 15s。
- Required status codes: 200。
Web 场景步骤 1
检查第一页是否正确响应,返回 HTTP 状态码 200,并包含文本 Zabbix SIA。
填写以下字段:
- 名称: First page.
- 超时: 15s.
- 必需字符串: Zabbix SIA.
- 所有步骤的通用字段。

Web 场景步骤 2
使用 Scenario 选项卡中定义的宏(变量){user} 和 {password} 登录 Zabbix 前端。
填写以下字段:
- Name: Login.
- 在 Post fields 部分,添加以下名称-值对:
- name:
{user}; - password:
{password}; - enter: Sign in.
- name:
- 所有步骤的通用字段。
选中 Follow redirects 复选框。

Web 场景步骤 3
登录后,通过检查仅在登录后可见的字符串来验证是否成功,例如 Administration。
填写以下字段:
- Name: Login check.
- URL: 用户登录后被重定向到的 URL(例如,http://127.0.0.1/zabbix/zabbix.php?action=dashboard.view)。
- 在 Variables 部分,添加名称-值对
{csrf_token}:regex:([0-9a-z]{64})。 此变量将捕获分配的 CSRF 令牌值,以便在 web 场景步骤 4 中复用。 - Required string: Administration.
- 所有步骤的通用字段。

Web 场景步骤 4
在验证了前端的可访问性和登录后,添加一个注销步骤 - 否则 Zabbix 数据库会因大量未关闭的会话记录而变得杂乱。
填写以下字段:
- Name: Logout.
- 在 Post fields 部分,添加以下名称-值对:
- reconnect: 1;
- _csrf_token:
{csrf_token}。
- 所有步骤的通用字段。
选中 Follow redirects 复选框。
此步骤使用在 web 场景步骤 3 中获取的变量 {csrf_token}。

Web 场景步骤 5
要确认注销,请检查 Username 字符串。
填写以下字段:
- Name: Logout check.
- Required string: Username.
- 所有步骤的通用字段。

步骤的完整配置
web 场景步骤的完整配置应如下所示:

检查结果
保存已完成的 web 监控场景。
创建 web 场景后,会自动添加新的 web 监控项 用于监控。
该场景将被添加到主机。 要查看 web 场景信息,请转到 Monitoring > Hosts,在列表中找到该主机,然后单击最后一列中的 Web 超链接。

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