Zabbix 自定义监控
前言
本文介绍 Zabbix 自定义监控的基础用法。关于 Zabbix 的安装步骤或创建监控项,建议先补充相关知识。
环境说明
| IP 地址 | 主机名 | 部署软件 | 节点作用及职责 |
|---|---|---|---|
| 192.168.136.134 | zabbix-server | 1. Zabbix Server;2. Zabbix Agent(自身监控代理);3. MySQL;4. Apache | 核心监控节点,负责接收各被监控节点上报的监控数据 |
| 192.168.136.135 | zabbix-node1 | 1. Zabbix Agent;2. 被监控软件 | 被监控业务节点,通过 Zabbix Agent 采集本地系统资源,将采集到的监控数据实时上报至 Zabbix Server |
| 192.168.136.138 | zabbix-node2 | 1. Zabbix Agent;2. 被监控软件 | 被监控业务节点,通过 Zabbix Agent 采集本地系统资源,将采集到的监控数据实时上报至 Zabbix Server |
若所需参数不在列表中,可通过自定义监控来配置专属键值。

一、自定义监控语法
自定义监控的核心是在 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: 4013244 3086831 1002241 766821 2352953
Swap: 4015100 0 4015100
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:~# /etc/zabbix/zabbix_agentd.d/
root@zabbix-node1:~# vim /etc/zabbix/zabbix_agentd.d/memory.conf
UserParameter=memory.total,free |awk
UserParameter=memory.used,free |awk
UserParameter=memory.available,free |awk
root@zabbix-node1:~# systemctl restart zabbix-agent.service


















