自动发现
Zabbix 为用户提供了高效灵活的网络自动发现功能,有以下优点:
- 加快 Zabbix 部署
- 简化管理
- 无需过多管理,也能在快速变化的环境中使用 Zabbix
Zabbix 网络发现基于以下信息
- IP 范围
- 可用的外部服务(FTP、SSH、WEB、POP3、IMAP、TCP 等)
- 来自 Zabbix 客户端的信息(仅支持未加密模式)
- 来自 SNMP 客户端的信息
# 不支持:发现网络拓扑
# 网络发现由两个阶段组成:发现和动作
网络发现由两个阶段组成(发现和动作)
# 原理
Zabbix 定期扫描网络发现规则中定义的IP范围,并为每条规则单独配置了检测的频率。
请注意,一条发现规则始终由一个发现进程处理,IP 范围不会在多个发现进程之间分割。
每条规则都定义了一组服务检测,对 IP 范围执行检测。
发现检测与其他检测独立处理。如果一些检测未找到服务(或失败),其他检测则仍会处理。。
事件
每次检测到服务和主机(IP)后,网络发现模块都会生成一个发现事件
事件 | 服务结果检测 |
---|---|
服务被发现 | 服务首次被发现或者服务由“关闭”变“开启” |
服务开启 | 服务持续“开启” |
服务丢失 | 服务由“开启”变“关闭” |
服务关闭 | 服务持续“关闭” |
主机被发现 | 在主机的所有服务都“关闭”之后,至少有一个服务重新“开启” |
主机开启 | 主机至少有一个服务持续“开启” |
主机丢失 | 主机的所有服务在至少一个是“开启”之后全部是“关闭” |
主机关闭 | 主机的所有服务都持续“关闭” |
动作
1.发送通知
2.添加/删除主机
3.启用/禁用主机
4.添加主机到组
5.从组中删除主机
6.将主机链接到/取消链接模板
7.执行远程脚本命令
# 基于事件的网络发现动作, 可以根据设备类型、IP地址、状态、运行时间/停机时间等进行配置,查看操作 and 条件页面。
网络发现实践
默认标题
自动发现主机IP:{DISCOVERY.DEVICE.IPADDRESS}
消息内容
客户端名称: {DISCOVERY.SERVICE.NAME}
客户端端口: {DISCOVERY.SERVICE.PORT}
客户端状态: {DISCOVERY.SERVICE.STATUS}
自动注册
ACTIVE-AGENT 自动注册
Zabbix Active agent可以实现自动注册,进而服务器对其进行监控。通过这种方式,无需在服务器上进行手动配置便可直接启动对新host的监控。
当以前未知的 Active agent 要求检查时,会发生自动注册。
这样功能可以非常方便的自动监控新的 Cloud 节点。一旦在 Cloud 中有一个新节点,Zabbix 将自动启动 host 的性能和可用性数据的收集。
Active agent 自动注册还支持对被添加的主机进行被动检查的监控。当 Active agent 要求检查时,前提是在配置文件中已定义好了 “ListenIP” 或 “ListenPort” 配置参数,这些参数将发送到服务器。(如果指定了多个 IP 地址,则第一个将被发送到服务器。)
服务器在添加新的自动注册主机时,使用接收到的 IP 地址和端口配置 agent。如果没有接收到IP地址值,则使用传入连接的IP地址。如果没有接收到端口值,则使用10050
自动注册情况
- 主机元数据信息发生变化
- 手动添加主机,元数据信息有缺失
- 手动切换主机,由另一台新的proxy监控
- 同一台host的自动注册由新的proxy发出
自动注册实践
客户端配置
[root@m01 ~]# vim /etc/zabbix/zabbix_agentd.conf
ServerActive=172.16.1.71
Hostname=m01
[root@m01 ~]# systemctl restart zabbix-agent.service
页面配置