自动发现
zabbix监控系统提供了有效且灵活的自动发现功能,该功能在大规模部署监控时非常有用。主要由server端发起发现进程,定时扫描。主要有以下优点:
加快Zabbix部署
简化管理
在快速变化的环境中使用Zabbix,无需过多管理
规则
自动发现基于以下信息
可用的外部服务(FTP、SSH、WEB、POP3、IMAP、TCP 等)
来自 Zabbix 客户端的信息(仅支持未加密模式)
来自 SNMP 客户端的信息
自动发现包含两个阶段 1.发现 2.动作,也就是说发现过后接下来是干什么
动作
发送通知
- 添加/删除主机
- 启用/禁用主机
- 将主机添加到组
- 从组中删除主机
- 将主机链接到模板/从模板取消链接
- 执行远程脚本
实例
1.当前只有一个server
2.创建自动发现规则
3.客户端配置
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.19.153.95
StartAgents=3
ServerActive=172.19.153.95
Hostname=web
Include=/etc/zabbix/zabbix_agentd.d/*.conf
4.添加动作
关联自动发现规则
5.在自动发现中查看是否已发现新的主机
6.开始监控
自动注册
Zabbix Active agent可以实现自动注册,进而服务器对其进行监控。通过这种方式,无需在服务器上进行手动配置便可直接启动对新host的监控。主要由客户端发起,并且需要安装agent服务。
在当前我们自己的云应用环境中,我更加倾向于使用自动注册。
自动重新注册规则
- 如果主机元数据信息更改:
- 由于HostMetadata已更改并且代理已重新启动
- 由于HostMetadataItem返回的值已更改
- 用于缺少元数据的手动创建的主机
- 如果手动将主机更改为由另一个Zabbix代理监视
- 如果同一主机的自动注册来自新的Zabbix代理
实例
1.当前只有一个server
2.配置客户端
[root@iZ2zecgq3cou36re3sxh4bZ ~]# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=47.93.184.140
StartAgents=3
ServerActive=47.93.184.140
Hostname=webserver-01
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@iZ2zecgq3cou36re3sxh4bZ ~]# systemctl restart zabbix-agent.service
3.配置规则
动作-左上角选择类型(autoregistration actions)
创建动作(可以选择主机名,主机源数据,agent数据等)
主机名包含webserver
选择操作选项卡
关联以下操作
解释
- 发送消息给administrators组
- 添加主机
- 关联到linux servers组
- 关联zabbix agent模版
以上如果匹配成功,即按上面流程完成自动注册操作
创建完成后确保状态为已启用
等待1-2分钟检查,查看已经添加成功
检查是否自动注册通知,我们使用的微信报警,参考前面文章
http://roddypy.com/2020/09/23/zabbix-%E7%9B%91%E6%8E%A7%E6%8A%A5%E8%AD%A6-%E5%BE%AE%E4%BF%A1/
需要在报警媒介关联自动注册通知
两者对比
- 自动发现和自动注册都可以添加主机、监控主机
- 自动发现规则较多
- 自动注册,注册方式少,需要安装agent由客户端主动上报数据,前提是需要能连通服务器
- 自动发现由于规则多,网段大的情况下会导致压力大,时间消耗多。