结论先给你(一句话就够):
是不是“由所在主机去 ping”,完全取决于你创建的“监控项类型(Item Type)”。
下面我把 4 种最容易混淆的情况 一次讲清,你对照着看,马上就知道你现在用的是哪一种。
一、不是所有 “Ping 监控项” 都是“被监控主机自己 ping”
这是 Zabbix 里最容易被误解的点。
关键判断点只有一个:
Ping 是“谁执行的命令”?
二、4 种常见 Ping 监控方式,对应“是谁在 ping”
① Simple check(icmpping / icmppingloss / icmppingsec)
📌 这是最常见、也最容易被误判的一种
Item Type:
Simple checkKey:
icmpping[...]
✅ Ping 的执行者:Zabbix Server 或 Zabbix Proxy
❌ 不是被监控主机
即使你把这个监控项建在某一台主机下面:
它依然是 Server/Proxy 站在“监控中心视角”在 ping

② Zabbix agent / Agent (active) + UserParameter
📌 这是“由被监控主机自己 ping”的标准做法
Item Type:
Zabbix agent(或 Agent active)Key:自定义(如
ping.local[IP])实现方式:Agent 在本地主机执行
ping命令
✅ Ping 的执行者:被监控主机本身
✅ 你所在主机的网络视角

③ External check
Item Type:
External check脚本放在 Server/Proxy 上
✅ 执行者:Server/Proxy
❌ 不是被监控主机

④ SNMP / 网络设备自带 Ping
执行在设备自身
但不是 Zabbix 执行
返回结果通过 SNMP
📌 常见于高端网络设备
📌 非通用方案

三、一个最容易踩坑的“假象”
“我是在某台主机下面创建的 Ping 监控项,所以一定是这台主机在 ping。”
❌ 这是错的。
Zabbix 的逻辑是:
监控项“挂在哪个主机” ≠ “在哪个主机执行”
执行位置只由 Item Type 决定。
四、用一张“文字架构图”帮你彻底分清
① Simple check (icmpping)
Server / Proxy ─────► 目标IP
② Agent + UserParameter
被监控主机 ─────────► 目标IP
③ External check
Server / Proxy ─────► 目标IP五、你现在应该怎么自查?
打开你现在的 Ping 监控项,看这 3 个字段:
1️⃣ Type 是什么?
Simple check→ Server/Proxy 在 pingZabbix agent→ 主机在 ping
2️⃣ Key 是不是 icmpping?
是 → Server/Proxy
不是(自定义)→ 多半是本地执行
3️⃣ 有没有 UserParameter?
有 → 本地执行
没有 → 不是
六、如果你明确要“所在主机去 ping”,正确结论是:
你必须用 Zabbix Agent(或 Agent active)+ UserParameter / system.run[],
而不是 Simple check。
七、结论
在 Zabbix 中,
Simple check (icmpping)类监控项由 Zabbix Server 或 Proxy 执行;若需由被监控主机本地发起 ICMP 探测,必须通过 Zabbix Agent 执行本地命令实现。
只有当“Ping 命令是在网络设备自身 CLI / OS 内执行,并由设备 CPU 发起 ICMP 报文”时,才叫“网络设备自带的 Ping”。
凡是通过 Zabbix Server / Proxy / Agent 执行的 Ping,都不属于设备自带 Ping,哪怕你是在“监控这台设备”。