1.网络发现
综述
zabbix提供网络发现功能,其高效而灵活。
当你正确的设置了网络发现功能后,你将可以实现以下功能:
- 加速zabbix的部署
- 简化管理
- 适应多变环境,减少管理强度
zabbix网络发现功能基于以下信息:
- IP地址范围
- 有效的扩展服务(FTP, SSH, WEB, POP3, IMAP, TCP等)
- 从zabbix-agent收到的信息(仅在非加密模式下生效)
- 从客户端发来的snmp消息
Network discovery不提供topo的发现功能。
Network discovery基本上由两部分组成:发现;执行
发现阶段(discovery):
zabbix周期性扫描在network discovery rules里设置的IP地址区间。每条规则(rule)可以设置其扫描的频率。
注意:每条规则总是被单独的被每次discovery过程调用,IP地址范围不会因为多个discovery过程而被分解。
每条规则由一组服务检查(service checks)组成,这些服务检查作用于IP地址范围。
【每个发现-检查(discovery checks)过程与其他发现-检查过程独立,当某一个检查过程没有发现对应服务(或者发现失败“fail”),其他检查进程依然会继续。】
由网络发现(network discovery)模块执行的服务/IP检查生成了发现事件(discovery event)
事件(event) | 服务检查结果 |
Service Discovered | 该服务由down状态变为up状态,或首次发现该服务 |
Service Up | 该服务持续处于up状态 |
Servce Lost | 该服务从up状态变为down状态 |
Service Down | 该服务持续处于down状态 |
Host Discovered | 当某主机的所有服务处于down状态之后,至少有一个服务变为up状态 |
Host Up | 当某主机至少有一个服务持续处于up状态 |
Host Lost | 当某主机所有服务变为down状态,且曾经有至少一个服务处于up状态 |
Host Down | 当某主机的所有服务持续处于down状态 |
执行阶段(action)
发现-事件(discovery events)可以作为相关action的基础依据,例如:
- 发送通告(Sending notifications)
- 增加、移除主机(Adding/removing hosts)
- 向组添加主机(Adding hosts to a group)
- 从组移除主机(Removing hosts from a group)
- 将主机链接到模板或从模板取消链接(Linking hosts to/unlinking from a template)
- 执行远程脚本(Executing remote scripts)
这些执行动作可以根据设备类型、ip、状态、开机/停机时间等进行配置。有关基于网络发现事件的配置细节,见operation说明和conditions说明。
主机建立(Host creation)
Add host操作可以建立一个主机,但当对主机执行以下操作时,就算Add host 操作丢失,也可以建立主机:
- 使主机enable
- 使主机disable
- 向组添加主机
- 让模板链接到主机
当添加主机时,主机名字来自于zabbix-server或者zabbix-proxy对于DNS的解析(取决于哪个角色进行discovery过程),当zabbix-proxy域名解析失败时,server并不会进行尝试解析。当DNS解析失败时,采用IP地址登记。此外,如果某个host name已经存在,后续的主机将在此名字末尾加“_N”来表示,N≥2。
创建的主机将被添加到Discovery hosts group(此为默认情况。可以在Administration→General→Other中配置)。因为主机必须要属于某个组,如果你想让主机被添加在其他组内,执行Remove from host groups操作(指定“Discovery hosts”),同时执行Add to host groups操作(指定其他的组)。
主机排除(Host removal)
自从zabbix2.4.0以来,当某个发现实体(Discovery entity)不再属于规定的IP地址范围,由网络发现规则创建的主机将会自动被删除。
添加主机时的接口建立(Interface creation when adding hosts)
当主机由网络发现功能添加,其接口建立根据以下规则:
- 服务被侦测:例如如果SNMP检查执行成功,SNMP接口将被建立。
- 如果主机响应了zabbix-agent和SNMP的请求,则这两种接口都被建立。
- 如果唯一标准是zabbix-agent或者SNMP回传报文,则为主机建立的接口为首先找到的那一个,其余IP地址将作为附加接口被建立。
- 如果主机只响应代理检查(agent check),其只会建立代理接口;但之后如果要开始响应SNMP,此SNMP接口将作为附加接口被建立。
- 开始有基于唯一性条件“IP发现规则”添加的3台独立的主机,之后因为发现规则的修改使得主机A,B,C具有相同的唯一性条件,B,C将作为“最先创建的主机”A的附加接口而建立。主机B,C将被保留下来,在Monitoring→Discovery下,建立的接口以黑体缩进形式显示在“Discovery device”列表里,“Monitored host”列表只会显示首先添加的主机。被视作附加接口的那些IP地址,不会监测其正常时间和停机时间(Uptime/Downtime)