哈喽大家好,我是咸鱼
昨天老大让我初始化一批服务器,吭哧吭哧弄完之后需要把这批机器添加到 zabbix 上去
但是我发现一台一台添加效率好低,而且特别繁琐,当时我没有想出有什么好的方法,今天上网搜了一下相关资料之后,发现 zabbix 还有个自动发现功能
手动添加监控主机的效率会非常低下,而 Zabbix 的自动发现功能可以帮助减轻工作量,提高效率
自动发现(Auto Discovery)是 Zabbix 的一个重要功能之一,它通过 Zabbix 自动扫描网络或设备,检测到新的主机或服务时自动添加到监控系统中,允许系统管理员轻松地动态添加、监控新的主机和服务,而不需要手动配置监控项
那么我们来看看如何通过 zabbix 的自动发现功能来实现自动地添加新主机吧
添加自动发现规则
首先我们登录 zabbix 的 web 界面(以我为例,我的 zabbix-server 版本为 Zabbix 6.4.2,不同 zabbix 版本界面会不一样)
然后左侧点击 Data collection ——> Discovery 进入到自动发现界面
接着右上角新建规则
配置自动发现规则
添加自动发现动作
自动发现规则是不过是去扫描对应机器,我们还需要为其添加相应的动作(即扫描到这个机器之后下一步该干什么)
首先左侧Alerts
——> Actions
——> Discovery actions
,然后右上角点击新建动作
【动作执行的条件】选择前面我们定义的【自动发现规则】
接着我们去配置动作的内容(即【要干什么】)
自动发现规则和动作触发器添加完毕后,zabbix-server 会周期对指定网段进行扫描,当发现符合检查的主机后就会触发相关的动作,主机就会被自动添加
出现告警
添加完之后,我发现 zabbix-server 有告警
看告警信息我们可以得知 discovery
进程的使用率超过了 75%
(需要注意的是:每个 discovery
任务在一定时间内会占用一个 discovery
进程)
先看一下 zabbix-server 配置文件( zabbix_server.conf
),发现默认配置只有 1 个 discovery
(被注释,默认生效)
而且我配置的自动发现间隔太短了(间隔为 2s),导致 discovery
进程的使用率在短时间内急剧上升,从而触发了告警
如何解决?
方法一:延长扫描间隔
通过延长扫描间隔时间来降低平均时间内进程的占用率
方法二:把 discovery 进程数量调高
编辑 zabbix server 配置文件 /etc/zabbix/zabbix_server.conf
找到 StartDiscoverers
,把注释去掉,值给个 2 或者 3 即可,然后重启 zabbix server 服务