开源分布式监控系统---Zabbix自动发现+自动注册批量添加主机_zabbix批量添加主机
上一节,我们主要讲解了开源分布式监控系统 Zabbix Agent 的安装与配置,但是当zabbix server 需要监控的主机 zabbix agent 越来越多,手动添加主机 zabbix agent 就会带来挑战,此时,就可以考虑使用 zabbix 自动发现和自动注册批量添加主机。
一、Zabbix自动发现
1.1:Zabbix自动发现介绍
Zabbix的自动发现是指Zabbix可以自动识别和添加新的网络设备、服务器、虚拟机、应用程序等监控对象,无需手动配置。利用该功能可以完成以下工作:
- 加快部署速度;
- 简化管理;
- 在快速变化的环境中避免过度管理;
- 对监控对象进行动态更新和删除,保持监控系统的实时性和准确性;
自动发现的主要特点包括:
- 自动添加主机:Zabbix 可以通过自动发现规则自动添加新的主机到监控中。
- 自动添加服务:对于已知主机,自动发现可以自动添加新的服务和应用程序进行监控。
- 动态配置:自动发现规则允许基于发现到的实体(例如网络设备、服务、文件系统等)动态配置监控项、触发器和图形。
- 模板应用:可以使用模板来定义自动发现规则,从而一次性配置多个主机或服务的监控设置。
- 周期性执行:自动发现规则可以周期性地运行,以检测新的节点或服务,并根据预定义的规则进行自动配置和监控。
自动发现的流程分为4个阶段:
- 网络发现:Zabbix定期检测网络发现规则中定义的IP范围,并为每个规则单独配置检查的频次。
- 执行动作:所有动作都是基于发现事件的,基于事件的网络发现动作,可以根据设备类型、IP地址、状态、运行时间等进行配置。
- 创建主机:我们可以在执行动作过程中选择添加主机操作,包括添加主机到主机组、将主机链接到模板等。
- 移除主机:从Zabbix 2.4.0开始,如果已发现的主机不在自动发现规则的IP范围内,那么由网络发现规则创建的主机将会被自动删除。
二、Zabbix自动发现批量添加主机
2.1:所有Agent修改配置文件
server01主机和server02主机
[root@server01 ~]# systemctl disable --now firewalld[root@server01 ~]# setenforce 0[root@server01 ~]# vim /etc/zabbix/zabbix_agentd.conf LogFile=/var/log/zabbix/zabbix_agentd.log #32行,存放日志路径Server=192.168.10.131 #117行,开启被动模式,指向server地址ListenPort=10050 #取消注释 #125行,被动模式下监听端口,默认注释ServerActive=192.168.10.131 #171行,开启主动模式,指向server地址Hostname=server01 #182行,名称自定义,需要与zabbix Web页面上的主机名称一致[root@server01 ~]# systemctl restart zabbix-agent[root@server01 ~]# systemctl status zabbix-agent
2.2:创建自动发现规则
1)注意:需要删除之前Zabbix Web页面上已经添加过的主机server01和server02
2)操作步骤:“数据采集”—>“自动发现”—>“创建发现规则”,填写以下信息:
**注意:**自动发现规则的每次扫描都会产生事件,如果配置了1000个IP,那么每次都会产生1000个事件,需要注意数据库的资源消耗,生产环境中不宜扫描太频繁。
IP范围:网络探测的扫描范围。书写的格式有四种:
- 单个IP地址:192.168.10.102
- IP地址范围:192.168.10.1-255
- IP子网掩码范围:192.168.10.0/24
- 列表:192.168.1.1-255,192.168.2.1-100,192.168.2.200,192.168.4.0/24
检查:自动发现的网络扫描方式。自动发现规则允许基于某些条件和键值来自动添加或删除主机。

2.3:创建自动发现动作
操作步骤:“告警”—>“动作”—>“发现动作”—>“创建动作”,填写以下信息:
(1)填写动作参数


(2)设置发现动作的操作
这里主要的动作有“添加主机、添加到主机群组、链接到模板”。其中,链接的模板用“Linux by Zabbix agent”,如果需要其它模板,可自行添加。

2.4:查看监控主机
(1)查看自动发现状态
操作步骤:“监测”—> “自动发现”,可以看到已经发现的主机。

(2)查看监控主机
操作步骤:“数据采集”—> “主机”,可以看到已经发现的主机。

备注:
如果希望Zabbix Web页面显示的主机名称使用设置的的主机名,修改自动发现规则如下:

显示的主机如下:

2.5:总结
1)网络自动发现是zabbix server实现自动添加zabbix agent端的一种办法,大大减轻了运维人员的劳动量。但是,如果我们不知道zabbix agent端的IP地址等信息,网络自动发现就无法实现了。因此要设置一个IP地址范围,网络自动发现才会扫描这个IP地址段。
2)网络自动发现存在一定的缺点:zabbix serve r扫描主机速度慢,造成 zabbix server 压力大,资源消耗大。
三、Zabbix自动注册
3.1:Zabbix自动注册介绍
Zabbix自动注册是指Zabbix Agent主动且自动的向Zabbix Server发起注册请求,主动上报自己的主机信息。自动注册的功能更适合于在特定的环境中,如果Zabbix Agent某个条件未知(未知条件包括Agent端的IP地址段、Agent端的操作系统版本等信息),此时就无法使用自动发现了,可以通过自动注册自动添加监控主机。
自动注册功能主要用于Zabbix Agent主动且自动向Zabbix Server注册,即Zabbix Agent处于主动模式,主动向Zabbix Server发送数据进行注册。
自动注册的流程:
- zabbix agent 需要配置 ServerActive;
- zabbix agent 需要把自己的元数据提供给 zabbix server 或 zabbix proxy;
- zabbix server 添加动作,当收到元数据时候自动添加主机、链接模板等;
四:Zabbix自动注册批量添加主机
4.1:删除前面创建的自动发现规则
1)禁用或删除“告警”—>“动作”中刚才创建的发现动作
2)禁用或删除“数据采集”—>“自动发现”中刚才创建的自动发现规则
3)禁用或删除“数据采集”—>“主机”中自动发现的主机
4.2:创建自动注册动作
操作步骤:“告警”—>“动作”—>“自动注册动作”—>“创建动作”,填写以下信息:


4.3:创建自动注册动作中的操作

4.4:查看监控主机
操作步骤:“数据采集”—>“主机”,查看主机。

4.5:总结
自动注册是zabbix agent主动向 Zabbix Server 注册,无需手动添加主机信息,减少了管理员的操作步骤。减少了人工干预,降低了因管理员手动配置错误导致的故障风险。适用于大规模环境或动态环境(如云平台),能够快速响应新主机的上线。
自动注册也存在一定的缺点:zabbix agent配置复杂,需要添加 ServerActive 参数,配置错误导致注册主机失败。如果多个主机使用相同的主机名或元数据,可能导致注册冲突或覆盖。
Zabbix专栏学习指南:
开源分布式监控系统—Zabbix理论介绍
开源分布式监控系统—Zabbix 6.4.8 源码包安装与配置
开源分布式监控系统—Zabbix Agent 安装与配置
开源分布式监控系统—Zabbix自动发现+自动注册批量添加主机
开源分布式监控系统—Zabbix 主被动模式介绍与配置
总结:整理不易,如果对你有帮助,请记得点赞,关注,收藏。更多Zabbix相关知识持续分享中。


