Zabbix 提供高效且非常灵活的自动网络发现功能。
通过正确配置网络发现,您可以:
Zabbix 网络发现基于以下信息:
它不提供:
网络发现基本上包括两个阶段:发现和动作。
Zabbix会定期扫描network discovery rules中定义的IP地址范围。扫描频率取决于 每条规则均可单独配置检查项。
每个规则都定义了一组要针对IP执行的服务检查 范围
发现规则由发现管理器处理。发现管理器会创建 每条规则对应一个包含任务列表(网络检查)的作业。网络检查以并行方式执行。 由可用的发现工作进程处理(每个规则在前端均可配置工作进程数量)。 仅当检查具有相同IP和端口时才会按顺序调度,因为 某些设备不接受同一端口上的并行连接。
网络检查的队列大小限制约为2000000或4 GB的memory。如果队列已满,则 发现规则将被跳过,并在日志中打印一条警告消息。您可以使用 zabbix[discovery_queue]
内部 监控项 用于监控队列中的发现检查数量。
发现检查与其他检查是独立处理的。如果任何检查未找到服务(或失败), 其他检查仍将被处理。
如果在执行过程中修改了发现规则,当前发现执行将被中止。
每次对服务及一个主机(IP)的网络检查 发现模块生成一个发现事件。
事件 | 服务结果检查 |
---|---|
服务已发现 | 服务在从“宕机”状态恢复后或首次被发现时为“运行”状态。 |
服务运行 | 服务状态为'运行中',此前已处于'运行中'状态。 |
服务丢失 | 服务从“运行”状态变为“停止”状态。 |
服务宕机 | 该服务已处于'宕机'状态,且此前已处于'宕机'状态。 |
主机 已发现 | 当某个主机的所有服务均处于'down'状态后,其至少有一个一个主机服务恢复为'up',或发现属于未注册主机的服务时触发。 |
主机 恢复运行 | 当至少一个一个主机服务状态从非运行状态恢复为'运行'时触发,且系统此前已有至少一个服务处于'运行'状态。 |
主机 丢失 | 当至少一个服务曾处于'运行'状态时,一个主机 的所有服务均变为'停止'状态。 |
主机 宕机 | 一个主机 的所有服务在已处于'宕机'状态后再次出现'宕机' |
发现事件可以作为相关actions的基础,例如:
这些操作可以根据设备类型、IP、状态、运行时间/停机时间等进行配置。有关基于网络发现事件配置操作的完整信息,请参阅操作 operation 和 conditions 页面。
由于网络发现操作是基于事件的,因此在发现的 主机 上线或离线时都会触发操作。强烈建议添加一个操作 condition 发现状态:上线,以避免在 服务丢失/服务下线 事件发生时触发诸如 添加 主机 等操作。否则,如果发现的 主机 被手动移除,它仍然会generate 服务丢失/服务下线 事件,并在下一次发现周期中被重新创建。
如果任何可链接模板具有与主机上或其它可链接模板中已存在的唯一实体(例如监控项键)相同的唯一实体(例如监控项键),则将模板链接到发现的主机将会整体失败。
如果选择了添加 主机 操作,则会添加一个主机。一个主机也会 添加,即使缺少添加 主机 操作,如果你选择 在一个主机上执行操作的操作包括:
创建的 主机 会被添加到 已发现 主机 组中(默认情况下, 在 管理 → 常规 → 中可配置 其他参数). 如果您希望将 主机 添加到其他组,请添加一个 从 主机 移除 的操作。 组* 操作(指定“已发现 主机”)并添加一个 添加 添加到 主机 主机组 操作(指定另一个 主机组),因为 主机 必须属于 一个主机 组。
发现设备的IP地址是系统中查找一个主机的标准。如果已存在具有该IP地址和接口类型的一个主机,则该主机将成为执行操作的目标get。
如果发现的 主机 的 IP 地址发生更改或接口被删除,则在下次发现时将创建一个新的 主机。
添加 主机 时,一个主机 名称为反向 DNS 查找结果或 IP 如果反向查找失败,则使用该地址。查找由 Zabbix 执行 服务器或Zabbix proxy,具体取决于执行发现的主体。 在proxy上查找失败,不会在服务器上重试。如果主机 具有相同名称的项已存在,下一个 主机 将会 get _2 附加到名称末尾,然后是 _3,依此类推。
也可以覆盖DNS/IP查找,而使用监控项。 主机名 的值,例如:
如果使用监控项值设置了主机名称,则该名称不会更新 在以下发现检查期间。如果无法设置 主机 使用监控项值的名称,使用默认值(DNS名称)。
如果已存在具有已发现IP地址的一个主机,则会创建一个新的主机。 未创建。但是,如果发现动作包含操作(链接 模板,添加到 主机组 等),这些操作是在现有的 主机
由网络发现规则发现的主机,如果某个已发现的实体不再位于该规则的IP范围内,则会从 监控 → 发现 中自动移除。主机 会被立即移除。
当通过网络发现添加主机时,它们会get 根据这些规则创建的接口:
由不同 proxies 发现的 主机 始终被视为不同的 主机。虽然这允许在不同子网使用的匹配IP范围内执行发现,但对于已经监控的子网,更改 proxy 操作较为复杂,因为必须同时将 proxy 的更改应用到所有已发现的 主机。
例如,在发现规则中替换 proxy 的步骤如下: