1 配置网络发现规则

概述

配置用于发现主机和服务的网络发现规则:

  • 找到 配置→ 网络发现
  • 点击 创建规则 (或点击规则名称,编辑现有规则)
  • 编辑规则属性

规则属性

1 配置网络发现规则 - 图1

所有必填字段都用红色星号标记。

参数描述
名称规则的唯一名称。例如,“本地网络”。
发现方式执行发现的方式:
Server - 由Zabbix server执行
Proxy - 由Zabbix proxy执行(在proxy名称字段中选择)
IP范围发现的IP地址范围。可以有以下格式:
单个IP:192.168.1.33
IP地址范围:192.168.1-10.1-255。范围受覆盖地址总数的限制(小于64K)。
IP掩码:192.168.4.0/24
支持的IP掩码:
/16 - /30适用于IPv4地址
/112 - /128适用于IPv6地址
列表:192.168.1.1-255, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24
该字段支持空格、制表符和多行。
更新间隔定义Zabbix执行规则的频率。
间隔是在前一个发现实例结束后测量的,因此没有重叠。
支持时间后缀,例如30s、1m、2h、1d。
支持用户宏
注意,如果使用了用户宏并且其值已更改(例如1w → 1h),下次检查将按照先前的值执行(在示例值中,可能是在未来很长时间内)。
每种类型的最大并发检查数设置每个服务检查的最大发现线程(工作线程)数,以并行处理发现检查:
一个 - 一个线程
无限制 - 无限数量的线程(但不超过StartDiscoverers参数中指定的数量)
自定义 - 设置自定义数量的线程(0-999)
请注意,由于libsnmp实现的特殊性,所有带有SNMPv3异步服务检查的发现规则都由一个工作线程处理,因此增加工作线程数量不会提高发现速度。
检查Zabbix 将使用此检查列表进行发现。单击1 配置网络发现规则 - 图2配置新的检查,将在弹出窗口中进行。
支持的检查类型: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 使用 SNMP OID 查询之外。Zabbix agent通过在未加密模式下查询项目来进行测试。请参阅agent监控项获取更多详情。
参数 ‘Ports’ 可以是以下之一:
单个端口:22
端口范围:22-45
列表:22-45,55,60-70
自 Zabbix 7.0 版本起,所有服务检查都是异步执行,除了 LDAP 检查。
自 Zabbix 7.0 版本起,HTTP/HTTPS 检查通过 libcurl 进行。如果 Zabbix server/proxy没有编译 libcurl,则 HTTP 检查将像以前的版本一样工作(即作为 TCP 检查),但 HTTPS 检查将无法工作。
设备唯一性标准唯一性标准可以是:
IP地址 - 不处理多个单IP设备。如果已经存在具有相同IP的设备,则将视为已发现,并且不会添加新主机。
<发现检查> - 可以是 Zabbix agent或 SNMP agent检查。
主机名设置创建主机的技术主机名使用:
DNS名称 - DNS名称(默认)
IP地址 - IP地址
<发现检查> - 接收到的发现检查的字符串值(例如 Zabbix agent、SNMP agent检查)
参见:主机命名
可见名称设置创建主机的可见主机名使用:
主机名 - 技术主机名(默认)
DNS名称 - DNS名称
IP地址 - IP地址
<发现检查> - 接收到的发现检查的字符串值(例如 Zabbix agent、SNMP agent检查)
参见:主机命名
启用勾选此复选框表示规则处于活动状态,将由 Zabbix server执行。
如果未勾选,则规则处于非活动状态,将不会执行。
超出文件描述符限制

当大量并发检查时,可能会耗尽发现管理器的文件描述符限制。

用于检测的文件描述符数量等于发现工作进程数乘以1000。默认情况下有5个发现工作进程,而系统的软限制约为1024。

在这种情况下,Zabbix将减少每个工作进程每种类型的默认并发检查数,并将警告写入日志文件。但是,如果用户为每种类型的最大并发检查数设置了比Zabbix计算值更高的值,Zabbix将在一个工作进程中使用用户的值。

一个真实场景

在这个例子中,会演示如何给本地IP地址范围192.168.1.1-192.168.1.254设置网络发现规则。

需要在这个场景中实现:

  • 发现运行了Zabbix agent的主机
  • 每十分钟执行一次发现
  • 如果主机运行时长大于一小时,添加该主机到监控中
  • 如果主机停机时长大于二十四小时,则删除主机
  • 添加Linux主机到”Linux服务器”组中
  • 添加Windows主机到”Windows服务器”组中
  • 给Linux主机使用 Linux 模板
  • 给Windows主机使用 Windows 模板
步骤 1

为我们的 IP 范围定义网络发现规则。

1 配置网络发现规则 - 图3

Zabbix 将尝试在 IP 范围 192.168.1.1 到 192.168.1.254 中发现主机,通过连接到 Zabbix agent并获取 system.uname 键的值来完成。从agent收到的值可用于命名主机,并根据不同的操作系统应用不同的操作。例如,将 Windows 服务器关联到模板 Windows,将 Linux 服务器关联到模板 Linux

该规则将每 10 分钟执行一次。

添加此规则后,Zabbix 将自动启动发现并生成基于发现的事件,以供进一步处理。

第二步

定义一个网络发现 动作 ,用于 添加发现的Linux服务器到对应的组并链接到对应模板。

1 配置网络发现规则 - 图4

同时满足下列条件才会使动作生效:

  • “Zabbix agent” 服务是已启动(up)状态的
  • system.uname(规则里定义的Zabbix agent的键)的值包含 “Linux”
  • 运行时长(uptime)大于1小时(3600秒)

1 配置网络发现规则 - 图5

动作会执行下列操作:

  • 添加发现的主机到 “Linux服务器” 组(如果之前主机不存在,则同时创建主机)
  • 链接主机到 Linux 模板。主机会自动纳入监控,监控使用 “Linux” 模板中的监控项和触发器
第三步

定义网络发现动作,添加发现的Windows服务器到对应组并链接到对应模板。

1 配置网络发现规则 - 图6

1 配置网络发现规则 - 图7

第四步

定义网络发现动作,删除丢失的(lost)主机。

1 配置网络发现规则 - 图8

1 配置网络发现规则 - 图9

如果 “Zabbix agent” 服务停止(down)时间超过24小时(86400秒),则会删除对应主机。