欢迎光临北海市中国转运网
详情描述
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 仪表板展示

仪表板创建仪表板 添加小部件:
  • 类型:时钟
  • 类型:图形
  • 类型:Web监测

五、故障排查

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监控的主要配置场景,根据实际需求调整参数即可满足大多数监控需求。