news 2026/4/16 12:18:14

在Zabbix Server使用PHP编译一个扩展模块

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在Zabbix Server使用PHP编译一个扩展模块

场景:一次性返回所有在线 Agent 的 CPU 利用率平均值(%)

Zabbix Server的PHP相关目录

# 一台已经跑通的 Zabbix 7.0 实例(Server + Web + Agent)# 参考 CentOS 7 源码编译路径:PHP_PREFIX=/usr/local/zabbix/php# 你的 PHP 安装目录PHP_BIN=${PHP_PREFIX}/bin/phpPHP_CONFIG=${PHP_PREFIX}/bin/php-configPHP_INI=${PHP_PREFIX}/etc/php.iniWEB_ROOT=/usr/local/zabbix/ui# Zabbix 前端目录

1、生成php需要识别的文件结构

mkdir-p /tmp/zbx_iowait&&cd/tmp/zbx_iowait# 用 PHP 自带的 ext_skel 工具${PHP_PREFIX}/bin/php-ext-skel --ext zbx_iowait --dir.# 结果目录结构# zbx_iowait/# ├── config.m4# ├── zbx_iowait.c# ├── php_zbx_iowait.h# └── tests/

2、修改两处文件

文件 1:zbx_iowait.c,把默认函数整块替换为:

PHP_FUNCTION(zbx_iowait){zbx_dc_host_t *hosts;zbx_dc_item_t *items;int host_num=0, item_num=0;doublesum=0, count=0;/* 直接调用 Zabbix Server 内部 DC 缓存 API,0 成本 */ zbx_dc_get_hosts_by_key("system.cpu.util[,avg1]",&hosts,&host_num,&items,&item_num);for(int i=0;i<item_num;i++){sum+=atof(items[i].lastvalue);count++;}zbx_dc_free_hosts(hosts, host_num, items, item_num);if(count)RETURN_DOUBLE(sum / count);RETURN_DOUBLE(0);}

文件 2:php_zbx_iowait.h,把函数声明改成:

PHP_FUNCTION(zbx_iowait);

3、编译

phpize ./configure --with-php-config=$PHP_CONFIGmake-j$(nproc)&&sudomakeinstall

4、加载扩展

echo"extension=zbx_iowait.so">>$PHP_INI# 重启 PHP-FPM(Zabbix Web 依赖的进程)sudosystemctl restart zabbix-php-fpm

5、验证

$PHP_BIN-r'var_dump(zbx_iowait());'# 输出类似:float(123456)

6、在 Zabbix 前端使用

登录 Zabbix → 「配置」→「主机」→ 任意 Agent → 「监控项」→「创建监控项」
字段填写
名称:CPU iowait (by PHP ext)
类型:脚本
键值:php.iowait
脚本内容:
<?phpechozbx_iowait();?>
保存后点「检测」→「最新数据」,即可看到实时 iowait 值。

7、回滚

sudosed-i'/zbx_iowait.so/d'$PHP_INIsudorm$(${PHP_CONFIG}--extension-dir)/zbx_iowait.sosudosystemctl restart zabbix-php-fpm
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 5:56:15

科研工作者必备:LobeChat辅助论文写作全流程

科研工作者必备&#xff1a;LobeChat辅助论文写作全流程 在当今科研节奏日益加快的背景下&#xff0c;研究者们不仅要产出高质量成果&#xff0c;还要在写作、表达和传播上下足功夫。一篇论文从构思到发表&#xff0c;往往要经历数周甚至数月的反复打磨——文献调研耗时、结构设…

作者头像 李华
网站建设 2026/4/16 12:42:28

从零到上线,Dify与Spring AI模型对接全解析,开发者必看

第一章&#xff1a;从零起步&#xff0c;全面认识Dify与Spring AI集成核心在人工智能快速发展的背景下&#xff0c;Dify 作为一款开源的低代码 AI 应用开发平台&#xff0c;正逐步成为企业级智能服务构建的重要工具。它提供了可视化编排、模型管理、插件扩展等能力&#xff0c;…

作者头像 李华
网站建设 2026/4/16 12:57:22

【私有化Dify用户管理终极指南】:掌握企业级权限控制的5大核心策略

第一章&#xff1a;私有化Dify用户管理的核心价值在企业级AI应用部署中&#xff0c;私有化Dify平台的用户管理能力成为保障数据安全与权限可控的关键环节。通过本地化部署用户体系&#xff0c;企业能够在不依赖外部服务的前提下&#xff0c;实现对操作主体的精细化控制&#xf…

作者头像 李华
网站建设 2026/4/16 13:42:40

MindSpore开发之路(二):洞悉框架架构

在上一篇文章中&#xff0c;我们对AI框架有了初步的认识。今天&#xff0c;我们要更进一步&#xff0c;从一个更高的视角&#xff0c;审视MindSpore这座“工厂”本身的设计图纸——它的软件架构。这对于我们理解其设计哲学、高效使用其功能至关重要。 一个优秀的软件架构&#…

作者头像 李华
网站建设 2026/4/16 13:29:27

揭秘R在量子计算中的电路优化:3步实现性能翻倍

第一章&#xff1a;揭秘R在量子计算中的电路优化&#xff1a;3步实现性能翻倍在量子计算领域&#xff0c;量子电路的执行效率直接影响算法的整体性能。尽管主流开发语言多为Python或Q#&#xff0c;但R语言凭借其强大的统计分析与矩阵运算能力&#xff0c;在量子门参数优化和电路…

作者头像 李华
网站建设 2026/4/16 13:35:05

Dify + Tesseract图像识别优化(从误识别到99%准确率的蜕变之路)

第一章&#xff1a;Dify Tesseract图像识别优化概述在现代自动化与智能文档处理场景中&#xff0c;结合 Dify 平台的可扩展 AI 工作流能力与 Tesseract 开源 OCR 引擎&#xff0c;能够显著提升图像中文本识别的准确率与处理效率。该集成方案适用于发票识别、证件扫描、日志分析…

作者头像 李华