Zabbix提供自动网络发现功能,该功能高效且非常灵活。
通过正确设置网络发现,您可以:
加速Zabbix部署
简化管理
在快速变化的环境中使用Zabbix而无需过多干预
administration
Zabbix网络发现基于以下信息:
它不提供:
网络发现基本包含两个阶段:发现和操作。
Zabbix定期扫描network discovery rules中定义的IP范围。扫描的 每个规则可单独配置检查项。
请注意,单个发现规则始终由单一进程处理 发现器进程。IP范围不会在多个进程之间分割。 发现器进程
每个规则都定义了一组要针对IP执行的服务检查 范围
发现检查与其他处理过程相互独立 检查。如果任何检查未找到服务(或失败),其他检查将 仍需处理。
每次网络执行的一个主机(IP)和服务检查 发现模块生成一个发现事件。
事件 | 服务结果检查 |
---|---|
服务已发现 | 服务在从'宕机'状态恢复后或首次被发现时处于'运行'状态。 |
服务运行中 | 服务状态为'运行中',此前已处于'运行中'状态。 |
服务丢失 | 服务从'运行'状态变为'停止'状态。 |
服务宕机 | 服务已处于'宕机'状态后再次出现'宕机'。 |
主机 已发现 | 当某个主机的所有服务均处于'down'状态后,至少有一个一个主机服务恢复为'up',或发现属于未注册主机的服务时触发。 |
主机 运行中 | 当至少一个一个主机服务状态为'运行中',且此前已有至少一个服务处于'运行中'状态时触发。 |
主机 丢失 | 在至少一个服务处于'运行'状态后,一个主机的所有服务均变为'停止'状态。 |
主机 宕机 | 一个主机 的所有服务在已处于'宕机'状态后再次出现'宕机' |
发现事件可以作为相关 actions的基础,例如:
这些操作可以根据设备类型、IP、 状态、运行时间/停机时间等进行配置。有关为基于网络发现的事件配置操作的完整详细信息,请参阅操作 operation 和 conditions 页面。
由于网络发现操作是基于事件的,它们会在发现的 主机 在线和离线时触发。强烈建议添加一个操作 condition 发现状态:在线 以避免诸如 添加 主机 之类的操作在 服务丢失/服务停机 事件时被触发。否则,如果手动移除一个发现的 主机,它仍然会 generate 服务丢失/服务停机 事件,并在下一个发现周期中重新创建。
如果任何可链接模板具有与 主机 或另一个可链接模板上已存在的唯一实体(例如 监控项 键)相同的唯一实体(例如 监控项 键),则链接发现的 主机 到模板将整体失败。
如果选择了添加主机操作,则会添加一个主机。即使缺少添加主机操作,如果选择对一个主机执行操作的命令,也会添加一个主机。这些操作包括:
创建的主机会被添加到已发现的主机组(默认情况下,可在管理 → 常规 → 其他参数中配置)。 如果希望将主机添加到其他组,请添加从主机组中移除操作(指定"已发现的主机"),并同时添加添加到主机组操作(指定另一个主机组),因为主机必须属于一个主机组。
发现设备的IP地址是在系统中查找一个主机的标准。如果具有该IP地址和接口类型的一个主机已存在,则该主机将成为执行操作的目标。
如果发现的主机的IP地址发生更改或接口被删除,则在下次发现时将创建一个新的主机。
添加主机时,一个主机名称是反向DNS查询的结果,若查询失败则使用IP地址。查询由Zabbix服务器或Zabbix proxy执行,具体取决于执行发现的组件。如果在proxy上查询失败,则不会在服务器上重试。若已存在同名主机,则下一个主机会在名称后get追加_2,然后是_3,依此类推。
也可覆盖DNS/IP查询,改用监控项值作为主机名,例如:
可通过Zabbix agent的监控项值发现多台运行Zabbix agent的服务器,并根据该监控项返回的string值自动分配正确名称
可通过SNMP agent发现多台SNMP网络设备
item for discovery and assign proper names to them automatically, based on the string value returned by this item
若主机名称已通过监控项值设置,则在后续发现检查中不会更新。若无法通过监控项值设置主机名称,则使用默认值(DNS名称)。
若具有被发现IP地址的一个主机已存在,则不会创建新主机。但若发现操作包含关联模板、添加到主机组等操作,这些操作将在现有主机上执行。
由网络发现规则发现的主机如果不再处于规则的IP范围内,则会自动从监控 → 发现中移除。主机会被立即删除。
当主机作为网络发现的结果被添加时,它们get 根据以下规则创建接口:
由不同proxies发现的主机始终被视为不同的主机. 虽然这允许对不同子网使用的匹配IP范围执行发现, 但为已监控子网更改proxy会很复杂, 因为proxy变更必须同时应用于所有已发现的主机.
例如替换发现规则中proxy的步骤: