Zabbix Web监控配置详细图文教程
一、准备工作
1.1 环境要求
- Zabbix Server已安装并运行(版本≥5.0)
- 被监控网站可通过HTTP/HTTPS访问
- Zabbix前端操作权限
二、配置步骤
2.1 创建主机(推荐方式)
方式一:关联到现有主机
登录Zabbix → 配置 → 主机
(示意图)
点击需要添加Web监控的主机名称
切换到 "Web场景" 标签页
方式二:创建独立主机(专用于Web监控)
配置 →
主机 →
创建主机主机名称:Website_Monitor
可见名称:公司官网监控
群组:Websites
2.2 创建Web场景
在主机配置页面点击 "创建Web场景"
基础配置
名称:官网首页可用性检查
更新间隔:60s
尝试次数:2
超时:15s
2.3 配置步骤(Steps)
步骤1:首页访问检查
点击
"添加" 按钮
填写参数:
名称:加载首页
URL:https://www.example.com
POST/GET:GET
步骤2:登录检查(示例)
点击
"添加" 添加第二个步骤
名称:用户登录
URL:https://www.example.com/login
方法:POST
POST变量:
username: {监控用户}
password: {监控密码}
必需字符串:登录成功
2.4 认证配置(如需)
HTTP认证
认证:HTTP
用户:testuser
密码:********
SSL证书验证
2.5 触发器配置
在Web场景页面切换到 "触发器" 标签
点击 "创建触发器"
示例1:网站不可用
名称:官网首页不可访问
表达式:{Website_Monitor:web.test.fail[官网首页可用性检查].last()}=1
严重性:灾难
示例2:响应时间过长
名称:官网响应时间过长
表达式:{Website_Monitor:web.test.time[官网首页可用性检查,加载首页].last()}>3
严重性:警告
2.6 监控项查看
自动生成的监控项包括:
web.test.fail[场景名称] - 场景失败数
web.test.time[场景名称,步骤名称] - 步骤响应时间
web.test.rspcode[场景名称,步骤名称] - HTTP响应码
web.test.error[场景名称,步骤名称] - 错误信息
查看路径:监控 → 最新数据 → 筛选对应主机
三、高级配置
3.1 变量使用
在步骤URL中使用变量:
URL:https://www.example.com/search?q={SEARCH_TERM}
在场景级别定义变量:
名称:SEARCH_TERM
值:zabbix
3.2 正则表达式提取
在步骤配置中展开
"验证" 区域
勾选
"提取"
配置正则表达式:
变量名:SESSION_ID
表达式:name="sessionid" value="([A-Za-z0-9]+)"
输出格式:\1
在后续步骤中使用:
{SESSION_ID}
3.3 HTTP Header定制
点击 "Headers" 标签添加:
名称:User-Agent
值:Zabbix Web Monitor
四、监控视图
4.1 最新数据查看
监控 → 最新数据 → 选择主机
4.2 创建图形
配置 →
主机 →
图形 →
创建图形
添加监控项:
web.test.time[...] - 响应时间
web.test.rspcode[...] - 状态码
4.3 仪表板展示
仪表板 →
创建仪表板
添加小部件:
五、故障排查
5.1 常见问题
问题:Web场景一直失败
- 检查网络连通性
- 验证用户名/密码
- 检查SSL证书有效性
- 查看Zabbix Server日志:
/var/log/zabbix/zabbix_server.log
问题:响应时间数据缺失
5.2 调试步骤
在场景配置中开启
"调试模式"
查看调试信息:
报表 →
Web监测
六、最佳实践
监控频率:生产环境建议60s,测试环境可设为30s
超时设置:根据实际网络状况设置(通常10-30s)
步骤顺序:模拟真实用户操作流程
告警分级:
- 灾难:完全不可访问
- 警告:响应时间超标
- 信息:HTTP错误码4xx
附录:快速配置模板
模板导入(批量部署)
配置 →
模板 →
导入
使用以下XML模板:
<zabbix_export>
<version>5.0</version>
<templates>
<template>
<template>Template Web Site Monitoring</template>
<name>Template Web Site Monitoring</name>
<description>Website availability and performance monitoring</description>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<items>
<!-- 监控项定义 -->
</items>
<triggers>
<!-- 触发器定义 -->
</triggers>
</template>
</templates>
</zabbix_export>
批量部署脚本
#!/bin/bash
# 批量添加Web监控
for site in $(cat websites.txt); do
zabbix_api.sh --add-web-scenario \
--host "$site-monitor" \
--url "https://$site" \
--interval 60
done
注意事项:
监控生产网站时使用专用测试账户
避免过频繁的监控请求(防止被屏蔽)
定期审查监控项有效性
SSL证书变更时更新验证设置
此教程覆盖了Zabbix Web监控的主要配置场景,根据实际需求调整参数即可满足大多数监控需求。