[comment]: # translation:outdated

[comment]: # ({c5a9e121-c5a9e121})
# > LLD 规则 object

以下objects与`discoveryrule` API直接相关.

[comment]: # ({/c5a9e121-c5a9e121})

[comment]: # ({fce546e3-c17fa830})
### LLD规则

低级发现规则object具有以下属性。

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| itemid | string | *(只读)* LLD规则的ID。 |
| **delay**<br>(required) | string | LLD规则的更新间隔。接受秒数或带后缀的时间单位，可包含一个或多个[custom intervals](/manual/config/items/item/custom_intervals)，这些间隔可以是灵活间隔或调度间隔的序列化字符串。也接受用户宏。灵活间隔可以写成由正斜杠分隔的两个宏。间隔之间用分号分隔。<br><br>对于Zabbix trapper、依赖监控项和使用`mqtt.get`键的Zabbix agent(主动)类型为可选。 |
| **hostid**<br>(required) | string | LLD规则所属的主机的ID。 |
| **interfaceid**<br>(required) | string | LLD规则的主机接口ID。仅用于主机 LLD规则。<br><br>对于Zabbix agent(主动)、Zabbix内部、Zabbix trapper、依赖、数据库监控和脚本LLD规则不需要。HTTPagent LLD规则为可选。 |
| **key\_**<br>(required) | string | LLD规则键值。 |
| **name**<br>(required) | string | LLD规则的名称。 |
| **type**<br>(required) | integer | LLD规则的类型。<br><br>可能的值:<br>0 - Zabbix agent;<br>2 - Zabbix trapper;<br>3 - 简单检查;<br>5 - Zabbix内部;<br>7 - Zabbix agent(主动);<br>10 - 外部检查;<br>11 - 数据库监控;<br>12 - IPMIagent;<br>13 - SSHagent;<br>14 - TELNETagent;<br>16 - JMXagent;<br>18 - 依赖监控项;<br>19 - HTTPagent;<br>20 - SNMPagent;<br>21 - 脚本。 |
| **url**<br>(required) | string | HTTPagent LLD规则所需的URLstring。支持用户宏、{HOST.IP}、{HOST.CONN}、{HOST.DNS}、{HOST.HOST}、{HOST.NAME}、{ITEM.ID}、{ITEM.KEY}。 |
| allow\_traps | integer | HTTPagent LLD规则字段。允许像trapper监控项类型一样填充值。<br><br>0 - *(默认)* 不允许接收传入数据。<br>1 - 允许接收传入数据。 |
| authtype | integer | 仅用于SSHagent或HTTPagent LLD规则。<br><br>SSHagent认证方法可能的值:<br>0 - *(默认)* 密码;<br>1 - 公钥。<br><br>HTTPagent认证方法可能的值:<br>0 - *(默认)* 无<br>1 - 基本<br>2 - NTLM |
| description | string | LLD规则的描述。 |
| error | string | *(只读)* 更新LLD规则值时出现问题的错误文本。 |
| follow\_redirects | integer | HTTPagent LLD规则字段。轮询数据时跟随响应重定向。<br><br>0 - 不跟随重定向。<br>1 - *(默认)* 跟随重定向。 |
| headers | object | HTTPagent LLD规则字段。object包含HTTP(S)请求头，其中头名称用作键，头值用作值。<br><br>示例:<br>{ "User-Agent": "Zabbix" } |
| http\_proxy | string | HTTPagent LLD规则字段。HTTP(S)proxy连接string。 |
| ipmi\_sensor | string | IPMI传感器。仅用于IPMI LLD规则。 |
| jmx\_endpoint | string | JMXagent自定义连接string。<br><br>默认值:<br>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi |
| lifetime | string | 不再发现的监控项将被删除的时间周期。接受秒数、带后缀的时间单位和用户宏。<br><br>默认: `30d`。 |
| master\_itemid | integer | 主监控项 ID。<br>允许递归最多3层依赖监控项，且依赖监控项的最大数量为999。<br>发现规则不能作为另一个发现规则的主监控项。<br><br>依赖监控项必需。 |
| output\_format | integer | HTTPagent LLD规则字段。是否将响应转换为JSON。<br><br>0 - *(默认)* 存储原始数据。<br>1 - 转换为JSON。 |
| params | string | 根据LLD规则类型的附加参数:<br>- SSH和Telnet LLD规则的执行脚本;<br>- 数据库监控LLD规则的SQLquery;<br>- 计算LLD规则的公式。 |
| parameters | array | 脚本类型LLD规则的附加参数。array包含objects，具有'名称'和'value'属性，其中名称必须唯一。 |
| password | string | 认证密码。用于简单检查、SSH、Telnet、数据库监控、JMX和HTTPagent LLD规则。 |
| post\_type | integer | HTTPagent LLD规则字段。存储在posts属性中的post数据体类型。<br><br>0 - *(默认)* 原始数据。<br>2 - JSON数据。<br>3 - XML数据。 |
| posts | string | HTTPagent LLD规则字段。HTTP(S)请求体数据。与post_type一起使用。 |
| privatekey | string | 私钥file的名称。 |
| publickey | string | 公钥file的名称。 |
| query\_fields | array | HTTPagent LLD规则字段。query参数。array包含'key':'value'对的objects，其中值可以是空string。 |
| request\_method | integer | HTTPagent LLD规则字段。请求方法类型。<br><br>0 - *(默认)* GET<br>1 - POST<br>2 - PUT<br>3 - HEAD |
| retrieve\_mode | integer | HTTPagent LLD规则字段。应存储响应的哪部分。<br><br>0 - *(默认)* 正文。<br>1 - 头。<br>2 - 正文和头都将存储。<br><br>对于request_method HEAD，只允许值为1。 |
| snmp\_oid | string | SNMP OID。   |
| ssl\_cert\_file | string | HTTPagent LLD规则字段。公共SSL密钥file路径。 |
| ssl\_key\_file | string | HTTPagent LLD规则字段。私有SSL密钥file路径。 |
| ssl\_key\_password | string | HTTPagent LLD规则字段。SSL密钥file的密码。 |
| state | integer | *(只读)* LLD规则的状态。<br><br>可能的值:<br>0 - *(默认)* 正常;<br>1 - 不支持。 |
| status | integer | LLD规则的状态。<br><br>可能的值:<br>0 - *(默认)* 启用LLD规则;<br>1 - 禁用LLD规则。 |
| status\_codes | string | HTTPagent LLD规则字段。所需HTTP状态码的范围，用逗号分隔。也支持用户宏作为逗号分隔列表的一部分。<br><br>示例: 200,200-{$M},{$M},200-400 |
| templateid | string | (只读)父模板LLD规则的ID。 |
| timeout | string | 监控项数据轮询请求超时。用于HTTPagent和脚本LLD规则。支持用户宏。<br><br>默认: 3s<br>最大值: 60s |
| trapper\_hosts | string | 允许的主机。用于trapper LLD规则或HTTPagent LLD规则。 |
| username | string | 认证用户名。用于简单检查、SSH、Telnet、数据库监控、JMX和HTTPagent LLD规则。<br><br>SSH和Telnet LLD规则必需。 |
| uuid | string | 通用唯一标识符，用于将导入的LLD规则链接到已存在的规则。仅用于模板上的LLD规则。如果未提供则自动生成。 |
| verify\_host | integer | HTTPagent LLD规则字段。是否验证主机名称与主机证书中的名称匹配。<br><br>0 - *(默认)* 不验证。<br>1 - 验证。 |
| verify\_peer | integer | HTTPagent LLD规则字段。是否验证主机证书的真实性。<br><br>0 - *(默认)* 不验证。<br>1 - 验证。 |

