zabbix监控apache关键性能指标的核心是启用mod_status模块暴露server-status接口,配合自定义shell脚本解析数据、agent配置userparameter及导入模板实现采集。

用 Zabbix 监控 Apache 的关键性能指标,核心是让 Apache 暴露自身运行状态,再通过 Zabbix Agent 抓取、解析并上报数据。整个过程不依赖第三方插件,主要靠 Apache 自带的 mod_status 模块和自定义脚本配合完成。
开启 Apache 的 server-status 接口
这是所有监控的前提。Apache 必须启用 mod_status 并配置可访问的状态页:
- 确认模块已加载:检查
httpd.conf或apache2.conf中存在LoadModule status_module modules/mod_status.so(Apache 2.4+ 可能默认启用) - 启用扩展状态:添加或取消注释
ExtendedStatus On - 配置访问路径:在配置中加入
<location></location>区块,例如:
<location>
SetHandler server-status
Require local
Require ip 192.168.10.0/24
</location>
重启 Apache 后,用 curl http://localhost/server-status?auto 能看到纯文本输出(如 ReqPerSec: 12.5),说明接口就绪。
编写数据采集脚本
Zabbix Agent 本身不能直接解析 HTML 或文本状态页,需用 shell 脚本提取关键字段:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 脚本通常放在
/usr/local/bin/zapache或/etc/zabbix/monitor_scripts/下 - 支持多个函数,例如:
ReqPerSec、BytesPerSec、BusyWorkers、IdleWorkers - 典型逻辑:用
curl请求/server-status?auto,再用grep+awk提取数值,如grep ReqPerSec | awk '{print $2}' - 赋予执行权限:
chmod +x /usr/local/bin/zapache
配置 Zabbix Agent 自定义参数
让 Zabbix Agent 知道如何调用脚本:
- 新建配置文件,如
/etc/zabbix/zabbix_agentd.d/userparameter_zapache.conf - 写入类似这一行:
UserParameter=zapache[*],/usr/local/bin/zapache $1 - 重启 Zabbix Agent:
systemctl restart zabbix-agent - 本地测试是否生效:
zabbix_agentd -t zapache[ReqPerSec]应返回具体数字
导入模板并关联主机
Zabbix Web 界面端只需标准化操作:
- 下载成熟模板(如 GitHub 上的 lorf/zapache),解压后导入
zapache-template.xml - 模板中已预设好 key(如
zapache[ReqPerSec])、触发器、图形和告警阈值 - 在对应主机配置页 → “模板” → 点击“选择”,添加该模板并保存
- 稍等 1–2 分钟,查看“监测中” → “最新数据”,确认能收到
ReqPerSec、BusyWorkers等数值
只要 Apache 状态页可访问、脚本能执行、Agent 配置正确、模板导入无误,Zabbix 就能持续采集并发量、吞吐率、工作进程负载等核心指标。不需要改源码,也不依赖 Java 或 JavaScript 扩展。










