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

1 配置网络发现规则

概述

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

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

规则属性

所有红色的星号为必填字段.

参数 描
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
支持的子网掩码:
/16 - /30 for IPv4 addresses
/112 - /128 for IPv6 addresses
IP列表: 192.168.1.1-255, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24
Zabbix 3.0.0起,此字段支持空格,表格和多行。
Update interval 这参数定义Zabbix多久执行一次规则.
该间隔是在前一个发现实例的执行结束后进程测量的,因此不存在重叠.
自从 Zabbix 3.4.0 起支持时间后缀 列如: 30s, 1m, 2h, 1d,
自从 Zabbix 3.4.0 起支持 user macro.
注意 如果使用了用户宏并且其值已更改(例如 1w → 1h ), 下一次检查将根据之前的值执行(该值将被用于以后的案例).
检查(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[] f功能测试每个主机, 但不包括查询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) 使用复 框标记规则是激活的,将由Zabbix server执行.
如果未标记,则规则未激活,它不会被执行.

真实使用场景

例如我们设置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”
  • 正常运行时间为1小时(3600秒)或更长

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

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

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

步骤4

定义动作删除失联主机

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