2022 Zabbix中国峰会
2022 Zabbix中国峰会

配置网络发现规则

概述

配置Zabbix的网络发现规则去发现主机和服务:

  • 首先配置(Configuration) → 自动发现(Discovery)
  • 单击创建发现规则(Create rule)(或在自动发现规则名称上编辑现有规则)
  • 编辑自动发现规则属性

规则属性

参数 描
名称(Name) 规则名 ,唯一。 例如: "Local network".
通过代理发现  谁执行当前(Discovery by proxy) 现规则:
no proxy - Zabbix server 执行发现
<proxy name> - 指定的proxy执行
IP范围(IP range) 发现规 中的IP地址范围. 格式如下:
单个IP: 192.168.1.33
IP段: 192.168.1-10.1-255。 范围受限于覆盖地址的总数(小于64K)。
子网掩码: 192.168.4.0/24
支持的子网掩码:
IPv4: /16 - /30
IPv6: /112 - /128
IP列表: 192.168.1.1-255, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24
从Zabbix 3.0.0起,此字段支持空格,表格和多行。
延迟(Delay) (秒) 此参 定义Zabbix将执行规则的频率。
规则执行完毕之后,要多久才执行下一次。
检查(Checks) Z bbix将使用这个检查列表进行发现。
支持的checks: SSH, LDAP, SMTP, FTP, HTTP, HTTPS, POP, NNTP, IMAP, TCP, Telnet, Zabbix agent, SNMPv1 agent, SNMPv2 agent, SNMPv3 agent, ICMP ping.
基于协议的发现使用 net.tcp.service[] 功能测试每个主机, 但不包括查询SNMP OID的SNMP协议。 通过在未加密模式下查询监控项(item)来测试Zabbix agent 。 有关更多详情,请参阅agent items
“端口”参数可以是以下之一:
单端口: 22
端口段: 22-45
端口列表: 22-45,55,60-70
设备唯一标识  唯一标准如(Device uniqueness criteria) :
IP地址 - 使用 IP 地址作为设备唯一性标识,不处理多IP设备。如果具有相同IP的设备已经存在,则将认为已经发现,并且不会添加新的主机。
发现检查类型 - 使用 SNMP 或者 Zabbix agent 的 check 作为唯一标识。
启用(Enabled) 启用当前规则。

修改代理(proxy)设置

从Zabbix 2.2.0起,不同的代理发现的主机被认为是不同的主机。虽然这允许在不同子网使用相同的IP段执行发现,但是对已监测子网改变代理复杂,是因为代理的变化也必须应用于所有发现的主机。在发现规则中替换代理的步骤如下:

  1. 禁用发现规则
  2. 同步代理配置
  3. 替换发现规则中的代理
  4. 替换由此规则发现的所有主机的代理
  5. 启用发现规则

真实使用场景

例如我们设置IP段为192.168.1.1-192.168.1.254的网络发现规则。

在我们的例子中,我们需要:

  • 发现有Zabbix agent运行的主机
  • 每10分钟执行一次
  • 如果主机正常运行时间超过1小时,添加主机
  • 如果主机停机时间超过24小时,删除主机
  • 将Linux主机添加到“Linux servers”组
  • 将Windows主机添加到“Windows servers”组
  • 链接模板 Template OS Linux 到Linux主机
  • 链接模板 Template OS Windows 到Windows主机
步骤1

首先给我们的IP段定义网络发现规则。

Zabbix试图通过连接Zabbix agents并获取system.uname键值来发现IP段为192.168.1.1-192.168.1.254中的主机。根据不同键值来对应不同的操作系统的不同操作。例如将Windows服务器链接到Template OS Windows,将Linux服务器链接到Template OS Linux。

规则将每10分钟(600秒)执行一次。

当规则添加后,Zabbix将自动执行发现规则并生成基于发现的事件做后续处理。

步骤2

定义动作(action) 将所发现的Linux服务器添加到相应的组/模板

如果发生以下情况,动作(action)将被激活:

  • "Zabbix agent"服务是"up"
  • system.uname(规则中定义的Zabbix agent值)包含"Linux"more
  • 正常运行时间为1小时(3600秒)或更长时间

该动作(action)将执行以下操作:

  • 将发现的主机添加到“Linux servers”组(如果以前未添加主机,也添加主机)
  • 链接主机到“Template OS Linux”模板。Zabbix将自动开始使用“Template OS Linux”模板中的项目和触发器来监控主机。
步骤3

定义动作(action) 将所发现的Windows服务器添加到相应的组/模板

步骤4

定义动作删除失联主机

如果“Zabbix agent”服务'down'超过24小时(86400秒),服务器将被删除。