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 将使用此检查列表进行发现。单击配置新的检查,将在弹出窗口中进行。 支持的检查类型: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 范围定义网络发现规则。
Zabbix 将尝试在 IP 范围 192.168.1.1 到 192.168.1.254 中发现主机,通过连接到 Zabbix agent并获取 system.uname 键的值来完成。从agent收到的值可用于命名主机,并根据不同的操作系统应用不同的操作。例如,将 Windows 服务器关联到模板 Windows,将 Linux 服务器关联到模板 Linux。
该规则将每 10 分钟执行一次。
添加此规则后,Zabbix 将自动启动发现并生成基于发现的事件,以供进一步处理。
第二步
定义一个网络发现 动作 ,用于 添加发现的Linux服务器到对应的组并链接到对应模板。
同时满足下列条件才会使动作生效:
- “Zabbix agent” 服务是已启动(up)状态的
- system.uname(规则里定义的Zabbix agent的键)的值包含 “Linux”
- 运行时长(uptime)大于1小时(3600秒)
动作会执行下列操作:
- 添加发现的主机到 “Linux服务器” 组(如果之前主机不存在,则同时创建主机)
- 链接主机到 Linux 模板。主机会自动纳入监控,监控使用 “Linux” 模板中的监控项和触发器
第三步
定义网络发现动作,添加发现的Windows服务器到对应组并链接到对应模板。
第四步
定义网络发现动作,删除丢失的(lost)主机。
如果 “Zabbix agent” 服务停止(down)时间超过24小时(86400秒),则会删除对应主机。