【Zabbix 自定义监控全流程实战指南(附图文教程):从语法基础到内存传参、PHP-FPM 服务、Web 场景监控配置】

【Zabbix 自定义监控全流程实战指南(附图文教程):从语法基础到内存传参、PHP-FPM 服务、Web 场景监控配置】
提示:本文原创作品,良心制作,干货为主,简洁清晰,一看就会

zabbix自定义监控


前言

这篇内容带大家快速上手 Zabbix 的基础用法
关于 Zabbix 的安装步骤或创建监控项,还不太清楚的小伙伴,可以查看这篇文章补充相关知识
https://blog.ZEEKLOG.net/m0_63756214/article/details/156421867?spm=1001.2014.3001.5501
关于 Zabbix 创建触发器,动作,媒介及图形,还不太清楚的小伙伴,可以查看这篇文章补充相关知识https://blog.ZEEKLOG.net/m0_63756214/article/details/156644688?spm=1001.2014.3001.5501

这里先介绍一下我的环境

IP地址主机名部署软件节点作用及职责
192.168.136.134zabbix-server1. Zabbix Server;2. Zabbix Agent(自身监控代理);3. MySQL ;4. Apache核心监控节点,负责接收各被监控节点上报的监控数据
192.168.136.135zabbix-node11. Zabbix Agent;2. 被监控软件被监控业务节点,通过Zabbix Agent采集本地系统资源,将采集到的监控数据实时上报至Zabbix Server
192.168.136.138zabbix-node21. Zabbix Agent;2. 被监控软件被监控业务节点,通过Zabbix Agent采集本地系统资源,将采集到的监控数据实时上报至Zabbix Server

前文我们使用的都是 Zabbix 自带监控参数,添加监控项时直接从键值列表选择即可;若所需参数不在列表中,或不想手动翻找,就可以通过自定义监控来配置专属键值

在这里插入图片描述

一、自定义监控语法

自定义监控的核心是在Zabbix Agent配置文件(zabbix_agentd.conf)中定义UserParameter,语法格式固定:

