HQY

×

Zabbix 7实战:用Web场景监控业务系统

hqy hqy 发表于2026-10-23 15:52:27 浏览8 评论0

抢沙发发表评论

前几篇我们一直在折腾"机器":装 Zabbix、纳管 Linux、搭大屏。但说实话,CPU 曲线一条平的、内存也正常,业务却打不开——这种事我遇到过不止一次。因为机器活着,不等于业务能用。

通过使用Zabbix 7的Web 场景(Web scenario),从用户视角把业务系统端到端探活。装完你就能回答一个更值钱的问题:不是"服务器活着吗",而是"用户能打开吗"。

Web 场景到底是什么

Zabbix 的 Web 监控不是简单 ping 一下端口。它内部用 libcurl 按顺序请求一串 URL,能带 Cookie、能跟随跳转、能校验返回内容和状态码——等于替你模拟一遍真实用户的访问链路:打开首页、登录、进入订单页。


为什么必须补这一层?因为服务器侧监控有几个盲区它天生看不见:HTTP 200 但页面里写着"系统异常"、登录接口返回 500、SSL 证书过期、跳转链断开、CDN 回源失败。这些在 agent 视角里全都"正常"。

对谁有用:门户网站、OA、ERP、自研 SaaS 的运维和开发;要做可用率报表、SLA 考核的团队。

一步步配:场景 + 步骤 + 触发器

第 1 步:创建场景

数据采集 → 主机 → 新建主机

图片

选中你的主机(建议专门建一台"业务系统"主机,而不是挂在 Web 服务器上)→ Web → 右上角"创建 Web 场景"。关键几项:

  • 名称:如"官网首页可用性";
  • 更新间隔:生产建议 1m,别 10s 一次,容易给自己招来风控;
  • 尝试次数:3 次。单次失败就告警会产生大量误报,多试两次能过滤网络抖动;
  • Agent:选一个 User-Agent,有些站点会拦截默认 UA。

图片

第 2 步:添加步骤(Steps)

一个场景由多个步骤组成,按顺序执行,前一步的 Cookie 自动带入下一步——这就是它能测"登录后页面"的原理。每步要填:

  • URL:完整地址;
  • 要求状态码:默认 200,接口类可填 200,201;
  • 要求字符串:这是精髓,填页面上必然出现的关键字,比如"欢迎回来"。只要关键字不在返回内容里就算失败,专治"200 但内容报错";
  • 超时 / 跟随重定向:登录类场景通常要保持 Cookie 和跟随跳转。


因为我现在不需要登录,只需要监测页面能不能打开,所以比较简单:

图片

填写状态码:

图片
此时就添加好了:
图片

第 3 步:让它会告警

场景建好后,Zabbix 会自动生成监控项,不需要你手写:web.test.fail[场景](失败步骤数)、web.test.time[场景,步骤](每步耗时)、web.test.rspcode[场景,步骤](响应码)、web.test.error[场景](错误信息)。

系统不会自动给你建触发器,这一步得自己补。创建一个触发器,表达式写成"失败步骤数大于 0 就报警":

{HOST:web.test.fail[官网首页可用性].last()}<>0

再基于 web.test.time 加一条"页面响应超过 3 秒"的告警,业务的"慢"和"挂"就都覆盖了。

我个人认为,Web 场景是 Zabbix 里性价比最高的一块功能。它不依赖业务方改造,不用装任何东西,几行配置就把监控从"基础设施视角"拉到了"用户体验视角",还能直接喂给大屏和 SLA 报表。

当然它也有边界,得说清楚:它测的是探针到目标的链路,测不了浏览器里的 JS 渲染和前端报错——那属于浏览器合成监控的活。另外探针部署在哪很关键,你从机房探外网门户,测出来的不是用户体验。

到这里,"机器能用"和"业务能用"就都盯上了。


打赏

本文链接:https://www.kinber.cn/post/6818.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客