注意，对于某些方法(update, delete)，必需/可选参数的组合是不同的。

[comment]: # ({/fce546e3-c17fa830})

[comment]: # ({e640f5aa-b0412737})
### LLD 规则过滤器

LLD规则过滤器object定义了一组可用于筛选发现objects的条件。它具有以下属性：

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **conditions**<br>(required) | array | 用于筛选结果的过滤条件集合。 |
| **evaltype**<br>(required) | integer | 过滤条件评估方法。<br><br>可能值：<br>0 - 与/或；<br>1 - 与；<br>2 - 或；<br>3 - 自定义表达式。 |
| eval\_formula | string | *(只读)* 用于评估过滤条件的生成表达式。该表达式包含通过`formulaid`引用特定过滤条件的ID。对于具有自定义表达式的过滤器，`eval_formula`的值等于`formula`的值。 |
| formula | string | 用户定义的表达式，用于评估具有自定义表达式的过滤器的条件。该表达式必须包含通过`formulaid`引用特定过滤条件的ID。表达式中使用的ID必须与过滤条件中定义的ID完全匹配：不能有任何条件未被使用或遗漏。<br><br>自定义表达式过滤器必需。 |

[comment]: # ({/e640f5aa-b0412737})

[comment]: # ({dec92f63-be83ef5c})
#### LLD 规则过滤条件