UserParameter=<自定义键值>,<要执行的脚本/命令> 
  • <自定义键值>:自定义监控项的唯一标识(如 custom.nginx.status),添加监控项时需填写这个键值
  • <要执行的脚本/命令>:可以是直接的Shell命令,也可以是脚本路径(如 /etc/zabbix/scripts/check_nginx.sh

Zabbix自定义监控项可针对业务专属指标(如服务状态、接口响应)配置监测,弥补默认监控不足,满足个性化运维需求,接下来我将举一些例子

二、监控内存–基础用法

这里以zabbix-node1为例,来监控该机器上的内存情况

#在zabbix-node1上操作 root@zabbix-node1:~# free total used free shared buff/cache available Mem: 4013244230868310022414766821523529532 Swap: 401510004015100 root@zabbix-node1:~# free | awk '/^Mem/{print $2}' #查看总内存4013244 root@zabbix-node1:~# free | awk '/^Mem/{print $3}' #查看已用内存231232 root@zabbix-node1:~# free | awk '/^Mem/{print $NF}' #查看可用内存,已用和可用内存都会变3530116 root@zabbix-node1:~# ls /etc/zabbix/zabbix_agentd.d/ #当前目录下没有子配置文件 root@zabbix-node1:~# vim /etc/zabbix/zabbix_agentd.d/memory.conf #在zabbix的子配置目录中写文件UserParameter=memory.total,free |awk'/^Mem/{print $2}'UserParameter=memory.used,free |awk'/^Mem/{print $3}'UserParameter=memory.available,free |awk'/^Mem/{print $NF}' root@zabbix-node1:~# systemctl restart zabbix-agent.service #修改配置文件后需要重启zabbix-agent
#在zabbix-server中测试一下,看看能不能拿到数据 root@zabbix-server:~# zabbix_get -s 192.168.136.135 -k memory.total4013244 root@zabbix-server:~# zabbix_get -s 192.168.136.135 -k memory.used231480 root@zabbix-server:~# zabbix_get -s 192.168.136.135 -k memory.available3522404

接下来我们就可以去zabbix界面上添加这三个自定义的监控项

在这里插入图片描述

添加监控项memory.total

在这里插入图片描述

添加监控项memory.used

在这里插入图片描述

添加监控项memory.available

在这里插入图片描述

添加好后的界面

在这里插入图片描述

去“最新数据”中可以看到,数据已经生成

在这里插入图片描述


感兴趣的小伙伴还可以为 memory.used 和 memory.available 配置触发器,具体方法在此不再赘述,本专栏第二篇文章已有详细讲解,大家可以去翻阅

三、监控内存–传参用法

接下来我讲一下传参用法
这种传参写法能复用单个监控项键值,无需为MemTotal、MemFree等每个内存指标单独定义UserParameter,大幅简化配置;这种方法可以作为了解

root@zabbix-node1:~# cat /proc/meminfo #查看内存 MemTotal: 4013244 kB MemFree: 3099400 kB MemAvailable: 3528796 kB Buffers: 58064 kB Cached: 530776 kB SwapCached: 0 kB Active: 466096 kB Inactive: 176852 kB Active(anon): 54912 kB Inactive(anon): 764 kB ...... root@zabbix-node1:~# vim /etc/zabbix/zabbix_agentd.d/upgrade.memory.conf UserParameter=memory.stats[*],cat /proc/meminfo |awk'/^$1/{print $$2}'# $1:代表调用该监控项时传入的第一个参数(比如用 memory.stats[MemTotal],$1 就等于 MemTotal)# $$2:awk 里的 $2 表示取一行的第 2 列,前面多一个 $ 是因为 Zabbix 配置文件里需要转义,否则会被 Zabbix 解析成自身变量 root@zabbix-node1:~# systemctl restart zabbix-agent.service 
#在zabbix-server中测试一下能否取到数据 root@zabbix-server:~# zabbix_get -s 192.168.136.135 -k memory.stats[MemTotal]4013244 root@zabbix-server:~# zabbix_get -s 192.168.136.135 -k memory.stats[MemFree]3100116 root@zabbix-server:~# zabbix_get -s 192.168.136.135 -k memory.stats[MemAvailable]3529840

接下来去zabbix界面上配置监控项

在这里插入图片描述

新增监控项memory.stats[MemTotal],其他指标也是一样的配置方法,这里我就配置了三个指标

在这里插入图片描述

配置好后,去“最新数据”中可以看到已经产生了监控数据

在这里插入图片描述

四、监控php-fpm 服务的状态

root@zabbix-node1:~# apt -y install php-fpm #下载php root@zabbix-node1:~# vim /etc/php/7.2/fpm/pool.d/www.conf  user = www-data #nginx的所属用户 group = www-data #nginx的所属组 pm.status_path = /php-fpm-status #php-fpm 的状态监测页面 ,#打开注释并修改 ping.path = /ping #ping 接口,存活状态是否ok #打开注释 ping.response = pong #响应内容pong #打开注释 root@zabbix-node1:~# vim /etc/nginx/conf.d/php.conf server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri$uri/ =404;} location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;} location ~* /(php-fpm-status|ping){ fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; include fastcgi_params; access_log off;#访问这个页面就不用记录日志了}} root@zabbix-node1:~# systemctl restart nginx root@zabbix-node1:~# systemctl start php7.2-fpm.service  root@zabbix-node1:~# curl 192.168.136.135/php-fpm-status #访问 pool: www process manager: dynamic start time: 07/Jan/2026:14:22:58 +0800 start since: 9 accepted conn: 1 listen queue: 0 max listen queue: 0 listen queue len: 128 idle processes: 1 active processes: 1 total processes: 2 max active processes: 1 max children reached: 0 slow requests: 0 root@zabbix-node1:~# cat /etc/zabbix/zabbix_agentd.d/php.conf UserParameter=php.stats[*],curl -s 192.168.136.135/php-fpm-status |awk'/^$1/{print $$NF}'
#在zabbix-server上测试,看能否取到数据 root@zabbix-server:~# zabbix_get -s 192.168.136.135 -k "php.stats[pool]" www root@zabbix-server:~# zabbix_get -s 192.168.136.135 -k "php.stats[accepted conn]"9 root@zabbix-server:~# zabbix_get -s 192.168.136.135 -k "php.stats[listen queue len]"128 root@zabbix-server:~# 

然后去zabbix的界面上添加监控项

在这里插入图片描述

添加php.stats[pool]的监控项,添加其他监控项操作类似

在这里插入图片描述

添加好后去"最新数据"中查看数据

在这里插入图片描述

五、Web场景监控

Zabbix Web 场景监控(也叫 Web 监控)是用于模拟用户访问行为、对 Web 应用的可用性和性能进行自动化检测的功能

它的核心原理是:预先配置一系列 HTTP 请求步骤(即一个 “场景”),Zabbix 会按照设定的频率自动执行这些步骤,同时收集每个步骤的响应时间、HTTP 状态码、内容匹配结果等关键数据

在上面实验中正好有两个页面,我就创建这两个页面的web监控

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

查看最新数据,web页面监控已产生监控数据

在这里插入图片描述


注:
文中若有疏漏,欢迎大家指正赐教。
本文为100%原创,转载请务必标注原创作者,尊重劳动成果。
求赞、求关注、求评论!你的支持是我更新的最大动力,评论区等你~
后续会持续分享关于zabbix的进阶知识~

Read more

2026年03月21日全球AI前沿动态

一句话总结:2026年3月20日AI领域呈现全维度爆发式发展,头部企业密集发布通用/垂直大模型与智能体产品,模型向高效推理、自我进化升级,智能体生态快速完善并实现产品化落地,算力硬件向端侧、专用化突破,AI与汽车、影视、农业等产业深度融合,同时企业融资收购频繁,AI安全治理、伦理问题成为行业重点关注方向,算力短缺、Token成本优化也成为行业发展核心议题。 一、模型与技术突破 1.1 通用大模型(大语言模型与多模态模型) * 阿里:发布通义千问3.5-Max-Preview,LM Arena得分1464,全球排名第五、中国第一,数学能力全球第三,综合性能全球第六,专家级处理能力跻身全球前十,千问App月活超3亿,模型在Hugging Face累计下载量破10亿次。 * 小米:发布MiMo-V2-Pro旗舰模型,总参数超1T(42B激活),混合注意力架构支持1M超长上下文,Artificial Analysis全球综合排行榜第八、国内第二,在OpenClaw等框架中端到端任务完成能力超Claude Sonnet 4.6,API定价为Opus 4.

Google AI Studio 全指南:从入门到精通 Gemini 开发

在生成式 AI 的浪潮中,Google 凭借 Gemini 模型系列强势反击。而对于开发者来说,想要体验、调试并集成 Gemini 模型,最佳的入口并不是 Google Cloud Vertex AI(那是企业级的),而是 Google AI Studio。 Google AI Studio 是一个基于 Web 的快速原型设计环境,它允许开发者极速测试 Gemini 模型,并将测试好的 Prompt(提示词)一键转换为代码。本文将带你从零开始,掌握这款强大的工具。 一、 什么是 Google AI Studio? Google AI Studio 是 Google 为开发者提供的免费(或低成本)AI

终于,我把 Openclaw 加 Seed2.0 Skills 做 AI 漫剧搞定了

终于,我把 Openclaw 加 Seed2.0 Skills 做 AI 漫剧搞定了

这是苍何的第 500 篇原创! 大家好,我是苍何。 不知不觉,500 篇原创啦。年前开源的 AI 漫导开源项目也 1.1 k star 了。 最近玩 Openclaw 又玩的跟个疯狗似的,给我的小龙虾装了很多实用技能,可以自动写小红书图文,可以自动写作,配图,生成封面等。 但感觉生活还是很无趣,于是又花了一些时间,开发了个 AI 漫剧视频生成 Skills,给小龙虾使用。 准确的说,这是个基于字节 Seed2.0 的技能包,有以下子技能。 「seedance-video」:文生视频、图生视频,seedance 1.5 Pro 版本还自带音频生成,属于基本盘。 等seedance 2.0 的

别再手动写代码了!Claude Skills 实战,让 AI 帮你干 80% 的活!

别再手动写代码了!Claude Skills 实战,让 AI 帮你干 80% 的活!

📋 目录 1. 什么是 Claude Skills 2. 快速安装 Skills 3. 已安装的 Skills 清单 4. Skills 使用方式详解 5. 实战案例:使用 Frontend Design Skill 创建网站 6. Skill 管理最佳实践 7. 高级技巧 8. 常见问题排查 什么是 Claude Skills Claude Skills 是模块化的能力包,包含指令、元数据和可选资源(脚本、模板),让 Claude 在需要时自动加载和使用。 核心特点 * 自动触发 - 无需手动调用,Claude 会根据你的需求自动识别并使用合适的 Skill * 渐进式加载