3 低级发现
概述
低级别发现(LLD)提供了一种自动为主机上的不同实体创建监控项、触发器和图形的方法。 例如,Zabbix 可以自动开始监控你机器上的文件系统或网络接口,而无需手动为每个文件系统或网络接口创建监控项。 LLD 还可以创建主机,例如,用于填充在 hypervisor 上发现的虚拟机。 此外,还可以将 Zabbix 配置为根据周期性执行发现的实际结果自动移除不需要的实体。
用户可以定义自己的发现类型,只要它们遵循特定的 JSON 协议即可。
发现过程的一般架构如下。
首先,用户在 数据采集 > 模板 中的 发现 列里创建一条发现规则。 一条发现规则由两部分组成:(1) 一个用于发现所需实体的监控项(例如,文件系统或网络接口),以及 (2) 应基于该监控项的值创建的监控项、触发器和图形原型。
用于发现所需实体的监控项与其他地方看到的普通监控项类似:服务器向 Zabbix agent(或该监控项所设置的其他类型)请求该监控项的值,agent 返回一个文本值。
不同之处在于,agent 返回的值应包含一个以 JSON 格式表示的已发现实体列表。
虽然这种格式的细节只对自定义发现检查的实现者重要,但需要知道返回值包含一个 macro → value 对列表。
例如,监控项 net.if.discovery 可能返回两个对:{#IFNAME} → lo 和 {#IFNAME} → eth0。
这些宏会用于名称、键值以及其他原型字段中,然后在创建每个已发现实体对应的实际监控项、触发器、图形,甚至主机时,用接收到的值进行替换。 有关使用 LLD 宏的完整选项列表,请参见。
当服务器收到某个发现监控项的值时,它会查看这些 macro → value 对,并针对每一对,基于其原型生成实际的监控项、触发器和图形。 以上面的 "net.if.discovery" 为例,服务器会为回环接口 "lo" 生成一组监控项、触发器和图形,并为接口 "eth0" 生成另一组。
请注意,自 Zabbix 4.2 起,低级别发现规则返回的 JSON 格式已发生变化。 现在不再要求 JSON 中包含 "data" 对象。 低级别发现现在接受包含数组的普通 JSON,以支持诸如监控项值预处理以及 JSON 文档中低级别发现宏值的自定义路径等新功能。
内置发现键已更新为在 JSON 文档根部返回一个 LLD 行数组。
如果数组字段使用 {#MACRO} 语法作为键,Zabbix 会自动提取宏和值。
任何新的原生发现检查都将使用不包含 "data" 元素的新语法。
在处理低级别发现值时,首先定位根节点($. 或 $.data 处的数组)。
虽然所有与发现相关的原生监控项中的 "data" 元素已被移除,但为了向后兼容,Zabbix 仍然接受带有 "data" 元素的 JSON 表示,不过不建议使用。
如果 JSON 包含一个仅有单个 "data" 数组元素的对象,则会自动使用 JSONPath $.data 提取该元素的内容。
低级别发现现在还接受可选的用户自定义 LLD 宏,并可通过 JSONPath 语法指定自定义路径。
由于上述变更,较新的 agent 将无法与较旧的 Zabbix 服务器配合工作。
另请参见:已发现的实体
配置低级别发现
我们将以文件系统发现为例来说明低级别发现。
要配置发现,请执行以下操作:
- 转到 Data collection > Templates 或 Hosts。
- 在相应模板/主机所在行中单击 Discovery。

- 单击屏幕右上角的 Create discovery rule。
- 在发现规则表单中填写所需的详细信息。
发现规则
发现规则表单包含五个选项卡,从左到右表示发现过程中的数据流:
- 发现规则 - 主要指定用于获取发现数据的内置监控项或自定义脚本。
- 预处理 - 对发现到的数据应用一些预处理。
- LLD 宏 - 允许提取一些宏值,以便在发现到的监控项、触发器等中使用。
- 过滤器 - 允许过滤发现到的值。
- 覆盖 - 允许在应用到特定发现对象时修改监控项、触发器、图形或主机原型。
发现规则 选项卡包含用于发现的监控项键,以及一些通用的发现规则属性:

所有必填输入字段都用红色星号标记。
| Parameter | Description |
|---|---|
| Name | 发现规则名称。 |
| Type | 执行发现所使用的检查类型。 在此示例中,我们使用的是 Zabbix agent 监控项类型。 发现规则也可以是一个 依赖监控项,依赖于普通监控项。它不能依赖于另一个发现规则。对于依赖监控项,请选择相应类型(Dependent item),并在 'Master item' 字段中指定主监控项。主监控项必须存在。 |
| Key | 输入发现监控项键(最多 2048 个字符)。 例如,您可以使用内置的 vfs.fs.discovery 监控项键返回一个 JSON 字符串,其中包含计算机上存在的文件系统列表、它们的类型以及挂载选项。请注意,文件系统发现的另一种方式是使用 vfs.fs.get agent 键的发现结果(参见 示例)。 |
| Update interval | 此字段指定 Zabbix 执行发现的频率。开始配置文件系统发现时,您可能希望将其设置为较短的间隔;但在确认其正常工作后,可以将其设置为 30 分钟或更长,因为文件系统通常不会频繁变化。 支持时间后缀,例如 30s、1m、2h、1d。 支持用户宏。 注意:只有在存在非零值的自定义间隔时,才能将更新间隔设置为 '0'。如果设置为 '0',且存在非零值的自定义间隔(灵活或计划),则会在自定义间隔持续时间内轮询该监控项。 新的发现规则会在创建后 60 秒内进行检查,除非它们具有计划或灵活更新间隔,并且 Update interval 设置为 0。 注意,对于现有发现规则,可以通过点击 Execute now 按钮立即执行发现。 |
| Custom intervals | 您可以为检查该监控项创建自定义规则: Flexible - 为 Update interval 创建一个例外(不同频率的间隔) Scheduling - 创建自定义轮询计划。 详细信息请参见自定义间隔。 |
| Timeout | 设置发现检查超时时间。请选择超时选项: Global - 使用 proxy/全局超时(显示在灰色的 Timeout 字段中); Override - 使用自定义超时(在 Timeout 字段中设置;允许范围:1 - 600s)。支持时间后缀,例如 30s、1m,以及用户宏。 点击 Timeouts 链接可配置 proxy 超时或 全局 超时(如果未使用 proxy)。请注意,只有具有 Super admin 类型且对 Administration > General 或 Administration > Proxies 前端部分拥有权限的用户,才能看到 Timeouts 链接。 |
| Delete lost resources | 指定当发现实体的发现状态变为“未再发现”后,多久删除该实体: Never - 不删除; Immediately - 立即删除; After - 在指定时间后删除。该值必须大于 Disable lost resources 的值。 支持时间后缀,例如 2h、1d。 支持用户宏。 注意:不建议使用“Immediately”,因为仅仅错误地编辑过滤器就可能导致该实体及其所有历史数据被删除。 请注意,手动禁用的资源不会被低级别发现删除。 |
| Disable lost resources | 指定当发现实体的发现状态变为“未再发现”后,多久禁用该实体: Never - 不禁用; Immediately - 立即禁用; After - 在指定时间后禁用。该值应大于发现规则更新间隔。 请注意,如果自动禁用的资源再次被低级别发现重新发现,它们会重新启用。手动禁用的资源即使再次被发现,也不会重新启用。 如果 Delete lost resources 设置为“Immediately”,则不显示此字段。 支持时间后缀,例如 2h、1d。 支持用户宏。 |
| Description | 输入描述。 |
| Enabled | 如果勾选,将处理该规则。 |
发现规则历史不会被保留。
预处理
预处理 选项卡允许定义要应用于发现结果的转换规则。 在此步骤中可以执行一个或多个转换。 转换将按照定义的顺序执行。 所有预处理都由 Zabbix 服务器完成。
另请参见:

| Type | ||
|---|---|---|
| Transformation | Description | |
| Text | ||
| Regular expression | 将接收到的值与 <pattern> 正则表达式匹配,并用提取的 <output> 替换该值。正则表达式支持使用 \N 序列最多提取 10 个捕获组。 参数: pattern - 正则表达式 output - 输出格式模板。\N(其中 N=1…9)转义序列会被替换为第 N 个匹配组。\0 转义序列会被替换为匹配到的文本。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| Replace | 查找搜索字符串并将其替换为另一个字符串(或不替换)。搜索字符串的所有出现位置都会被替换。 参数: search string - 要查找并替换的字符串,区分大小写(必填) replacement - 用于替换搜索字符串的字符串。替换字符串也可以为空,从而在找到搜索字符串时将其删除。 可以使用转义序列来搜索或替换换行符、回车符、制表符和空格 "\n \r \t \s";反斜杠可转义为 "\\",转义序列可转义为 "\\n"。在低级发现过程中,会自动对换行符、回车符和制表符进行转义处理。 |
|
| Structured data | ||
| JSONPath | 使用 JSONPath 功能 从 JSON 数据中提取值或片段。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| XML XPath | 使用 XPath 功能从 XML 数据中提取值或片段。 要使此选项生效,Zabbix 服务器必须在编译时启用 libxml 支持。 示例: number(/document/item/value) 将从 <document><item><value>10</value></item></document> 中提取 10number(/document/item/@attribute) 将从 <document><item attribute="10"></item></document> 中提取 10/document/item 将从 <document><item><value>10</value></item></document> 中提取 <item><value>10</value></item>请注意,不支持命名空间。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| CSV to JSON | 将 CSV 文件数据转换为 JSON 格式。 更多信息请参见:CSV to JSON 预处理。 |
|
| XML to JSON | 将 XML 格式的数据转换为 JSON。 更多信息请参见:序列化规则。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| SNMP | ||
| SNMP walk value | 根据指定的 OID/MIB 名称提取值并应用格式化选项: Unchanged - 返回未转义的 Hex-STRING 十六进制字符串(注意 仍会应用显示提示); UTF-8 from Hex-STRING - 将 Hex-STRING 转换为 UTF-8 字符串; MAC from Hex-STRING - 将 Hex-STRING 转换为 MAC 地址字符串(其中 ' ' 将替换为 ':');Integer from BITS - 将以十六进制字符序列表示的位字符串的前 8 个字节(例如 "1A 2B 3C 4D")转换为 64 位无符号整数。对于长度超过 8 字节的位字符串,后续字节将被忽略。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| SNMP walk to JSON | 将 SNMP 值转换为 JSON。在 JSON 中指定字段名以及对应的 SNMP OID 路径。字段值将由指定 SNMP OID 路径中的值填充。 您可以将此预处理步骤用于 SNMP OID 发现。 可用的值格式化选项与 SNMP walk value 步骤类似。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| SNMP get value | 对 SNMP get 值应用格式化选项: UTF-8 from Hex-STRING - 将 Hex-STRING 转换为 UTF-8 字符串; MAC from Hex-STRING - 将 Hex-STRING 转换为 MAC 地址字符串(其中 ' ' 将替换为 ':');Integer from BITS - 将以十六进制字符序列表示的位字符串的前 8 个字节(例如 "1A 2B 3C 4D")转换为 64 位无符号整数。对于长度超过 8 字节的位字符串,后续字节将被忽略。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| Custom scripts | ||
| JavaScript | 在参数字段中单击或单击其旁边的铅笔图标时打开的模态编辑器中输入 JavaScript 代码。 请注意,可用的 JavaScript 长度取决于所使用的数据库。 更多信息请参见:Javascript 预处理 |
|
| Validation | ||
| Does not match regular expression | 指定一个值不得匹配的正则表达式。 例如 Error:(.*?)\.如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| Check for error in JSON | 检查位于 JSONPath 中的应用级错误消息。如果成功且消息不为空,则停止处理;否则继续使用此预处理步骤之前的值进行处理。请注意,这些外部服务错误会按原样报告给用户,不会附加预处理步骤信息。 例如 $.errors。如果收到类似 {"errors":"e1"} 的 JSON,则不会执行下一步预处理。如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| Check for error in XML | 检查位于 Xpath 中的应用级错误消息。如果成功且消息不为空,则停止处理;否则继续使用此预处理步骤之前的值进行处理。请注意,这些外部服务错误会按原样报告给用户,不会附加预处理步骤信息。 如果解析无效 XML 失败,不会报告错误。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| Matches regular expression | 指定一个值必须匹配的正则表达式。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| Throttling | ||
| Discard unchanged with heartbeat | 如果某个值在定义的时间段内未发生变化,则丢弃该值(单位:秒)。 支持使用正整数指定秒数(最小值为 1 秒)。此字段中可以使用时间后缀(例如 30s、1m、2h、1d)。此字段中可以使用用户宏和低级发现宏。 一个发现监控项只能指定一种节流选项。 例如 1m。如果在 60 秒内两次传入相同文本,则会被丢弃。注意:更改监控项原型不会重置节流。只有在更改预处理步骤时才会重置节流。 |
|
| Prometheus | ||
| Prometheus to JSON | 将所需的 Prometheus 指标转换为 JSON。 更多详情请参见:Prometheus 检查。 |
|
请注意,如果该发现规则是通过模板应用到主机上的,则此选项卡内容为只读。
自定义宏
LLD 宏 选项卡允许指定自定义的低级别发现宏。
在返回的 JSON 中尚未定义所需宏时,自定义宏非常有用。 例如:
- 用于文件系统发现的原生
vfs.fs.discovery键会返回一个 JSON,其中包含一些预定义的 LLD 宏,例如{#FSNAME}、{#FSTYPE}。 这些宏可以直接用于监控项、触发器原型(参见本页后续章节);无需定义自定义宏; vfs.fs.getagent 监控项也会返回一个包含 文件系统数据 的 JSON,但不包含任何预定义的 LLD 宏。 在这种情况下,您可以自行定义这些宏,并使用 JSONPath 将它们映射到 JSON 中的值:

提取出的值可用于已发现的监控项、触发器等。 请注意,值将从发现结果以及截至目前的所有预处理步骤结果中提取。
| Parameter | Description |
|---|---|
| LLD macro | 低级别发现宏的名称,使用以下语法:{#MACRO}。 |
| JSONPath | 用于使用 JSONPath 语法从 LLD 行中提取 LLD 宏值的路径。 从返回的 JSON 中提取的值将用于替换监控项、触发器等原型字段中的 LLD 宏。 JSONPath 可以使用点表示法或方括号表示法。对于包含特殊字符和 Unicode 的情况,应使用方括号表示法,例如 $['unicode + special chars #1']['unicode + special chars #2']。例如, $.foo 将从以下 JSON 中提取 "bar" 和 "baz":[{"foo":"bar"}, {"foo":"baz"}]请注意, $.foo 也会从以下 JSON 中提取 "bar" 和 "baz":{"data":[{"foo":"bar"}, {"foo":"baz"}]},因为单个 "data" 对象会自动处理(为与 4.2 之前版本的 Zabbix 中低级别发现实现保持向后兼容)。 |
过滤器
过滤器可用于仅为符合条件的实体生成实际的监控项、触发器和图形。 Filters 选项卡包含发现规则过滤器定义,用于过滤发现值:

| 参数 | 说明 |
|---|---|
| 计算类型 | 可用的过滤器计算选项如下: And - 所有过滤器都必须通过; Or - 只要有一个过滤器通过即可; And/Or - 对不同的宏名称使用 And,对相同的宏名称使用 Or; 自定义表达式 - 允许定义自定义的过滤器计算方式。公式必须包含列表中的所有过滤器。最多 255 个字符。 |
| 过滤器 | 可用的过滤条件运算符如下:matches、does not match、exists、does not exist。 Matches 和 does not match 运算符需要 Perl Compatible Regular Expression (PCRE)。 您可以在 Regular expression 字段中输入正则表达式,或引用全局 regular expression。 Exists 和 does not exist 运算符允许根据响应中是否存在指定的 LLD 宏来过滤实体。 请注意,如果响应中缺少过滤器中的某个宏,则找到的实体将被忽略,除非为该宏指定了“does not exist”条件。 如果宏的缺失会影响表达式结果,将显示警告。例如,如果 {#B} 缺失于:{#A} matches 1 and {#B} matches 2 - 将给出警告{#A} matches 1 or {#B} matches 2 - 不会给出警告。 |
例如,如果您只对 C:、D: 和 E: 文件系统感兴趣,可以在 Macro 字段中填入 {#FSNAME},并在 Regular expression 字段中填入 ^C|^D|^E。
也可以使用 {#FSTYPE} 宏按文件系统类型进行过滤(例如 ^ext|^reiserfs),以及使用 {#FSDRIVETYPE} 宏按驱动器类型进行过滤(仅 Windows agent 支持,例如 fixed)。
要测试正则表达式,可以使用 grep -E,例如:
for f in ext2 nfs reiserfs smbfs;
do echo $f | grep -E '^ext|^reiserfs' || echo "SKIP: $f";
done
LLD 规则中使用的正则表达式如果出错或有拼写错误(例如,“File systems for discovery” 正则表达式不正确),可能会导致删除许多主机上的成千上万个配置元素、历史值和事件。
如果要正确发现仅在大小写上不同的文件系统名称,MySQL 中的 Zabbix 数据库必须以区分大小写的方式创建。
覆盖
Overrides 选项卡允许设置规则,以修改符合给定条件的已发现对象的监控项、触发器、图形和主机原型列表,或修改其属性。

覆盖项(如果有)会以可重新排序的拖放列表显示,并按定义顺序执行。要配置新覆盖项的详细信息,请在 Overrides 区块中单击
。
要编辑现有覆盖项,请单击覆盖项名称。
将打开一个弹出窗口,允许编辑覆盖规则的详细信息。

所有必填参数都用红色星号标记。
| 参数 | 说明 |
|---|---|
| Name | 唯一的(针对每条 LLD 规则)覆盖项名称。 |
| If filter matches | 定义当满足筛选条件时,是否继续处理后续覆盖项: Continue overrides - 将处理后续覆盖项。 Stop processing - 将执行前面的操作(如果有)以及此覆盖项的操作,后续覆盖项将被忽略,适用于匹配的 LLD 行。 |
| Filters | 确定应将覆盖项应用于哪些已发现实体。覆盖筛选器在发现规则 filters 之后处理,并具有相同功能。 |
| Operations | 覆盖操作显示以下详细信息: Condition - 对象类型以及对象名称必须满足的条件;例如:Trigger prototype 不等于 Disk space is low (used > 50%)。 Action - 显示用于编辑和删除操作的链接。 |
配置操作
要配置新操作的详细信息,请在 Operations 区块中单击
。
要编辑现有操作,请单击操作旁边的
。
将打开一个可编辑操作详细信息的弹出窗口。

| 参数 | 说明 | ||
|---|---|---|---|
| Object | 可用四种对象类型: Item prototype Trigger prototype Graph prototype Host prototype |
||
| Condition | 允许筛选应将操作应用于哪些实体。 | ||
| Operator | 支持的运算符: equals - 应用于此原型 does not equal - 应用于除该原型之外的所有原型 contains - 如果原型名称包含此字符串,则应用 does not contain - 如果原型名称不包含此字符串,则应用 matches - 如果原型名称匹配正则表达式,则应用 does not match - 如果原型名称不匹配正则表达式,则应用 |
||
| Pattern | 正则表达式 或要搜索的字符串。 | ||
| Object: Item prototype | |||
| Create enabled | 勾选该复选框后,将显示按钮,允许覆盖原始监控项原型设置: Yes - 该监控项将以启用状态添加。 No - 该监控项将添加到已发现实体中,但处于禁用状态。 |
||
| Discover | 勾选该复选框后,将显示按钮,允许覆盖原始监控项原型设置: Yes - 该监控项将被添加。 No - 该监控项不会被添加。 |
||
| Update interval | 勾选该复选框后,将显示两个选项,允许为该监控项设置不同的间隔: Delay - 监控项更新间隔。支持 User macros、LLD macros 和 time suffixes(例如 30s、1m、2h、1d)(Zabbix 7.0.27 中已恢复对 LLD 宏的支持)。如果使用 Custom interval,应将其设置为 0。 Custom interval - 单击 以指定灵活/计划间隔。详细信息请参见 Custom intervals。 |
||
| History | 勾选该复选框后,将显示按钮,允许为该监控项设置不同的历史数据保存周期: Do not store - 如果选择此项,将不保存历史数据。 Store up to - 如果选择此项,右侧将出现一个用于指定保存周期的输入字段。支持 User macros 和 LLD macros(Zabbix 7.0.27 中已恢复对 LLD 宏的支持)。 |
||
| Trends | 勾选该复选框后,将显示按钮,允许为该监控项设置不同的趋势数据保存周期: Do not store - 如果选择此项,将不保存趋势数据。 Store up to - 如果选择此项,右侧将出现一个用于指定保存周期的输入字段。支持 User macros 和 LLD macros(Zabbix 7.0.27 中已恢复对 LLD 宏的支持)。 |
||
| Tags | 勾选该复选框后,将出现一个新区块,允许指定标签-值对。支持 User macros 和 LLD macros。 这些标签将追加到监控项原型中指定的标签,即使标签名称相同也是如此。 |
||
| Object: Trigger prototype | |||
| Create enabled | 勾选该复选框后,将显示按钮,允许覆盖原始触发器原型设置: Yes - 该触发器将以启用状态添加。 No - 该触发器将添加到已发现实体中,但处于禁用状态。 |
||
| Discover | 勾选该复选框后,将显示按钮,允许覆盖原始触发器原型设置: Yes - 该触发器将被添加。 No - 该触发器不会被添加。 |
||
| Severity | 勾选该复选框后,将显示触发器严重性按钮,允许修改触发器严重性。 | ||
| Tags | 勾选该复选框后,将出现一个新区块,允许指定标签-值对。支持 User macros 和 LLD macros。 这些标签将追加到触发器原型中指定的标签,即使标签名称相同也是如此。 |
||
| Object: Graph prototype | |||
| Discover | 勾选该复选框后,将显示按钮,允许覆盖原始图形原型设置: Yes - 该图形将被添加。 No - 该图形不会被添加。 |
||
| Object: Host prototype | |||
| Create enabled | 勾选该复选框后,将显示按钮,允许覆盖原始主机原型设置: Yes - 该主机将以启用状态创建。 No - 该主机将以禁用状态创建。 |
||
| Discover | 勾选该复选框后,将显示按钮,允许覆盖原始主机原型设置: Yes - 该主机将被发现。 No - 该主机不会被发现。 |
||
| Link templates | 勾选该复选框后,将出现一个用于指定模板的输入字段。开始输入模板名称,或单击字段旁边的 Select,在弹出窗口中的列表里选择模板。 此覆盖项中的模板会添加到已链接到主机原型的所有模板中。 |
||
| Tags | 勾选该复选框后,将出现一个新区块,允许指定标签-值对。支持 User macros 和 LLD macros。 这些标签将追加到主机原型中指定的标签,即使标签名称相同也是如此。 |
||
| Host inventory | 勾选该复选框后,将显示按钮,允许为主机原型选择不同的库存模式: Disabled - 不填充主机库存 Manual - 手动提供详细信息 Automated - 根据收集到的指标自动填充主机库存数据。 |
||
表单按钮
表单底部的按钮可用于执行多个操作。
![]() |
添加发现规则。此按钮仅适用于新建的发现规则。 |
![]() |
更新发现规则的属性。此按钮仅适用于已存在的发现规则。 |
![]() |
基于当前发现规则的属性创建另一个发现规则。 |
![]() |
立即根据发现规则执行发现操作。该发现规则必须已经存在。请参见 more details。 注意:在立即执行发现操作时,configuration cache 不会更新,因此结果不会反映发现规则配置的最新更改。 |
![]() |
测试发现规则配置。使用此按钮可以验证配置设置(例如连接性和参数正确性),而无需永久应用任何更改。 |
![]() |
删除发现规则。 |
![]() |
取消对发现规则属性的编辑。 |
发现的实体
以下截图展示了在主机配置中发现的监控项、触发器和图形的显示效果。 发现的实体前缀带有橙色链接,指向其来源的发现规则。

请注意,如果已存在具有相同唯一性标准的实体(例如具有相同键的监控项或同名的图形),则不会创建发现的实体。 在这种情况下,前端会显示错误消息,指出低级发现规则无法create某些实体。 然而,发现规则本身不会因为某些实体无法创建而被迫跳过就变为不支持状态。 发现规则将继续创建/更新其他实体。
如果发现的实体(主机、file系统、接口等)不再被发现(或不再通过过滤器),则基于它创建的实体可能会被自动禁用并最终删除。
丢失的资源可能会根据禁用丢失资源参数的值自动禁用。 这会影响丢失的主机、监控项和触发器。
丢失的资源可能会根据删除丢失资源参数的值自动删除。 这会影响丢失的主机、主机组、监控项、触发器和图形。
当发现的实体变为"不再被发现"时,实体列表中会显示一个生命周期指示器。 将鼠标指针悬停在其上,将显示一条消息,指示其状态详细信息。

如果实体被标记为删除,但未在预期时间删除(禁用的发现规则或监控项 主机),则下次处理发现规则时将删除它们。
包含其他实体的实体(这些实体被标记为删除)如果在发现规则级别发生更改,将不会update。 例如,基于LLD的触发器如果包含被标记为删除的监控项,则不会update。


其他发现类型
关于其他类型开箱即用发现的更多细节及操作指南,请参阅以下章节:
- network interfaces的发现
- CPUs and CPU cores的发现
- SNMP OIDs的发现
- JMX objects的发现
- 使用ODBC SQL queries进行发现
- Windows services的发现
- Zabbix中host interfaces的发现
有关发现监控项的JSON格式详情及如何通过Perl脚本实现自定义file系统发现器的示例,请参阅creating custom LLD rules。