LLD规则过滤条件object定义了在LLD宏值上执行的独立检查。它具有以下属性：

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **macro**<br>(required) | string | 待检查的LLD宏。 |
| **value**<br>(required) | string | 用于比较的值。 |
| formulaid | string | 用于在自定义表达式中引用该条件的任意唯一ID。只能包含大写字母。修改过滤条件时必须由用户定义该ID，但在后续请求时会重新生成。 |
| operator | integer | 条件运算符。<br><br>可选值：<br>8 - *(默认)* 匹配正则表达式；<br>9 - 不匹配正则表达式；<br>12 - 存在；<br>13 - 不存在。 |

::: notetip
要更好地理解如何将过滤器与各类表达式结合使用，请参阅
[discoveryrule.get](get#retrieving_filter_conditions)和
[discoveryrule.create](create#using_a_custom_expression_filter)方法页面的示例。

:::

[comment]: # ({/dec92f63-be83ef5c})

[comment]: # ({8afcce40-4a2b52b9})
### LLD 宏路径

LLD宏路径具有以下属性：

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **lld\_macro**<br>(required) | string | LLD宏.  |
| **path**<br>(required) | string | 用于选择将分配给相应宏的值的选择器. |

[comment]: # ({/8afcce40-4a2b52b9})

[comment]: # ({7a79dde4-14dc55c1})
### LLD 规则预处理

LLD规则预处理object具有以下属性。

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **type**<br>(required) | integer | 预处理选项类型。<br><br>可能值：<br>5 - 正则表达式匹配；<br>11 - XML XPath；<br>12 - JSONPath；<br>15 - 不匹配正则表达式；<br>16 - 检查JSON错误；<br>17 - 检查XML错误；<br>20 - 心跳式丢弃未变更值；<br>21 - JavaScript；<br>23 - Prometheus转JSON；<br>24 - CSV转JSON；<br>25 - 替换；<br>27 - XML转JSON。 |
| **params**<br>(required) | string | 预处理选项使用的附加参数。多个参数用LF(\\n)字符分隔。 |
| **error\_handler**<br>(required) | integer | 预处理步骤失败时采取的操作类型。<br><br>可能值：<br>0 - 错误消息由Zabbix server设置；<br>1 - 丢弃值；<br>2 - 设置自定义值；<br>3 - 设置自定义错误消息。 |
| **error\_handler\_params**<br>(required) | string | 错误处理参数。与`error_handler`配合使用。<br><br>如果`error_handler`为0或1则必须为空。<br>如果`error_handler`为2则可以为空。<br>如果`error_handler`为3则不能为空。 |

每种预处理类型支持以下参数和错误处理程序。

| 预处理类型 | 名称 | 参数1 | 参数2 | 参数3 | 支持的错误处理程序 |
|------------------|----|-----------|-----------|-----------|------------------------|
| 5   | Regular expression | pattern^1^ | output^2^ | < | 0, 1, 2, 3               |
| 11   | XML XPath | path^3^ | < | < | 0, 1, 2, 3               |
| 12   | JSONPath | path^3^ | < | < | 0, 1, 2, 3               |
| 15   | Does not match regular expression | pattern^1^ | < | < | 0, 1, 2, 3               |
| 16   | Check for error in JSON | path^3^ | < | < | 0, 1, 2, 3               |
| 17   | Check for error in XML | path^3^ | < | < | 0, 1, 2, 3               |
| 20   | Discard unchanged with heartbeat | seconds^4,\ 5^ | < | < | <                        |
| 21   | JavaScript | script^2^ | < | < | <                        |
| 23   | Prometheus to JSON | pattern^5,\ 6^ | < | < | 0, 1, 2, 3               |
| 24   | CSV to JSON | character^2^ | character^2^ | 0,1 | 0, 1, 2, 3               |
| 25   | Replace | search string^2^ | replacement^2^ | < | <                        |
| 27   | XML to JSON | < | < | < | 0, 1, 2, 3               |

^1^ 正则表达式\
^2^ string\
^3^ JSONPath或XML XPath\
^4^ 正数integer（支持时间后缀，如30s、1m、2h、1d）\
^5^ 用户宏\
^6^ 遵循语法`<metric name>{<label name>="<label value>", ...} == <value>`的Prometheus模式。每个Prometheus模式组件（指标、标签名、标签值和指标值）都可以是用户宏。\

[comment]: # ({/7a79dde4-14dc55c1})

[comment]: # ({21689ec0-2f32e5f0})
### LLD 规则覆盖

LLD规则覆盖object定义了一组规则(过滤器、
条件和操作)，用于覆盖不同原型objects的属性。它具有以下属性:

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **name**<br>(required) | string | 唯一的覆盖名称。 |
| **step**<br>(required) | integer | 覆盖的唯一序号。 |
| stop | integer | 如果匹配则停止处理后续覆盖。<br><br>可能的值:<br>0 - *(默认)* 不停止处理覆盖;<br>1 - 如果过滤器匹配则停止处理覆盖。 |
| filter | object | 覆盖过滤器。 |
| operations | array | 覆盖操作。 |

[comment]: # ({/21689ec0-2f32e5f0})

[comment]: # ({b19400aa-573b52c4})
#### LLD 规则覆盖过滤器

LLD规则覆盖过滤器object定义了一组条件，当这些条件与发现的object匹配时，将应用覆盖。它具有以下属性：

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **evaltype**<br>(required) | integer | 覆盖过滤器条件评估方法。<br><br>可能的值：<br>0 - 与/或；<br>1 - 与；<br>2 - 或；<br>3 - 自定义表达式。 |
| **conditions**<br>(required) | array | 用于匹配发现的objects的覆盖过滤器条件集。 |
| eval\_formula | string | *(只读)* 生成的表达式，用于评估覆盖过滤器条件。该表达式包含通过其`formulaid`引用特定覆盖过滤器条件的ID。对于具有自定义表达式的过滤器，`eval_formula`的值等于`formula`的值。 |
| formula | string | 用户定义的表达式，用于评估具有自定义表达式的覆盖过滤器条件。该表达式必须包含通过其`formulaid`引用特定覆盖过滤器条件的ID。表达式中使用的ID必须与覆盖过滤器条件中定义的ID完全匹配：不能有任何条件未被使用或省略。<br><br>自定义表达式覆盖过滤器必需。 |

[comment]: # ({/b19400aa-573b52c4})

[comment]: # ({017c8c12-e47f6c6a})
#### LLD 规则覆盖过滤条件

LLD规则覆盖过滤器条件object定义了要对LLD宏值执行的独立检查。它具有以下属性：

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **macro**<br>(required) | string | 要执行检查的LLD宏。 |
| **value**<br>(required) | string | 用于比较的值。 |
| formulaid | string | 用于从自定义表达式引用该条件的任意唯一ID。只能包含大写字母。修改过滤条件时必须由用户定义该ID，但在后续请求时会重新生成。 |
| operator | integer | 条件运算符。<br><br>可能的值：<br>8 - *(默认)* 匹配正则表达式；<br>9 - 不匹配正则表达式；<br>12 - 存在；<br>13 - 不存在。 |

[comment]: # ({/017c8c12-e47f6c6a})

[comment]: # ({1efc5fc4-e7b08f3c})
#### LLD 规则覆盖操作

LLD规则覆盖操作是条件与动作的组合，用于对原型object执行操作。它具有以下属性：

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **operationobject**<br>(required) | integer | 要执行操作的发现object类型。<br><br>可能值：<br>0 - 监控项原型；<br>1 - 触发器原型；<br>2 - 图形原型；<br>3 - 主机原型。 |
| operator | integer | 覆盖条件运算符。<br><br>可能值：<br>0 - *(默认)* 等于；<br>1 - 不等于；<br>2 - 包含；<br>3 - 不包含；<br>8 - 匹配；<br>9 - 不匹配。 |
| value | string | 根据所选object匹配监控项、触发器、图形或主机原型名称的模式。 |
| opstatus | object | 针对监控项、触发器和主机原型objects的覆盖操作状态object。 |
| opdiscover | object | 覆盖操作发现状态object（所有object类型）。 |
| opperiod | object | 针对监控项原型object的覆盖操作周期（update间隔）object。 |
| ophistory | object | 针对监控项原型object的覆盖操作历史object。 |
| optrends | object | 针对监控项原型object的覆盖操作趋势object。 |
| opseverity | object | 针对触发器原型object的覆盖操作严重性object。 |
| optag | array | 针对触发器和主机原型objects的覆盖操作标签object。 |
| optemplate | array | 针对主机原型object的覆盖操作模板object。 |
| opinventory | object | 针对主机原型object的覆盖操作资产清单object。 |

[comment]: # ({/1efc5fc4-e7b08f3c})

[comment]: # ({50ecccde-52d3b579})
##### LLD 规则覆盖操作状态

LLD规则覆盖操作状态设置为已发现object. 它具有以下属性:

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **status**<br>(required) | integer | 为选定的object覆盖状态.<br><br>可能的值:<br>0 - 创建启用;<br>1 - 创建禁用. |

[comment]: # ({/50ecccde-52d3b579})

[comment]: # ({bf3e7029-ff620350})
##### LLD 规则覆盖操作发现

LLD规则覆盖操作发现状态设置为已发现
object. 它具有以下属性:

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **discover**<br>(required) | integer | 覆盖所选object的发现状态.<br><br>可能的值:<br>0 - 是, 继续发现objects;<br>1 - 否, 新的objects将不会被发现且现有的将被标记为丢失. |

[comment]: # ({/bf3e7029-ff620350})

[comment]: # ({9ad249a9-6e469c1b})
##### LLD 规则覆盖操作周期

LLD规则覆盖操作周期是一个update间隔值（支持自定义间隔），用于设置被发现的监控项。它具有以下特性：

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **delay**<br>(required) | string | 覆盖监控项原型的update间隔。接受秒数或带后缀的时间单位（30s,1m,2h,1d），以及灵活调度间隔和用户宏或LLD宏。多个间隔用分号分隔。 |

[comment]: # ({/9ad249a9-6e469c1b})

[comment]: # ({6157dac3-ff97489f})
##### LLD 规则覆盖操作历史

LLD规则覆盖操作历史值设置为已发现的
监控项. 它具有以下属性:

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **history**<br>(required) | string | 覆盖监控项原型的历史记录，这是一个关于历史数据应存储多长时间的时间单位。同时接受用户宏和LLD宏。 |

[comment]: # ({/6157dac3-ff97489f})

[comment]: # ({a367a7f9-10b52601})
##### LLD 规则覆盖操作趋势

LLD规则覆盖操作将趋势值设置为已发现的监控项.
它具有以下属性:

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **trends**<br>(required) | string | 覆盖监控项原型的趋势值，该值表示趋势数据应存储的时间单位。同时支持用户宏和LLD宏。 |

[comment]: # ({/a367a7f9-10b52601})

[comment]: # ({c1983e66-991f3bdc})
##### LLD 规则覆盖操作严重性

LLD规则覆盖操作中设置的触发器严重级别值。它具有以下属性：

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **severity**<br>(required) | integer | 覆盖触发器原型的严重级别。<br><br>可选值为：0 - *(默认)* 未分类；<br>1 - 信息；<br>2 - 警告；<br>3 - 一般严重；<br>4 - 严重；<br>5 - 灾难。 |

[comment]: # ({/c1983e66-991f3bdc})

[comment]: # ({e42f2c5d-0693b8f3})
##### LLD 规则覆盖操作标签

LLD规则覆盖操作标签object包含为发现项object设置的标签名称和值。它具有以下属性：

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **tag**<br>(required) | string | 新标签名称。 |
| value | string | 新标签值。 |

[comment]: # ({/e42f2c5d-0693b8f3})

[comment]: # ({18963c59-5eebc05a})
##### LLD 规则覆盖操作模板

与已发现主机关联的LLD规则覆盖操作模板object. 它具有以下属性:

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **templateid**<br>(required) | string | 覆盖主机原型关联模板的模板. |

[comment]: # ({/18963c59-5eebc05a})

[comment]: # ({1b31c80b-9c5cc3d1})
##### LLD 规则覆盖操作清单

LLD规则覆盖操作中设置的资产清单模式值
已发现的主机。它具有以下属性：

| 属性 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| **inventory\_mode**<br>(required) | integer | 覆盖 主机 原型资产清单模式.<br><br>可选值为:<br>-1 - 禁用;<br>0 - *(默认)* 手动;<br>1 - 自动. |

[comment]: # ({/1b31c80b-9c5cc3d1})
