Administrator
Published on 2026-01-08 / 2 Visits
0
0

【Zabbix从0到1实战指南】第 10 讲|Zabbix 里的 Ping 到底是谁在执行?90% 的人判断错了

结论先给你(一句话就够):

是不是“由所在主机去 ping”,完全取决于你创建的“监控项类型(Item Type)”。

下面我把 4 种最容易混淆的情况 一次讲清,你对照着看,马上就知道你现在用的是哪一种。


一、不是所有 “Ping 监控项” 都是“被监控主机自己 ping”

这是 Zabbix 里最容易被误解的点

关键判断点只有一个:

Ping 是“谁执行的命令”?


二、4 种常见 Ping 监控方式,对应“是谁在 ping”

Simple check(icmpping / icmppingloss / icmppingsec)

📌 这是最常见、也最容易被误判的一种

  • Item TypeSimple check

  • Keyicmpping[...]

Ping 的执行者:Zabbix Server 或 Zabbix Proxy
不是被监控主机

即使你把这个监控项建在某一台主机下面:

它依然是 Server/Proxy 站在“监控中心视角”在 ping


Zabbix agent / Agent (active) + UserParameter

📌 这是“由被监控主机自己 ping”的标准做法

  • Item TypeZabbix agent(或 Agent active)

  • Key:自定义(如 ping.local[IP]

  • 实现方式:Agent 在本地主机执行 ping 命令

Ping 的执行者:被监控主机本身
你所在主机的网络视角


External check

  • Item TypeExternal 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 在 ping

  • Zabbix 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,哪怕你是在“监控这台设备”。



Comment