3 低级别自动发现
概述
低级发现(LLD)提供了一种自动为主机上的不同实体创建监控项、触发器和图形的方法。 例如,Zabbix 可以自动开始监控您机器上的文件系统或网络接口,而无需为每个文件系统或网络接口手动创建监控项。 LLD 还可以创建主机,例如用于填充虚拟机(在 hypervisor 上发现),以及嵌套发现规则,从而实现多级发现。 此外,还可以将 Zabbix 配置为根据定期执行的发现的实际结果,自动移除不再需要的实体。
用户可以定义自己的发现类型,前提是遵循特定的 JSON 协议。
发现过程的总体架构如下。
首先,用户在 数据采集 > 模板 的 发现 列中创建一条发现规则。 一条发现规则由以下部分组成:(1) 一个用于发现所需实体的监控项(例如文件系统或网络接口);(2) 基于该监控项的值创建的监控项、触发器和图形原型。
用于发现所需实体的监控项与其他地方看到的普通监控项类似:服务器向 Zabbix agent(或该监控项设置的其他类型)请求该监控项的值,agent 返回一个文本值。 不同之处在于,agent 返回的值应包含一个 JSON 格式的已发现实体列表。 虽然这种格式的细节仅对自定义发现检查的实现者重要,但仍有必要了解,返回值中包含一组宏 → 值对。 例如,监控项 "net.if.discovery" 可能返回两对:"{#IFNAME}" → "lo" 和 "{#IFNAME}" → "eth0"。
这些宏可用于名称、键值以及其他原型字段,在这些位置它们会被接收到的值替换,从而为每个已发现实体创建实际的监控项、触发器、图形,甚至主机。 有关使用 LLD 宏的完整选项列表,请参见相关文档。
当服务器接收到某个发现监控项的值时,它会查看这些宏 → 值对,并针对每一对基于其原型生成实际的监控项、触发器和图形。 在上面 "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 服务器配合工作。
另请参见:已发现实体
配置低级发现
我们将以文件系统发现为例来说明低级发现。
要配置发现,请执行以下操作:
- 前往:数据采集 > 模板 或 主机。
- 在相应模板/主机所在行中,单击 发现。

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

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

