🚀 Zabbix 自动发现 (Network Discovery) 全生命周期实操指南
导读:
面对庞大的遗留网段、无法安装 Agent 的网络设备(交换机/路由器),Zabbix 的“自动发现”功能是我们进行资产盘点和监控纳管的利器。
本文将完整演示自动发现的 5 大核心流程:配置规则 ➔ 组合探测 ➔ 条件匹配 ➔ 自动建档纳管 ➔ 周期巡检与老化清理。
⚠️ 课前准备:修复底层 ICMP 探测权限(极其重要)
自动发现最常用的探测方式是 Ping。但 Zabbix 底层使用的是第三方工具 fping,且 Zabbix Server 进程默认无权发送 ICMP 原始数据包。
在进行 Web 配置前,必须先在 Zabbix Server 命令行赋予 fping 特权,否则扫描将全盘失效:
没有安装fping的报错如下
报错分析:
[root@zabbix ~]# tail -f /tmp/zabbix_server.log
1667:20260516:154631.549 At least one of '/usr/sbin/fping', '/usr/sbin/fping6' must exist. Both are missing in the system.
[root@zabbix ~]# yum install -y fping
[root@zabbix ~]# cat /usr/local/etc/zabbix_server.conf | grep Fping
### Option: FpingLocation
# FpingLocation=/usr/sbin/fping
### Option: Fping6Location
# Fping6Location=/usr/sbin/fping6
# 赋予 fping root 属主及 SUID 越权执行权限
chown root:zabbix /usr/sbin/fping
chmod 4755 /usr/sbin/fping
📡 阶段一:架设扫描雷达 (对应流程 1 & 2)
此阶段我们需要告诉 Zabbix 去扫描哪个网段,以及用什么手段去敲门探测。
实操步骤:创建自动发现规则
- 导航至:配置 (Configuration) -> 自动发现 (Discovery),点击右上角 创建发现规则 (Create discovery rule)。
- 填写基础扫描参数 (流程 1):
- 名称:
zabbix-network - IP范围:
192.168.10.1-254(支持逗号分隔多个网段) - 更新间隔:
1h💡 Wiki 避坑指南:企业生产环境中,盲扫极耗 CPU 性能,建议间隔设为
1h甚至更长。测试时可临时调为1m。
- 名称:
- 配置多维度探测检查 (流程 2):
点击“检查 (Checks)”栏的添加按钮。为了提高准确率,我们可以组合多种探测方式:- 手段 A(测存活):类型选
ICMP ping(只要能 Ping 通就算发现)。 - 手段 B(测Agent):类型选
Zabbix 客户端,键值填system.uname,端口10050。 - 手段 C(测网络设备):类型选
SNMPv2客户端,SNMP community 填public,OID 填sysDescr.0。
- 手段 A(测存活):类型选
- 设备唯一性准则:下拉选择
IP地址。 - 点击 添加 保存规则。Zabbix Server 此时已开始向该网段发射探测波。

⚙️ 阶段二:制定纳管预案 (对应流程 3 & 4)
雷达扫到目标后,Zabbix 需要一套标准动作(Action)来决定如何处理这些“野生资产”。
实操步骤:创建自动发现动作
- 导航至:配置 (Configuration) -> 动作 (Actions) -> 发现动作 (Discovery actions)。点击 创建动作。
- 配置匹配条件 (流程 3):
在【动作】标签页,精确瞄准我们刚才的雷达结果:- 名称:
AutoAdd_Linux_Servers - 条件 1:
发现规则➔等于➔ 选择zabbix-network。 - 条件 2:
在线/离线状态➔等于➔在线 (Up)。(必须是在线设备) - 条件 3:
服务类型➔等于➔Zabbix 客户端。(代表这台机器装了 Agent,如果是交换机,这里就选 SNMP)。
- 名称:
- 配置执行操作 (流程 4):
切换到【操作】标签页,点击蓝色的“添加”,定义“自动建档”流水线:- 动作 1:
添加主机 (Add host)➔ Zabbix 数据库正式建档。 - 动作 2:
添加到主机群组➔ 选定Linux Servers。 - 动作 3:
与模板关联➔ 选定Linux by Zabbix agent模板。
- 动作 1:
- 点击底部大按钮 添加。


♻️ 阶段三:自动化闭环与老化机制 (对应流程 5)
自动发现不是一次性工作,而是周而复始的巡检。当新机器上线时,会被自动纳入监控;但当机器退网报废时,Zabbix 默认只会在仪表盘标红,不会主动删除它。
为了保持 CMDB 资产库的整洁,必须配置“僵尸主机自动清理”动作。
实操步骤:配置老化清理动作
- 继续在 发现动作 (Discovery actions) 页面,再创建一个新动作。
- 名称:
AutoRemove_Dead_Hosts - 设置离线匹配条件:
在线/离线状态➔等于➔离线 (Down)。在线/离线时间➔大于或等于➔7d(7天)。💡 逻辑解释:当设备连续 7 天彻底 Ping 不通时,判定为已下架报废。
- 设置清理操作:
- 在【操作】标签页点击添加,选择:
删除主机 (Delete host)。
- 在【操作】标签页点击添加,选择:
- 保存即可。



✅ 最终验收与排错提示
完成以上三大阶段后,你的 Zabbix 已经具备了完整的资产自动发现与生命周期管理能力。
如何验证是否生效?
- 导航至:监测 (Monitoring) -> 自动发现 (Discovery)。
- 在下拉菜单中选择你的发现规则,页面将清晰地展示该网段内:哪些 IP 在线、哪些服务(Ping/10050/SNMP)开放了,以及它们被自动发现的具体时长。
- 前往 配置 -> 主机,对应的机器应该已经自动建档并开始上报监控数据。

🛠️ 性能调优 Tips:
如果发现扫描极其缓慢,请修改 /usr/local/etc/zabbix_server.conf 中的参数 StartDiscoverers。默认值为 1,若扫描网段较多,建议调大至 5 甚至 10,然后重启 zabbix-server 服务。
[root@zabbix ~]# cat /usr/local/etc/zabbix_server.conf | grep StartDiscoverers
### Option: StartDiscoverers
# StartDiscoverers=1
浙公网安备 33010602011771号