Zabbix 网站状态检测,支持多层级网页监控

laoluo
laoluo
laoluo
管理员
145
文章
0
粉丝
教程评论9阅读模式

一、内置监控方式(无需额外插件)

1. Web 监控(最常用,专门测网站)

Zabbix 自带Web 场景功能,模拟浏览器访问站点,完整检测:

  1. 连通性:TCP 80/443 端口是否通
  2. HTTP 状态码:200 正常、404/500/502/503 告警
  3. 页面响应时间(DNS、连接、下载耗时拆分)
  4. 页面内容校验:匹配关键词判断页面是否错乱(如检测 “系统维护”“503 Service Unavailable”)
  5. 登录流程模拟:多步骤场景(访问首页→登录→查询接口,校验会话、Cookie)
  6. 支持 HTTP/HTTPS、自定义请求头、POST 提交、代理、Basic Auth、SSL 证书过期检测

Zabbix 网站状态检测,支持多层级网页监控

简单配置流程

  1. 配置 → Web 监控 → 创建 Web 场景
  2. 添加步骤:输入 URL、请求方式、页面检索字符串
  3. 设置触发器:响应超时 > 3s、状态码≠200、页面无指定关键词即告警

2. 内置监控项 net.tcp.service / net.tcp.service.perf

只检测端口连通、基础响应时间,适合简单端口存活监控:

  • 监控项键值示例:
net.tcp.service[http,www.baidu.com,80]
net.tcp.service[https,blog.example.com,443]

返回 1 正常,0 故障,搭配触发器直接报警。

3. web.page.get 获取完整页面源码

拉取网页完整内容,可搭配正则触发器检测页面异常、接口报错。

二、进阶深度监控(脚本自定义)

1. 自定义脚本监控(agent / 被动 / 主动)

用 curl/wget/python 脚本实现更复杂检测:

  • 接口 JSON 返回校验(判断 code=0)
  • 文件下载完整性校验
  • SSL 证书剩余天数检测、证书过期预警
  • 限流、接口并发、重定向异常判断

示例检测 SSL 过期脚本(zabbix-agent 调用):

expire_date=$(openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates | grep notAfter | cut -d'=' -f2)
expire_ts=$(date -d "$expire_date" +%s)
now_ts=$(date +%s)
echo $(( (expire_ts - now_ts) / 86400 ))

返回剩余天数,触发器小于 30 天告警。

2. ICMP Ping 配套检测

搭配 icmpping 监控服务器存活,区分服务器宕机网站服务挂了两种故障。

三、能监控的网站指标汇总

监控维度 Zabbix 能力
端口存活(80/443) net.tcp.service
HTTP 状态码 Web 场景、web.page.get
页面加载耗时(分段) Web 场景原生拆分指标
页面关键字校验 Web 场景内置检索
多步骤业务流程(登录、表单) Web 场景多步骤
SSL 证书有效期 自定义 shell 脚本
API 接口返回 JSON 校验 自定义 curl 脚本
域名 DNS 解析 自定义 nslookup 脚本
网站跳转 / 重定向异常 Web 场景校验跳转地址

四、优缺点对比

优点

  1. 统一平台:服务器、数据库、中间件、网站一套 Zabbix 管理,不用多套监控工具
  2. 告警渠道齐全:钉钉、企业微信、邮件、短信、电话、自定义 webhook
  3. 图表趋势:长期记录网站响应时间,分析访问波动
  4. 支持分布式:Proxy 跨机房监控外网网站,解决内网出口限制

局限

  1. Web 场景性能弱于专业拨测工具(如云拨测、Prometheus Blackbox),大量站点会消耗 server 性能
  2. 无法模拟真实浏览器 JS 渲染(只抓 HTTP 返回,不能检测前端 JS 报错、页面渲染白屏)
  3. 无多地分布式节点拨测(只能在部署 Zabbix Proxy/Server 的机器发起检测)

五、最佳实践方案

  1. 少量内部业务网站:直接使用 Zabbix Web 场景,简单高效;
  2. 大量外网站点 / 需要多地拨测:搭配 Blackbox Exporter + Prometheus + Grafana 补充,或第三方云拨测;
  3. 全栈监控:Zabbix 监控服务器资源 + Web 场景监控业务站点,双重告警区分主机故障和应用故障。

 
laoluo
  • 本文由 laoluo 发表于2026年6月28日 10:26:27
  • 转载请务必保留本文链接:https://www.mydata-api.com/tutorials/338.html
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证