| 类型 | ||
|---|---|---|
| 转换 | 说明 | |
| 文本 | ||
| 正则表达式 | 将接收到的值与 <pattern> 正则表达式进行匹配,并将值替换为提取出的 <output>。该正则表达式最多支持使用 \N 序列提取 10 个捕获组。 参数: pattern - 正则表达式 output - 输出格式模板。\N(其中 N=1…9)转义序列将被替换为第 N 个匹配组。\0 转义序列将被替换为匹配到的文本。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| 替换 | 查找搜索字符串并将其替换为另一个字符串(或空)。搜索字符串的所有出现位置都会被替换。 参数: search string - 要查找并替换的字符串,区分大小写(必填) replacement - 用于替换搜索字符串的字符串。替换字符串也可以为空,从而在找到搜索字符串时将其删除。 可以使用转义序列来查找或替换换行、回车、制表符和空格 "\\n \\r \\t \\s";反斜杠可转义为 "\\\\",转义序列本身可转义为 "\\\\n"。在低级别发现期间,会自动对换行、回车和制表符进行转义。 |
|
| 结构化数据 | ||
| 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 转 JSON | 将 CSV 文件数据转换为 JSON 格式。 更多信息请参见:CSV 转 JSON 预处理。 |
|
| XML 转 JSON | 将 XML 格式的数据转换为 JSON。 更多信息请参见:序列化规则。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| SNMP | ||
| SNMP walk 值 | 按指定的 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 转 JSON | 将 SNMP 值转换为 JSON。请在 JSON 中指定字段名称以及对应的 SNMP OID 路径。字段值将由指定 SNMP OID 路径中的值填充。 您可以将此预处理步骤用于 SNMP OID 发现。 可使用与 SNMP walk 值 步骤类似的值格式化选项。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| SNMP get 值 | 对 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 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| 自定义脚本 | ||
| JavaScript | 在参数字段中点击,或点击其旁边的铅笔图标时打开的模态编辑器中输入 JavaScript 代码。 请注意,可用的 JavaScript 长度取决于所使用的数据库。 更多信息请参见:Javascript 预处理 |
|
| 验证 | ||
| 不匹配正则表达式 | 指定一个值不得匹配的正则表达式。 例如: Error:(.*?)\.如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| 检查 JSON 中的错误 | 检查位于 JSONPath 的应用级错误消息。如果检查成功且消息非空,则停止处理;否则继续处理进入此预处理步骤之前的值。请注意,这些外部服务错误会原样报告给用户,不会附加预处理步骤信息。 例如: $.errors。如果接收到类似 {"errors":"e1"} 的 JSON,则不会执行下一个预处理步骤。如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| 检查 XML 中的错误 | 检查位于 XPath 的应用级错误消息。如果检查成功且消息非空,则停止处理;否则继续处理进入此预处理步骤之前的值。请注意,这些外部服务错误会原样报告给用户,不会附加预处理步骤信息。 如果由于 XML 无效而解析失败,则不会报告错误。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| 匹配正则表达式 | 指定一个值必须匹配的正则表达式。 如果勾选 Custom on fail 复选框,则可以指定自定义错误处理选项:丢弃该值、设置指定值或设置指定错误消息。 |
|
| 限流 | ||
| 丢弃未更改值并带心跳 | 如果某个值在定义的时间段内(以秒为单位)未发生变化,则丢弃该值。 支持使用正整数指定秒数(最小为 1 秒)。此字段可使用时间后缀(例如 30s、1m、2h、1d)。此字段中可使用用户宏和低级别发现宏。 一个发现监控项只能指定一个限流选项。 例如: 1m。如果在 60 秒内两次传入相同文本,则该值将被丢弃。注意:更改监控项原型不会重置限流。只有在预处理步骤发生更改时才会重置限流。 |
|
| Prometheus | ||
| Prometheus 转 JSON | 将所需的 Prometheus 指标转换为 JSON。 更多详情请参见 Prometheus 检查。 |
|
请注意,如果发现规则是通过模板应用到主机上的,则此选项卡中的内容为只读。
自定义宏
LLD 宏标签页允许指定自定义低级发现宏。
当返回的 JSON 中未预先定义所需的宏时,自定义宏会很有用。 例如:
- 用于文件系统发现的原生
vfs.fs.discovery键会返回一个 JSON,其中包含一些预定义的 LLD 宏,例如 {#FSNAME}、{#FSTYPE}。 这些宏可直接用于监控项原型、触发器原型(请参见本页后续章节);无需定义自定义宏; vfs.fs.getagent 监控项也会返回包含文件系统数据的 JSON,但其中没有任何预定义的 LLD 宏。 在这种情况下,您可以自行定义这些宏,并使用 JSONPath 将其映射到 JSON 中的值:

提取出的值可用于已发现的监控项、触发器等。 请注意,值将从发现结果以及到目前为止的所有预处理中提取。
| 参数 | 说明 |
|---|---|
| LLD 宏 | 低级发现宏的名称,使用以下语法:{#MACRO}。 |
| JSONPath | 用于从 LLD 行中提取 LLD 宏值的路径,使用 JSONPath 语法。 从返回的 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 版本中的低级发现实现保持向后兼容)。 |
过滤器
过滤器可用于仅为符合条件的实体生成实际的监控项、触发器和图形。 过滤器选项卡包含发现规则过滤器定义,可用于过滤发现值:

| 参数 | 说明 |
|---|---|
| 计算类型 | 可用的过滤器计算选项如下: And - 必须通过所有过滤器; Or - 只要有一个过滤器通过即可; And/Or - 对不同的宏名称使用 And,对相同的宏名称使用 Or; 自定义表达式 - 提供自定义过滤器计算方式的可能性。公式必须包含列表中的所有过滤器。限制为 255 个字符。 |
| 过滤器 | 可用的过滤条件运算符如下:matches、does not match、exists、does not exist。 Matches 和 does not match 运算符需要使用 Perl Compatible Regular Expression (PCRE)。例如,如果你只关注 C:、D: 和 E: 文件系统,可以在“宏”中填写 {#FSNAME},并在“正则表达式”文本字段中填写 "\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```` Exists 和 does not exist 运算符允许根据响应中是否存在指定的 LLD 宏来过滤实体。 请注意,如果过滤器中的某个宏在响应中缺失,则找到的实体将被忽略,除非为该宏指定了 "does not exist" 条件。 如果宏的缺失会影响表达式结果,将显示警告。例如,如果 {#B} 在以下表达式中缺失: {#A} matches 1 and {#B} matches 2 - 将显示警告 {#A} matches 1 or {#B} matches 2 - 不会显示警告 |
LLD 规则中使用的正则表达式如果有错误或拼写错误(例如错误的“用于发现的文件系统”正则表达式),可能会导致删除许多主机上的数千个配置元素、历史值和事件。
如果要正确发现仅大小写不同的文件系统名称,则 MySQL 中的 Zabbix 数据库必须以区分大小写的方式创建。
覆盖
覆盖选项卡允许设置规则,以修改满足给定条件的已发现对象的监控项、触发器、图形、主机和发现原型列表或其属性。

覆盖(如有)会显示在一个可通过拖放重新排序的列表中,并按照其定义顺序执行。要配置新的覆盖详情,请点击 覆盖 区块中的
。
要编辑现有覆盖,请点击覆盖名称。
随后将打开一个弹出窗口,用于编辑覆盖规则详情。

所有必填参数均以红色星号标记。
| 参数 | 说明 |
|---|---|
| 名称 | 唯一的(每个 LLD 规则内)覆盖名称。 |
| 如果过滤器匹配 | 定义当过滤条件满足时,是否应继续处理后续覆盖: 继续覆盖 - 将处理后续覆盖。 停止处理 - 将执行此前(如有)以及此覆盖中的操作,对于匹配的 LLD 行将忽略后续覆盖。 |
| 过滤器 | 确定覆盖应应用于哪些已发现实体。覆盖过滤器在发现规则过滤器之后处理,并具有相同功能。 |
| 操作 | 覆盖操作会显示以下详情: 条件 - 对象类型以及对象名称需要满足的条件;例如:触发器原型不等于 Disk space is low (used > 50%)。 动作 - 显示用于编辑和删除操作的链接。 |
配置操作
要配置新操作的详情,请点击“操作”区块中的
。
要编辑现有操作,请点击操作旁边的
。
随后将打开一个可编辑操作详情的弹出窗口。

| 参数 | 说明 | ||
|---|---|---|---|
| 对象 | 可用的对象类型有五种: 监控项原型 触发器原型 图形原型 主机原型 发现原型 |
||
| 条件 | 允许筛选应应用此操作的实体。 | ||
| 运算符 | 支持的运算符: 等于 - 应用于此原型 不等于 - 应用于除该原型外的所有原型 包含 - 如果原型名称包含此字符串则应用 不包含 - 如果原型名称不包含此字符串则应用 匹配 - 如果原型名称匹配正则表达式则应用 不匹配 - 如果原型名称不匹配正则表达式则应用 |
||
| 模式 | 用于搜索的正则表达式或字符串。 | ||
| 对象:监控项原型 | |||
| 创建时启用 | 勾选此复选框后,将显示按钮,允许覆盖原始监控项原型设置: 是 - 监控项将以启用状态添加。 否 - 监控项将添加到已发现实体中,但处于禁用状态。 |
||
| 发现 | 勾选此复选框后,将显示按钮,允许覆盖原始监控项原型设置: 是 - 将添加该监控项。 否 - 将不添加该监控项。 |
||
| 更新间隔 | 勾选此复选框后,将显示两个选项,允许为监控项设置不同的间隔: 延迟 - 监控项更新间隔。支持用户宏和时间后缀(例如 30s、1m、2h、1d)。如果使用 自定义间隔,则应设置为 0。 自定义间隔 - 点击 指定灵活/计划间隔。详细信息请参见自定义间隔。 |
||
| 历史数据 | 勾选此复选框后,将显示按钮,允许为监控项设置不同的历史数据存储周期: 不存储 - 如果选中,将不存储历史数据。 存储至多 - 如果选中,右侧将出现一个用于指定存储周期的输入字段。支持用户宏和LLD 宏。 |
||
| 趋势数据 | 勾选此复选框后,将显示按钮,允许为监控项设置不同的趋势数据存储周期: 不存储 - 如果选中,将不存储趋势数据。 存储至多 - 如果选中,右侧将出现一个用于指定存储周期的输入字段。支持用户宏和LLD 宏。 |
||
| 标签 | 勾选此复选框后,将出现一个新区块,允许指定标签-值对。 这些标签将附加到监控项原型中指定的标签之后,即使标签名称相同也是如此。 |
||
| 对象:触发器原型 | |||
| 创建时启用 | 勾选此复选框后,将显示按钮,允许覆盖原始触发器原型设置: 是 - 触发器将以启用状态添加。 否 - 触发器将添加到已发现实体中,但处于禁用状态。 |
||
| 发现 | 勾选此复选框后,将显示按钮,允许覆盖原始触发器原型设置: 是 - 将添加该触发器。 否 - 将不添加该触发器。 |
||
| 严重性 | 勾选此复选框后,将显示触发器严重性按钮,允许修改触发器严重性。 | ||
| 标签 | 勾选此复选框后,将出现一个新区块,允许指定标签-值对。 这些标签将附加到触发器原型中指定的标签之后,即使标签名称相同也是如此。 |
||
| 对象:图形原型 | |||
| 发现 | 勾选此复选框后,将显示按钮,允许覆盖原始图形原型设置: 是 - 将添加该图形。 否 - 将不添加该图形。 |
||
| 对象:主机原型 | |||
| 创建时启用 | 勾选此复选框后,将显示按钮,允许覆盖原始主机原型设置: 是 - 主机将以启用状态创建。 否 - 主机将以禁用状态创建。 |
||
| 发现 | 勾选此复选框后,将显示按钮,允许覆盖原始主机原型设置: 是 - 将发现该主机。 否 - 将不发现该主机。 |
||
| 链接模板 | 勾选此复选框后,将出现一个用于指定模板的输入字段。开始输入模板名称,或点击字段旁边的 选择,然后在弹出窗口的列表中选择模板。 此覆盖中的模板会添加到所有已链接到主机原型的模板中。 |
||
| 标签 | 勾选此复选框后,将出现一个新区块,允许指定标签-值对。 这些标签将附加到主机原型中指定的标签之后,即使标签名称相同也是如此。 |
||
| 主机资产记录 | 勾选此复选框后,将显示按钮,允许为主机原型选择不同的资产记录模式: 禁用 - 不填充主机资产记录 手动 - 手动提供详细信息 自动 - 基于采集的指标自动填充主机资产记录数据。 |
||
表单按钮
表单底部的按钮可用于执行多种操作。
![]() |
添加发现规则。此按钮仅适用于新的发现规则。 |
![]() |
更新发现规则的属性。此按钮仅适用于现有的发现规则。 |
![]() |
基于当前发现规则的属性创建另一条发现规则。 |
![]() |
立即基于该发现规则执行发现。该发现规则必须已存在。请参见更多详细信息。 注意,立即执行发现时,配置缓存不会更新,因此结果将不会反映对发现规则配置所做的最新更改。 |
![]() |
测试发现规则配置。使用此按钮可验证配置设置(例如连通性和参数正确性),而不会永久应用任何更改。 |
![]() |
删除发现规则。 |
![]() |
取消编辑发现规则属性。 |
已发现的实体
下面的截图展示了在主机配置中,已发现的监控项、触发器和图形的显示方式。 已发现的实体前面会带有一个橙色链接,指向其来源的发现规则。

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

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


其他类型的发现
有关其他开箱即用发现类型的更多详细信息和操作指南,请参见以下章节:
- 网络接口的发现
- CPU 和 CPU 核心的发现
- SNMP OID的发现
- JMX 对象的发现;
- 使用 ODBC SQL 查询进行发现
- Windows 服务的发现
- Zabbix 中主机接口的发现
有关发现监控项的 JSON 格式的更多详细信息,以及如何将您自己的文件系统发现器实现为 Perl 脚本的示例,请参见创建自定义 LLD 规则。






