LLD规则对象
以下对象与 自动发现规则 API 直接相关。
LLD 规则
低级别发现规则对象具有以下属性。
| Property | Type | Description |
|---|---|---|
| itemid | ID | LLD 规则的 ID。 属性行为: - 只读 - 更新操作时为 必需 |
| delay | string | LLD 规则的更新间隔。 接受秒数(例如 1、60、300)、带有时间后缀的值(例如 30s、1m、2h、1d),或者可选的一个或多个自定义间隔,所有值以分号分隔。自定义间隔可以混合使用灵活间隔和调度间隔。接受用户宏。如果使用,值必须是单个宏。不支持多个宏,或宏与文本混合使用。灵活间隔可以写成由正斜杠分隔的两个宏(例如 {$FLEX_INTERVAL}/{$FLEX_PERIOD})。示例: 1h;wd1-5h9-18;{$Macro1}/1-7,00:00-24:00;0/6-7,12:00-24:00;{$Macro2}/{$Macro3}属性行为: - 当 type 设置为 "Zabbix agent" (0)、"Simple check" (3)、"Zabbix internal" (5)、"External check" (10)、"Database monitor" (11)、"IPMI agent" (12)、"SSH agent" (13)、"TELNET agent" (14)、"JMX agent" (16)、"HTTP agent" (19)、"SNMP agent" (20)、"Script" (21)、"Browser" (22)、"Telemetry query" (24) 时为 必需;或者当 type 设置为 "Zabbix agent (active)" (7) 且 key_ 不包含 "mqtt.get" 时为 必需 |
| hostid | ID | LLD 规则所属主机的 ID。 属性行为: - 常量 - 创建操作时为 必需 |
| flags | integer | 发现规则的来源。 可能的值: 1 - 低级别发现规则; 5 - 从原型转换而来的低级别发现规则。 属性行为: - 只读 |
| interfaceid | ID | LLD 规则的主机接口 ID。 属性行为: - 当 LLD 规则属于主机且 type 设置为 "Zabbix agent"、"IPMI agent"、"JMX agent" 或 "SNMP agent" 时为 必需- 当 LLD 规则属于主机且 type 设置为 "Simple check"、"External check"、"SSH agent"、"TELNET agent" 或 "HTTP agent" 时为 支持 |
| key_ | string | LLD 规则键。 属性行为: - 创建操作时为 必需 - 对继承对象为 只读 |
| name | string | LLD 规则的名称。 属性行为: - 创建操作时为 必需 - 对继承对象为 只读 |
| type | integer | LLD 规则的类型。 可能的值: 0 - Zabbix agent; 2 - Zabbix trapper; 3 - Simple check; 5 - Zabbix internal; 7 - Zabbix agent (active); 10 - External check; 11 - Database monitor; 12 - IPMI agent; 13 - SSH agent; 14 - TELNET agent; 16 - JMX agent; 18 - Dependent item; 19 - HTTP agent; 20 - SNMP agent; 21 - Script; 22 - Browser; 23 - Nested。仅当规则的父级是模板(假定该模板在发现时链接到主机原型),或是已发现主机(其根级别具有 LLD 规则)时,才允许使用此类型; 24 - Telemetry query。 属性行为: - 创建操作时为 必需 - 对继承对象为 只读 |
| url | string | URL 字符串。 支持用户宏、{HOST.IP}、{HOST.CONN}、{HOST.DNS}、{HOST.HOST}、{HOST.NAME}、{HOST.PORT}、{ITEM.ID}、{ITEM.KEY}。 属性行为: - 当 type 设置为 "HTTP agent" 时为 必需- 对继承对象为 只读 |
| allow_traps | integer | 允许以类似 trapper 监控项的方式填充值。 可能的值: 0 - (默认) 不接受传入数据; 1 - 接受传入数据。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持 |
| authtype | integer | 身份验证方法。 当 type 设置为 "SSH agent" 时的可能值:0 - (默认) 密码; 1 - 公钥。 当 type 设置为 "HTTP agent" 时的可能值:0 - (默认) 无; 1 - 基本; 2 - NTLM; 3 - Kerberos; 4 - 摘要。 属性行为: - 当 type 设置为 "SSH agent" 或 "HTTP agent" 时为 支持- 对继承对象为 只读(当 type 设置为 "HTTP agent" 时) |
| description | string | LLD 规则的描述。 |
| error | string | 更新 LLD 规则值时出现问题所对应的错误文本。 属性行为: - 只读 |
| follow_redirects | integer | 轮询数据时跟随响应重定向。 可能的值: 0 - 不跟随重定向; 1 - (默认) 跟随重定向。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| headers | array | 执行 HTTP 请求时发送的标头数组。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| http_proxy | string | HTTP(S) proxy 连接字符串。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| ipmi_sensor | string | IPMI 传感器。 属性行为: - 当 type 设置为 "IPMI agent" 且 key_ 未设置为 "ipmi.get" 时为 必需- 当 type 设置为 "IPMI agent" 时为 支持- 对继承对象为 只读 |
| jmx_endpoint | string | JMX agent 自定义连接字符串。 默认值:service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi 属性行为: - 当 type 设置为 "JMX agent" 时为 支持 |
| lifetime | string | 不再被发现的监控项被删除前的时间段。接受秒数(例如 3600)、带有时间后缀的值(例如 3600s、180m、24h、1d),或用户宏。默认值: 7d。 |
| lifetime_type | integer | 删除丢失 LLD 资源的方案。 可能的值: 0 - (默认) 达到生命周期阈值后删除; 1 - 不删除; 2 - 立即删除。 |
| enabled_lifetime | string | 不再被发现的监控项被禁用前的时间段。接受秒数(例如 1、60、300)、带有时间后缀的值(例如 30s、1m、2h、1d),或用户宏。默认值: 0。 |
| enabled_lifetime_type | integer | 禁用丢失 LLD 资源的方案。 可能的值: 0 - 达到生命周期阈值后禁用; 1 - 不禁用; 2 - (默认) 立即禁用。 |
| master_itemid | ID | 主监控项的 ID。 发现规则不能作为另一个发现规则的主监控项。 属性行为: - 当 type 设置为 "Dependent item" 时为 必需- 对继承对象为 只读 |
| output_format | integer | 是否应将响应转换为 JSON。 可能的值: 0 - (默认) 存储原始数据; 1 - 转换为 JSON。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| params | string | 取决于 LLD 规则类型的其他参数: - SSH 和 Telnet LLD 规则所执行的脚本; - 数据库监控 LLD 规则的 SQL 查询; - 计算型 LLD 规则的公式; - 脚本和浏览器 LLD 规则的脚本。 属性行为: - 当 type 设置为 "Database monitor"、"SSH agent"、"TELNET agent"、"Script" 或 "Browser" 时为 必需- 对继承对象为 只读(当 type 设置为 "Script" 或 "Browser" 时) |
| parameters | object/array | 当 type 设置为 "Script" 或 "Browser" 时的其他参数。由包含 name 和 value 属性的对象组成的数组,其中 name 必须唯一。属性行为: - 当 type 设置为 "Script" 或 "Browser" 时为 支持- 对继承对象为 只读 |
| password | string | 身份验证密码。 属性行为: - 当 type 设置为 "JMX agent" 且设置了 username 时为 必需- 当 type 设置为 "Simple check"、"Database monitor"、"SSH agent"、"TELNET agent" 或 "HTTP agent" 时为 支持- 对继承对象为 只读(当 type 设置为 "HTTP agent" 时) |
| post_type | integer | posts 属性中存储的 POST 数据正文类型。可能的值: 0 - (默认) 原始数据; 2 - JSON 数据; 3 - XML 数据。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| posts | string | HTTP(S) 请求正文数据。 属性行为: - 当 type 设置为 "HTTP agent" 且 post_type 设置为 "JSON data" 或 "XML data" 时为 必需- 当 type 设置为 "HTTP agent" 且 post_type 设置为 "Raw data" 时为 支持- 对继承对象为 只读 |
| privatekey | string | 私钥文件的名称。 属性行为: - 当 type 设置为 "SSH agent" 且 authtype 设置为 "public key" 时为 必需 |
| publickey | string | 公钥文件的名称。 属性行为: - 当 type 设置为 "SSH agent" 且 authtype 设置为 "public key" 时为 必需 |
| query_fields | array | 执行 HTTP 请求时发送的查询字段数组。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| request_method | integer | 请求方法类型。 可能的值: 0 - (默认) GET; 1 - POST; 2 - PUT; 3 - HEAD。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| retrieve_mode | integer | 应存储响应的哪一部分。 当 request_method 设置为 "GET"、"POST" 或 "PUT" 时的可能值:0 - (默认) 正文; 1 - 标头; 2 - 同时存储正文和标头。 当 request_method 设置为 "HEAD" 时的可能值:1 - 标头。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| snmp_oid | string | SNMP OID。 属性行为: - 当 type 设置为 "SNMP agent" 时为 必需- 对继承对象为 只读 |
| ssl_cert_file | string | 公共 SSL 密钥文件路径。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| ssl_key_file | string | 私有 SSL 密钥文件路径。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| ssl_key_password | string | SSL 密钥文件的密码。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| state | integer | LLD 规则的状态。 可能的值: 0 - (默认) 正常; 1 - 不支持。 属性行为: - 只读 |
| status | integer | LLD 规则的状态。 可能的值: 0 - (默认) 已启用的 LLD 规则; 1 - 已禁用的 LLD 规则。 |
| status_codes | string | 以逗号分隔的所需 HTTP 状态代码范围。也支持将用户宏作为逗号分隔列表的一部分。 示例:200,200-{$M},{$M},200-400 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| templateid | ID | 父模板 LLD 规则的 ID。 属性行为: - 只读 |
| timeout | string | 监控项数据轮询请求超时。 接受秒数(例如 1、60、300),或带有时间后缀的值(例如 30s、1m)。也接受用户宏。可能的值范围:1-600s。 默认值:"" - 使用 proxy/全局设置。 属性行为: - 当 type 设置为 "Zabbix agent" (0)、"Simple check" (3) 且 key_ 不以 "vmware." 和 "icmpping" 开头,"Zabbix agent (active)" (7)、"External check" (10)、"Database monitor" (11)、"SSH agent" (13)、"TELNET agent" (14)、"HTTP agent" (19)、"SNMP agent" (20) 且 snmp_oid 以 "walk[" 或 "get[" 开头、"Script" (21)、"Browser" (22)、"Telemetry query" (24) 时为 支持- 对继承对象为 只读, - 如果应用默认值且监控项属于由不可访问的 proxy 或 proxy 组监控的主机,则使用全局超时。 |
| trapper_hosts | string | 允许的主机。 属性行为: - 当 type 设置为 "Zabbix trapper" 时为 支持,或者当 type 设置为 "HTTP agent" 且 allow_traps 设置为 "Allow incoming data" 时为 支持。如果省略该属性,则会自动将其设置为 {$TRAPPER.ALLOWED_HOSTS}用户宏(默认值)。默认情况下,{$TRAPPER.ALLOWED_HOSTS} 为 127.0.0.1,::1。如果将该属性设置为空字符串,则将拒绝所有主机的传入连接。 |
| username | string | 身份验证用户名。 属性行为: - 当 type 设置为 "SSH agent"、"TELNET agent",或者当 type 设置为 "JMX agent" 且设置了 password 时为 必需- 当 type 设置为 "Simple check"、"Database monitor" 或 "HTTP agent" 时为 支持- 对继承对象为 只读(当 type 设置为 "HTTP agent" 时) |
| uuid | string | 通用唯一标识符,用于将导入的 LLD 规则链接到已存在的规则。如果未提供,则自动生成。 属性行为: - 当 LLD 规则属于模板时为 支持 |
| verify_host | integer | 是否验证连接的主机名与主机证书中的名称匹配。 可能的值: 0 - (默认) 不验证; 1 - 验证。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| verify_peer | integer | 是否验证主机证书是否真实有效。 可能的值: 0 - (默认) 不验证; 1 - 验证。 属性行为: - 当 type 设置为 "HTTP agent" 时为 支持- 对继承对象为 只读 |
| query | object | Telemetry query 配置。定义 LLD 规则从遥测数据源查询的内容、筛选数据的方式以及聚合结果的方式。 属性行为: - 当 type 设置为 "Telemetry query" 时为 必需- 对继承对象为 只读 |
| time_shift | string | 查询时间范围结束时间与当前时间之间的最小时间间隔。 接受秒数(例如 1、60、300)或带有时间后缀的值(例如 30s、1m、2h、1d)。也接受用户宏。可能的值范围:0-86400s。 默认值:15s。 属性行为: - 当 type 设置为 "Telemetry query" 时为 支持 |
| lookback_limit | string | 如果满足以下条件,查询时间范围从查询时间范围结束时间之前多远的位置开始: - 没有可继续执行的上一次查询(例如,在 LLD 规则首次运行时)。 - 从上一次查询继续执行会使查询时间范围长于 lookback_limit(例如,因为 Zabbix 服务器已停止运行)。接受秒数(例如 1、60、300)或带有时间后缀的值(例如 30s、1m、2h、1d)。也接受用户宏。可能的值范围:1-259200s。 默认值:10m。 属性行为: - 当 type 设置为 "Telemetry query" 时为 支持 |
| granularity | string | 查询时间范围被划分成的时间桶长度。 接受秒数(例如 1、60、300)或带有时间后缀的值(例如 30s、1m、2h、1d)。也接受用户宏。该值不能大于 lookback_limit。可能的值范围:1-86400s。 默认值:15s。 属性行为: - 当 type 设置为 "Telemetry query" 时为 支持 |
HTTP 标头
header 对象具有以下属性:
HTTP 查询字段
查询字段对象定义了用于指定 URL 参数的名称和值。 它具有以下属性:
Telemetry 查询
Telemetry 查询对象具有以下属性。
| Property | Type | Description |
|---|---|---|
| signal_type | integer | LLD 规则查询的 Signal 类型。 可能的值: 0 - Traces; 1 - Metrics; 2 - Logs。 Property behavior: - required |
| metric_point_type | integer | LLD 规则查询的 Metric point 类型。 可能的值: 0 - Sum; 1 - Gauge; 2 - Histogram; 3 - Exponential histogram。 Property behavior: - 当 signal_type 设置为 "Metrics" 时为 required |
| columns | array | LLD 规则查询的telemetry data columns数组。可以为空。 Property behavior: - required |
| aggregated_columns | array | LLD 规则查询的telemetry data aggregated columns数组,以及该规则如何根据列记录计算值。 Property behavior: - required |
| filter | object | 查询中列记录的 Telemetry query filter。 Property behavior: - required |
遥测数据列
遥测数据列对象具有以下属性。
| Property | Type | Description |
|---|---|---|
| column | string | LLD 规则查询的遥测数据列名称。 请参阅受支持的遥测数据列。 对于多个单值列,每个 column 值必须唯一。对于多个存储键值对的列,每个 column 和 attribute_key 对必须唯一。 |
| attribute_key | string | LLD 规则在存储键值对的列中查询的键名称。 对于多个存储键值对的列,每个 column 和 attribute_key 对必须唯一。属性行为: - 如果 column 设置为存储键值对的列,则为必需 |
遥测数据聚合列
遥测数据聚合列对象具有以下属性。
| Property | Type | Description |
|---|---|---|
| column | string | LLD 规则查询的遥测数据列名称。 请参阅支持的遥测数据列。 对于多个列,每个 column 值必须唯一。如果将 function 设置为 "Count",则不支持此属性。属性行为: - 如果将 function 设置为 "Min"、"Max"、"Average"、"Sum" 或 "Percentile",则为必需 |
| function | integer | LLD 规则应用于列记录的函数。 可能的值: 1 - Min; 2 - Max; 3 - Average; 4 - Count; 5 - Sum; 8 - Percentile。 属性行为: - 必需 |
| parameters | array | LLD 规则根据列记录计算的百分位数。 可能的值:0 到 100 之间的数字,以字符串形式给出。 属性行为: - 如果将 function 设置为 "Percentile",则为必需 |
| alias | string | 计算值的唯一名称,用于在 LLD 规则值中标识该值。 每个 alias 值必须唯一,且不能为 clock。属性行为: - 必需 |
遥测数据过滤器
遥测数据过滤器对象具有以下属性。
| Property | Type | Description |
|---|---|---|
| conditions | array | 遥测数据过滤器条件,遥测数据列中的记录必须满足这些条件。 属性行为: - 必需 |
| evaltype | integer | 过滤条件的评估方法。 可能的值: 0 - And/Or; 1 - And; 2 - Or; 3 - 自定义表达式。 属性行为: - 必需 |
| eval_formula | string | 用于评估过滤条件的生成表达式。该表达式包含通过其 formulaid 引用特定过滤条件的 ID。对于使用自定义表达式的过滤器,eval_formula 的值等于 formula 的值。属性行为: - 只读 |
| formula | string | 用户定义的表达式,用于评估使用自定义表达式的过滤器条件。该表达式必须包含通过其 formulaid 引用特定过滤条件的 ID。表达式中使用的 ID 必须与过滤器条件中定义的 ID 完全匹配:不能有任何条件未使用或被省略。属性行为: - 当 evaltype 设置为“自定义表达式”时必需 |
遥测数据过滤条件
遥测数据过滤条件对象具有以下属性。
| Property | Type | Description |
|---|---|---|
| column | string | 过滤条件所应用的遥测数据列的名称。 请参阅支持的遥测数据列。 属性行为: - 必需 |
| attribute_key | string | 在包含键值对的列中,条件所应用的键的名称。 属性行为: - 如果 column 设置为包含键值对的列,则为必需 |
| operator | integer | 过滤条件运算符。 单值列的可能值: 0 - 等于; 1 - 不等于; 2 - 包含; 3 - 不包含。 包含键值对的列的可能值: 0 - 等于; 1 - 不等于; 12 - 存在。 属性行为: - 必需 |
| value | string | 用于比较的值。 属性行为: - 当 operator 设置为“等于”、“不等于”、“包含”或“不包含”时为必需 |
| formulaid | string | 用于从自定义表达式引用条件的任意唯一 ID。只能包含大写字母。修改过滤条件时,必须由用户定义该 ID;但之后请求这些条件时,系统会重新生成该 ID。 属性行为: - 如果遥测数据过滤器对象的 evaltype 设置为“自定义表达式”,则为必需 |
LLD 规则过滤器
LLD 规则过滤器对象定义了一组可用于过滤已发现对象的条件。 它具有以下属性:
| 属性 | 类型 | 描述 |
|---|---|---|
| conditions | object/array | 用于过滤结果的过滤条件集合。条件将按照其在公式中的排列顺序进行排序。 属性行为: - 必需 |
| evaltype | integer | 过滤条件的求值方法。 可能的值: 0 - And/Or; 1 - And; 2 - Or; 3 - 自定义表达式。 属性行为: - 必需 |
| eval_formula | string | 用于评估过滤条件的生成表达式。该表达式包含通过其 formulaid 引用特定过滤条件的 ID。对于使用自定义表达式的过滤器,eval_formula 的值等于 formula 的值。属性行为: - 只读 |
| formula | string | 用户定义的表达式,用于评估使用自定义表达式的过滤器条件。该表达式必须包含通过其 formulaid 引用特定过滤条件的 ID。表达式中使用的 ID 必须与过滤条件中定义的 ID 完全匹配:不能有任何条件未被使用或遗漏。属性行为: - 如果 evaltype 设置为“自定义表达式”,则为 必需 |
LLD 规则过滤条件
LLD 规则过滤条件对象定义了对 LLD 宏值执行的一项独立检查。 它具有以下属性:
| 属性 | Type | 描述 |
|---|---|---|
| macro | string | 要执行检查的 LLD 宏。 属性行为: - 必填 |
| value | string | 要进行比较的值。 属性行为: - 如果 operator 设置为“匹配正则表达式”或“不匹配正则表达式”,则为 必填 |
| formulaid | string | 用于从自定义表达式中引用该条件的任意唯一 ID。只能包含大写字母。在修改过滤条件时,该 ID 必须由用户定义,但在之后请求这些条件时会重新生成。 属性行为: - 如果 LLD 规则过滤对象 的 evaltype 设置为“自定义表达式”,则为 必填 |
| operator | integer | 条件运算符。 可能的值: 8 - (默认) 匹配正则表达式; 9 - 不匹配正则表达式; 12 - 存在; 13 - 不存在。 |
为了更好地理解如何在各种类型的表达式中使用过滤器,请参阅 discoveryrule.get 和 discoveryrule.create 方法页面中的示例。
LLD 宏路径
LLD 宏路径具有以下属性:
LLD 规则预处理
LLD 规则预处理对象具有以下属性。
| 属性 | 类型 | 描述 |
|---|---|---|
| type | integer | 预处理选项类型。 可能的值: 5 - 正则表达式; 11 - XML XPath; 12 - JSONPath; 14 - 匹配正则表达式; 15 - 不匹配正则表达式; 16 - 检查 JSON 中的错误; 17 - 检查 XML 中的错误; 20 - 使用心跳丢弃未更改的值; 21 - JavaScript; 23 - Prometheus 转 JSON; 24 - CSV 转 JSON; 25 - 替换; 27 - XML 转 JSON; 28 - SNMP walk 值; 29 - SNMP walk 转 JSON; 30 - SNMP get 值。 属性行为: - 必需 |
| params | string | 预处理选项使用的其他参数。多个参数使用换行符 (\n) 分隔。 属性行为: - 当 type 设置为“正则表达式”(5)、“XML XPath”(11)、“JSONPath”(12)、“匹配正则表达式”(14)、“不匹配正则表达式”(15)、“检查 JSON 中的错误”(16)、“检查 XML 中的错误”(17)、“使用心跳丢弃未更改的值”(20)、“JavaScript”(21)、“Prometheus 转 JSON”(23)、“CSV 转 JSON”(24)、“替换”(25)、“SNMP walk 值”(28)、“SNMP walk 转 JSON”(29) 或 “SNMP get 值”(30) 时必需 |
| error_handler | integer | 预处理步骤失败时使用的操作类型。 可能的值: 0 - 错误消息由 Zabbix 服务器设置; 1 - 丢弃值; 2 - 设置自定义值; 3 - 设置自定义错误消息。 属性行为: - 当 type 设置为“正则表达式”(5)、“XML XPath”(11)、“JSONPath”(12)、“匹配正则表达式”(14)、“不匹配正则表达式”(15)、“检查 JSON 中的错误”(16)、“检查 XML 中的错误”(17)、“Prometheus 转 JSON”(23)、“CSV 转 JSON”(24)、“XML 转 JSON”(27)、“SNMP walk 值”(28)、“SNMP walk 转 JSON”(29) 或 “SNMP get 值”(30) 时必需 |
| error_handler_params | string | 错误处理程序参数。 属性行为: - 当 error_handler 设置为“设置自定义值”或“设置自定义错误消息”时必需 |
以下参数和错误处理程序适用于每种预处理类型。
| 预处理类型 | 名称 | 参数 1 | 参数 2 | 参数 3 | 支持的错误处理程序 |
|---|---|---|---|---|---|
| 5 | 正则表达式 | pattern1 | output2 | 0, 1, 2, 3 | |
| 11 | XML XPath | path3 | 0, 1, 2, 3 | ||
| 12 | JSONPath | path3 | 0, 1, 2, 3 | ||
| 14 | 匹配正则表达式 | pattern1 | 0, 1, 2, 3 | ||
| 15 | 不匹配正则表达式 | pattern1 | 0, 1, 2, 3 | ||
| 16 | 检查 JSON 中的错误 | path3 | 0, 1, 2, 3 | ||
| 17 | 检查 XML 中的错误 | path3 | 0, 1, 2, 3 | ||
| 20 | 使用心跳丢弃未更改的值 | seconds4, 5 | |||
| 21 | JavaScript | script2 | |||
| 23 | Prometheus 转 JSON | pattern5, 6 | 0, 1, 2, 3 | ||
| 24 | CSV 转 JSON | character2 | character2 | 0,1 | 0, 1, 2, 3 |
| 25 | 替换 | search string2 | replacement2 | ||
| 27 | XML 转 JSON | 0, 1, 2, 3 | |||
| 28 | SNMP walk 值 | OID2 | 格式: 0 - 不变更 1 - 从 Hex-STRING 转换为 UTF-8 2 - 从 Hex-STRING 转换为 MAC 3 - 从 BITS 转换为整数 |
0, 1, 2, 3 | |
| 29 | SNMP walk 转 JSON7 | 字段名称2 | OID 前缀2 | 格式: 0 - 不变更 1 - 从 Hex-STRING 转换为 UTF-8 2 - 从 Hex-STRING 转换为 MAC 3 - 从 BITS 转换为整数 |
0, 1, 2, 3 |
| 30 | SNMP get 值 | 格式: 1 - 从 Hex-STRING 转换为 UTF-8 2 - 从 Hex-STRING 转换为 MAC 3 - 从 BITS 转换为整数 |
0, 1, 2, 3 | ||
1 正则表达式
2 字符串
3 JSONPath 或 XML XPath
4 正整数(支持时间后缀,例如 30s、1m、2h、1d)
5 用户宏
6 遵循以下语法的 Prometheus 模式:<metric name>{<label name>="<label value>", ...} == <value>。
Prometheus 模式的每个组成部分(指标、标签名称、标签值和指标值)都可以是用户宏。
7 支持多个“字段名称、OID 前缀、格式记录”,各记录使用换行符分隔。
LLD 规则覆盖
LLD 规则覆盖对象定义了一组规则(过滤器、条件和操作),用于覆盖不同原型对象的属性。 它具有以下属性:
| Property | Type | Description |
|---|---|---|
| name | string | 唯一的覆盖名称。 属性行为: - 必填 |
| step | integer | 覆盖的唯一顺序号。 属性行为: - 必填 |
| stop | integer | 如果匹配,则停止处理后续覆盖。 可能的值: 0 - (默认) 不停止处理覆盖; 1 - 如果过滤器匹配,则停止处理覆盖。 |
| filter | object | 覆盖过滤器。 |
| operations | object/array | 覆盖操作。 |
LLD 规则覆盖过滤器
LLD 规则覆盖过滤器对象定义了一组条件;如果这些条件与发现的对象匹配,则会应用覆盖。 它具有以下属性:
| Property | Type | Description |
|---|---|---|
| conditions | object/array | 用于匹配发现对象的覆盖过滤条件集合。这些条件将按照它们在公式中的排列顺序进行排序。 属性行为: - 必需 |
| evaltype | integer | 覆盖过滤条件的求值方法。 可能的值: 0 - And/Or; 1 - And; 2 - Or; 3 - 自定义表达式。 属性行为: - 必需 |
| eval_formula | string | 用于对覆盖过滤条件进行求值的生成表达式。该表达式包含通过其 formulaid 引用特定覆盖过滤条件的 ID。对于使用自定义表达式的过滤器,eval_formula 的值等于 formula 的值。属性行为: - 只读 |
| formula | string | 用户定义的表达式,用于对使用自定义表达式的覆盖过滤器条件进行求值。该表达式必须包含通过其 formulaid 引用特定覆盖过滤条件的 ID。表达式中使用的 ID 必须与覆盖过滤条件中定义的 ID 完全匹配:任何条件都不能未被使用或被省略。属性行为: - 如果 evaltype 设置为“custom expression”,则为 必需 |
LLD 规则覆盖过滤条件
LLD 规则覆盖过滤条件对象定义了一个单独的检查,用于对 LLD 宏的值执行检查。
它具有以下属性:
| 属性 | 类型 | 描述 |
|---|---|---|
| macro | string | 要执行检查的 LLD 宏。 属性行为: - 必填 |
| value | string | 要进行比较的值。 属性行为: - 如果 operator 设置为“匹配正则表达式”或“不匹配正则表达式”,则为 必填 |
| formulaid | string | 用于从自定义表达式中引用该条件的任意唯一 ID。只能包含大写字母。在修改过滤条件时,该 ID 必须由用户定义,但在之后请求这些条件时会重新生成。 属性行为: - 如果 LLD 规则覆盖过滤器对象 的 evaltype 设置为“自定义表达式”,则为 必填 |
| operator | integer | 条件运算符。 可能的值: 8 - (默认) 匹配正则表达式; 9 - 不匹配正则表达式; 12 - 存在; 13 - 不存在。 |
LLD 规则覆盖操作
LLD 规则覆盖操作是对原型对象执行的一组条件和操作的组合。
它具有以下属性:
| 属性 | Type | 说明 |
|---|---|---|
| operationobject | integer | 要执行操作的发现对象类型。 可能的值: 0 - 监控项原型; 1 - 触发器原型; 2 - 图形原型; 3 - 主机原型; 4 - 发现原型。 属性行为: - 必填 |
| operator | integer | 覆盖条件的运算符。 可能的值: 0 - (默认) 等于; 1 - 不等于; 2 - 包含; 3 - 不包含; 8 - 匹配; 9 - 不匹配。 |
| value | string | 根据所选对象,用于匹配监控项、触发器、图形或主机原型名称的模式。 |
| opstatus | object | 用于监控项、触发器和主机原型对象的覆盖操作状态对象。 |
| opdiscover | object | 覆盖操作发现状态对象(适用于所有对象类型)。 |
| opperiod | object | 用于监控项原型对象的覆盖操作周期(更新间隔)对象。 |
| ophistory | object | 用于监控项原型对象的覆盖操作历史数据对象。 |
| optrends | object | 用于监控项原型对象的覆盖操作趋势数据对象。 |
| opseverity | object | 用于触发器原型对象的覆盖操作严重性对象。 |
| optag | object/array | 用于触发器和主机原型对象的覆盖操作标签对象。 |
| optemplate | object/array | 用于主机原型对象的覆盖操作模板对象。 |
| opinventory | object | 用于主机原型对象的覆盖操作资产记录对象。 |
LLD 规则覆盖操作状态
设置到已发现对象的 LLD 规则覆盖操作状态。 它具有以下属性:
LLD 规则覆盖操作 discover
LLD 规则覆盖操作 discover 状态会被设置到已发现对象。 它具有以下属性:
| 属性 | Type | 描述 |
|---|---|---|
| discover | integer | 覆盖所选对象的 discover 状态。 可能的值: 0 - 是,继续发现这些对象; 1 - 否,不会发现新对象,现有对象将被标记为丢失。 属性行为: - 必需 |
LLD 规则覆盖操作周期
LLD 规则覆盖操作周期是为发现的监控项设置的更新间隔值。 它具有以下属性:
| Property | Type | Description |
|---|---|---|
| delay | string | 覆盖监控项原型的更新间隔。 接受秒数(例如 1、60、300)、带有时间后缀的值(例如 30s、1m、2h、1d),或者可选的一个或多个自定义间隔,所有值之间使用分号分隔。自定义间隔可以混合使用灵活间隔和调度间隔。接受用户宏或 LLD 宏。如果使用宏,该值必须是单个宏。不支持多个宏,或宏与文本混合使用。灵活间隔可以写成由正斜杠分隔的两个宏(例如 {$FLEX_INTERVAL}/{$FLEX_PERIOD})。示例: 1h;wd1-5h9-18;{$Macro1}/1-7,00:00-24:00;0/6-7,12:00-24:00;{$Macro2}/{$Macro3}属性行为: - required |
LLD 规则覆盖操作历史记录
设置到已发现监控项的 LLD 规则覆盖操作历史记录值。 它具有以下属性:
LLD 规则覆盖操作趋势
LLD 规则覆盖操作趋势值将被设置到已发现的监控项。 它具有以下属性:
LLD 规则覆盖操作严重性
设置到已发现触发器的 LLD 规则覆盖操作严重性值。 它具有以下属性:
| 属性 | 类型 | 描述 |
|---|---|---|
| severity | integer | 覆盖触发器原型的严重性。 可能的值: 0 - (默认) 未分类; 1 - 信息; 2 - 警告; 3 - 一般严重; 4 - 高; 5 - 灾难。 属性行为: - 必需 |
LLD 规则覆盖操作标签
LLD 规则覆盖操作标签对象包含设置到发现对象的标签名称和值。 它具有以下属性:
| Property | Type | Description |
|---|---|---|
| tag | string | 新的标签名称。也接受用户宏和 LLD 宏。 属性行为: - required |
| value | string | 新的标签值。也接受用户宏和 LLD 宏。 |
LLD 规则覆盖操作模板
链接到已发现主机的 LLD 规则覆盖操作模板对象。
它具有以下属性:
LLD 规则覆盖操作清单
设置到已发现主机的 LLD 规则覆盖操作清单模式值。 它具有以下属性: