Zabbix提供高效灵活的网络自动发现功能。
网络发现的优势:
Zabbix网络发现依赖于以下信息:
不支持:
网络发现主要包含两个步骤:发现和动作。
Zabbix周期性地扫描网络发现规则中定义的IP地址范围。每条规则可单独配置检查频率。
注意,一条发现规则始终由一个独立的发现进程处理。一个IP地址范围不会拆分给多个发现进程处理。
每条规则可定义一组基于IP地址范围的服务检查。
发现规则中定义的每项检查各自独立执行。若其中任何一项检查未发现对应服务或检查失败,其它检查仍然正常执行。
对服务和主机(IP)的每次检查都会产生一个发现事件。
事件 | 服务检查结果 |
---|---|
发现服务 | 服务从停止(down)状态到已启动(up)状态,或服务首次被发现。 |
服务已启动(up) | 服务保持已启动(up)状态。 |
服务丢失(lost) | 服务从已启动(up)状态到停止(down)状态。 |
服务停止(down) | 服务保持停止(down)状态。 |
发现主机 | 主机从全部服务停止(down)状态到至少一个服务是已启动(up)状态,或发现一个未注册的主机的服务。 |
主机已启动(up) | 主机至少有一个服务保持已启动(up)状态。 |
主机丢失(lost) | 主机从至少有一个服务已启动(up)状态到所有服务停止(down)状态。 |
主机停止(down) | 主机的所有服务保持停止(down)状态。 |
发现事件可触发相关动作,例如:
这些动作可基于设备类型、IP、状态、运行时长(uptime)/停机时长(downtime)等条件来配置。欲了解如何配置这些动作,参阅动作的操作 和条件 页面获取完整细节。
通过网络发现添加的主机,如果其链接的模板中有一个唯一属性(如监控项的键)与该主机上的唯一属性相同,或与该模板链接的其它主机上的唯一属性相同,则这台主机上的所有模板均会链接失败。
选择 添加主机 操作来创建主机。但无需 添加主机 操作一样可以创建主机,只要该操作对主机造成了变更即可。此类操作有:
新建的主机会添加到 发现的主机 组 (默认设置,也可到 管理 → 通用 → 其它界面自定义)。 如果想更改主机的主机组,可以执行 从主机组中移除 的操作(选定 "发现的主机"组) 并执行 添加到主机组 的操作(选定另一个主机组),因为一个主机必须属于某个主机组。
当添加主机时,主机名是反向DNS解析的结果,如果解析失败,则主机名设置为IP地址。如果Zabbix server执行网络发现,则解析就在Zabbix server上执行,如果Zabbix proxy执行网络发现,则解析在Zabbix proxy上执行。 如果在proxy上解析失败,不会再到Zabbix server上做解析。如果同名主机已经存在,新发现的主机会在名字后面添加 _2后缀,后续新发现的同名主机的后缀数字依次增加。
可以使用监控项的主机名覆盖DNS/IP解析的主机名,比如:
如果已经使用了监控项的返回值作为主机名,则接下来的网络发现不会更新主机名。如果不使用监控项的返回值作为主机名,则使用默认值(DNS名称)。
如果新发现的主机IP地址已经存在,那么不会创建该主机。然而如果发现动作中包含添加模板、添加到主机组等操作,则会在现有的主机上执行相应操作。
如果发现的主机不再属于发现规则定义的IP地址范围内,则该主机自动从 监控 → 网络发现 中删除。主机会立刻被删除。
当通过网络发现规则添加主机时,主机接口遵循以下原则创建:
通过不同的proxy发现的主机始终被视为不同的主机。即便这种操作可以对不同的子网执行自动发现,但是为一个已纳入监控的子网替换proxy也很复杂,因为proxy的变更会同时应用到所有已发现的主机上。
比如下面在发现规则中替换proxy的步骤: