以下objects与discoveryruleprototype
API直接相关.
低级发现规则原型 object 具有以下属性。
属性 | 数据类型 | 描述 |
---|---|---|
itemid | ID | LLD规则原型ID. 属性行为: - 只读 - 必填 用于 update 操作 |
ruleid | ID | 父级LLD规则/LLD规则原型的ID。 属性行为: - 只读 - 进行create操作时必填 |
delay | string | LLD规则原型的更新间隔. 接受秒数或带后缀的时间单位(例如30s, 1m, 2h, 1d), 并可选择性地包含一个或多个custom intervals, 各部分用分号分隔. 自定义间隔可以是灵活间隔与调度间隔的混合. 接受用户宏. 如果使用宏, 值必须是单个宏. 不支持多个宏或宏与文本混合使用. 灵活间隔可以写成用斜杠分隔的两个宏(例如 {$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), 或当type 设置为"Zabbix agent (active)"(7)且key_ 不包含"mqtt.get"时 |
hostid | ID | LLD规则原型所属的主机 ID。 属性行为: - 常量 - 进行create操作时必填 |
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规则原型键. 至少需要一个LLD宏. 属性行为: - 必填 用于create操作 - 只读 用于继承的objects |
name | string | LLD规则原型名称. 属性行为: - 对于create操作是必填项 - 对于继承的objects是只读 |
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 监控项; 19 - HTTP agent; 20 - SNMP agent; 21 - Script; 22 - Browser; 23 - Nested. 属性行为: - required for create operations - read-only for inherited objects |
url | string | URL string. 支持用户宏, {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {HOST.PORT}, {ITEM.ID}, {ITEM.KEY}. 属性行为: - 必填 当 type 设置为"HTTP agent"时- 只读 对于继承的 objects |
allow_traps | integer | 允许以类似trapper 监控项的方式填充值. 可选值: 0 - (默认) 不允许接收传入数据; 1 - 允许接收传入数据. 属性行为: - 支持 当 type 设置为"HTTP agent"时 |
authtype | integer | 认证方法. 当 type 设置为"SSH agent"时的可能取值:0 - (默认) 密码; 1 - 公钥. 当 type 设置为"HTTP agent"时的可能取值:0 - (默认) 无; 1 - 基础认证; 2 - NTLM. 属性行为: - 支持 当 type 设置为"SSH agent"或"HTTP agent"时- 只读 对于继承的objects (当 type 设置为"HTTP agent"时) |
description | string | LLD规则原型的描述。 |
error | string | 更新LLD规则原型值时若出现问题所显示的错误文本。 属性行为: - 只读 |
follow_redirects | integer | 轮询数据时跟随响应重定向. 可选值: 0 - 不跟随重定向; 1 - (默认) 跟随重定向. 属性行为: - 当 type 设置为"HTTP agent"时支持- 对于继承的objects为只读 |
headers | array | 执行HTTP请求时将发送的headers的array. 属性行为: - 当 type 设置为"HTTP agent"时支持- 对于继承的objects为只读 |
http_proxy | string | HTTP(S) proxy 连接 string. 属性行为: - 支持 当 type 设置为 "HTTP agent"- 只读 对于继承的 objects |
ipmi_sensor | string | IPMI传感器. 属性行为: - 必填 当 type 设置为"IPMI agent"且key_ 未设置为"ipmi.get"时- 支持 当 type 设置为"IPMI agent"时- 只读 对于继承的objects |
jmx_endpoint | string | JMX agent 自定义连接 string. 默认值: service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi 属性行为: - 支持 当 type 设置为 "JMX agent" 时 |
lifetime | string | 未再发现的监控项将被删除的时间周期。接受秒数、带后缀的时间单位或用户宏。 默认值: 7d 。 |
lifetime_type | integer | 丢失LLD资源时的delete场景. 可选值: 0 - (默认) 达到生命周期阈值后删除; 1 - 不delete; 2 - 立即删除. |
enabled_lifetime | string | 未再发现的监控项将被禁用的时间周期。接受秒数、带后缀的时间单位或用户宏。 默认值: 0 。 |
enabled_lifetime_type | integer | 禁用丢失LLD资源的场景. 可选值: 0 - 达到生命周期阈值后禁用; 1 - 不进行禁用; 2 - (默认) 立即禁用. |
master_itemid | ID | 主监控项的ID. 发现规则不能作为另一个发现规则的主监控项. 属性行为: - 当 type 设置为"依赖监控项"时必填- 对于继承的objects为只读 |
output_format | integer | 响应是否应转换为JSON. 可选值: 0 - (默认) 存储原始数据; 1 - 转换为JSON. 属性行为: - 支持 当 type 设置为"HTTP agent"时- 只读 对于继承的objects |
params | string | 根据LLD规则原型类型所需的附加参数: - 针对SSH和Telnet LLD规则需执行的脚本; - 数据库监控LLD规则的SQL query; - 计算型LLD规则的公式; - 脚本型和浏览器型LLD规则的脚本. 属性行为: - 当 type 设置为"Database monitor"(数据库监控)、"SSH agent"、"TELNET agent"、"Script"(脚本)或"Browser"(浏览器)时为必填项- 对于继承的objects显示为只读(当 type 设置为"Script"或"Browser"时) |
parameters | object/array | 当type 设置为"Script"或"Browser"时的附加参数.包含 name 和value 属性的objects的array, 其中name 必须唯一.属性行为: - 支持 当 type 设置为"Script"或"Browser"时- 只读 对于继承的objects |
password | string | 用于认证的密码. 属性行为: - 必填 当 type 设置为"JMX agent"且 username 被设置时- 支持 当 type 设置为"简单检查", "数据库监控", "SSH agent", "TELNET agent" 或 "HTTP agent"时- 只读 对于继承的 objects (当 type 设置为"HTTP agent"时) |
post_type | integer | 存储在posts 属性中的POST请求数据类型.可选值: 0 - (默认) 原始数据; 2 - JSON数据; 3 - XML数据. 属性行为: - 支持 当 type 设置为"HTTP agent"时- 只读 对于继承的objects |
posts | string | HTTP(S)请求体数据. 属性行为: - 必填 当 type 设置为"HTTP agent"且post_type 设置为"JSON数据"或"XML数据"时- 支持 当 type 设置为"HTTP agent"且post_type 设置为"原始数据"时- 只读 对于继承的objects |
privatekey | string | 私钥名称 file. 属性行为: - 必填 当 type 设置为 "SSH agent" 且 authtype 设置为 "公钥" 时 |
publickey | string | 公钥名称 file. 属性行为: - 必填 当 type 设为"SSH agent"且 authtype 设为"public key"时 |
query_fields | array | 执行HTTP请求时将发送的query字段的array. 属性行为: - 当 type 设置为"HTTP agent"时支持- 对于继承的objects为只读 |
request_method | integer | 请求方法类型. 可选值: 0 - (默认) GET; 1 - POST; 2 - PUT; 3 - HEAD. 属性行为: - 支持 当 type 设置为"HTTP agent"时- 只读 对于继承的 objects |
retrieve_mode | integer | 应存储响应的哪部分内容. 当 request_method 设置为"GET"、"POST"或"PUT"时的可选值:0 - (默认) 正文; 1 - 头部; 2 - 同时存储正文和头部. 当 request_method 设置为"HEAD"时的可选值:1 - 头部. 属性行为: - 当 type 设置为"HTTP agent"时支持- 对于继承的objects为只读 |
snmp_oid | string | SNMP OID. 属性行为: - required 如果 type 设置为 "SNMP agent"- read-only 对于继承的 objects |
ssl_cert_file | string | 公钥SSL证书file路径. 属性行为: - 支持 当 type 设置为"HTTP agent"时- 只读 对于继承的objects |
ssl_key_file | string | 私有SSL密钥file路径. 属性行为: - 支持 当 type 设置为"HTTP agent"时- 只读 对于继承的objects |
ssl_key_password | string | SSL密钥密码 file. 属性行为: - 支持 当 type 设置为 "HTTP agent" 时- 只读 对于继承的 objects |
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"时支持- 对于继承的objects为只读 |
templateid | ID | 父模板LLD规则原型ID. 属性行为: - 只读 |
timeout | string | 监控项 数据轮询请求超时. 接受秒数或带后缀的时间单位(例如30s, 1m). 也接受用户宏. 取值范围: 1-600秒. 默认值: "" - 使用proxy/全局设置. 属性行为: - 支持 当 type 设置为"Zabbix agent"(0), "简单检查"(3)且key_ 不以"vmware. "和"icmpping "开头, "Zabbix agent(主动)"(7), "外部检查"(10), "数据库监控"(11), "SSH agent"(13), "TELNET agent"(14), "HTTP agent"(19), "SNMP agent"(20)且snmp_oid 以"walk[ "或"get[ "开头, "脚本"(21), "浏览器"(22)- 只读 对于继承的objects |
trapper_hosts | string | 允许的 主机. 属性行为: - 支持 如果 type 设置为 "Zabbix trapper", 或者如果 type 设置为 "HTTP agent" 并且 allow_traps 设置为 "允许接收传入数据" |
username | string | 认证用户名. 属性行为: - 必填 如果 type 设置为 "SSH agent", "TELNET agent", 或 type 设置为 "JMX agent" 且 password 已设置- 支持 如果 type 设置为 "Simple check", "Database monitor", 或 "HTTP agent"- 只读 对于继承的 objects (如果 type 设置为 "HTTP agent") |
uuid | string | 通用唯一标识符,用于将导入的低级发现规则原型与已存在的规则进行关联。若未提供则自动生成。 属性行为: - 支持 当低级发现规则原型属于模板时 |
verify_host | integer | 是否验证连接中的主机名称与主机证书中的名称匹配. 可选值: 0 - (默认) 不验证; 1 - 验证. 属性行为: - 支持 当 type 设置为"HTTP agent"时- 只读 对于继承的objects |
verify_peer | integer | 是否验证主机证书的真实性. 可选值: 0 - (默认) 不验证; 1 - 验证. 属性行为: - 支持 当 type 设置为"HTTP agent"时- 只读 对于继承的objects |
头部 object 具有以下属性:
query字段object用于定义指定URL参数的名称和值. 它具有以下属性:
LLD规则原型过滤器object定义了一组可用于过滤发现的objects的条件。它具有以下属性:
属性 | 数据类型 | 描述 |
---|---|---|
conditions | object/array | 用于过滤结果的过滤器条件集合。条件将按其公式中的放置顺序排序。 属性行为: - 必填 |
evaltype | integer | 过滤器条件评估方法。 可能的值: 0 - 与/或; 1 - 与; 2 - 或; 3 - 自定义表达式。 属性行为: - 必填 |
eval_formula | string | 用于评估过滤器条件的生成表达式。该表达式包含通过formulaid 引用特定过滤器条件的ID。对于具有自定义表达式的过滤器,eval_formula 的值等于formula 的值。属性行为: - 只读 |
formula | string | 用于评估具有自定义表达式的过滤器条件的用户定义表达式。该表达式必须包含通过formulaid 引用特定过滤器条件的ID。表达式中使用的ID必须与过滤器条件中定义的完全匹配:不能有任何条件未被使用或遗漏。属性行为: - 必填 如果 evaltype 设置为"自定义表达式" |
LLD规则原型过滤器条件object定义了对LLD宏值执行的独立检查。它具有以下属性:
属性 | 数据类型 | 描述 |
---|---|---|
macro | string | 要执行检查的LLD宏。 属性行为: - 必填 |
value | string | 用于比较的值。 属性行为: - 当 operator 设置为"匹配正则表达式"或"不匹配正则表达式"时必填 |
formulaid | string | 用于从自定义表达式中引用该条件的任意唯一ID。只能包含大写字母。修改过滤条件时必须由用户定义该ID,但在后续请求时会重新生成。 属性行为: - 当LLD规则原型过滤器object的 evaltype 设置为"自定义表达式"时必填 |
operator | integer | 条件运算符。 可选值: 8 - (默认) 匹配正则表达式; 9 - 不匹配正则表达式; 12 - 存在; 13 - 不存在。 |
要更好地理解如何将过滤器与各类表达式配合使用,请参阅 discoveryruleprototype.get和 discoveryruleprototype.create方法 页面上的示例。
LLD宏路径具有以下属性:
LLD规则原型预处理object具有以下属性。
属性 | 数据类型 | 描述 |
---|---|---|
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 server设置; 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 | Regular expression | pattern1 | output2 | 0, 1, 2, 3 | |
11 | XML XPath | path3 | 0, 1, 2, 3 | ||
12 | JSONPath | path3 | 0, 1, 2, 3 | ||
14 | Matches regular expression | pattern1 | 0, 1, 2, 3 | ||
15 | Does not match regular expression | pattern1 | 0, 1, 2, 3 | ||
16 | Check for error in JSON | path3 | 0, 1, 2, 3 | ||
17 | Check for error in XML | path3 | 0, 1, 2, 3 | ||
20 | Discard unchanged with heartbeat | seconds4, 5 | |||
21 | JavaScript | script2 | |||
23 | Prometheus to JSON | pattern5, 6 | 0, 1, 2, 3 | ||
24 | CSV to JSON | character2 | character2 | 0,1 | 0, 1, 2, 3 |
25 | Replace | search string2 | replacement2 | ||
27 | XML to JSON | 0, 1, 2, 3 | |||
28 | SNMP walk value | OID2 | Format: 0 - Unchanged 1 - UTF-8 from Hex-STRING 2 - MAC from Hex-STRING 3 - Integer from BITS |
0, 1, 2, 3 | |
29 | SNMP walk to JSON7 | Field name2 | OID prefix2 | Format: 0 - Unchanged 1 - UTF-8 from Hex-STRING 2 - MAC from Hex-STRING 3 - Integer from BITS |
0, 1, 2, 3 |
30 | SNMP get value | Format: 1 - UTF-8 from Hex-STRING 2 - MAC from Hex-STRING 3 - Integer from BITS |
0, 1, 2, 3 |
1 正则表达式
2 string
3 JSONPath或XML XPath
4 正数integer(支持时间后缀,如30s,1m,2h,1d)
5 用户宏
6 Prometheus模式,遵循语法: <metric name>{<label name>="<label value>", ...} == <value>
。每个 Prometheus模式组件(指标、标签名、标签值和指标值)可以是用户宏。
7 支持多个"字段名,OID前缀,格式记录"记录,用换行符分隔。
LLD规则原型覆盖object定义了一组规则(过滤器、 条件和操作),用于覆盖不同原型objects的属性。 它具有以下属性:
属性 | 数据类型 | 描述 |
---|---|---|
name | string | 唯一覆盖名称。 属性行为: - 必填 |
step | integer | 覆盖的唯一序号。 属性行为: - 必填 |
stop | integer | 如果匹配则停止处理后续覆盖。 可能值: 0 - (默认) 不停止处理覆盖; 1 - 如果过滤器匹配则停止处理覆盖。 |
filter | object | 覆盖过滤器。 |
operations | object/array | 覆盖操作。 |
LLD规则原型覆盖过滤器object定义了一组条件,当这些条件与发现的object匹配时,将应用覆盖。它具有以下属性:
属性 | 数据类型 | 描述 |
---|---|---|
conditions | object/array | 用于匹配发现的objects的覆盖过滤器条件集合。条件将按其公式中的放置顺序进行排序。 属性行为: - 必填 |
evaltype | integer | 覆盖过滤器条件评估方法。 可能的值: 0 - 与/或; 1 - 与; 2 - 或; 3 - 自定义表达式。 属性行为: - 必填 |
eval_formula | string | 用于评估覆盖过滤器条件的生成表达式。该表达式包含通过其formulaid 引用特定覆盖过滤器条件的ID。对于具有自定义表达式的过滤器,eval_formula 的值等于formula 的值。属性行为: - 只读 |
formula | string | 用于评估具有自定义表达式的覆盖过滤器条件的用户定义表达式。该表达式必须包含通过其formulaid 引用特定覆盖过滤器条件的ID。表达式中使用的ID必须与覆盖过滤器条件中定义的ID完全匹配:不能有任何条件未被使用或遗漏。属性行为: - 必填 如果 evaltype 设置为"自定义表达式" |
LLD规则原型覆盖过滤器条件object定义了对LLD宏值执行的独立检查。它具有以下属性:
属性 | 数据类型 | 描述 |
---|---|---|
macro | string | 要执行检查的LLD宏。 属性行为: - 必填 |
value | string | 用于比较的值。 属性行为: - 当 operator 设置为"匹配正则表达式"或"不匹配正则表达式"时必填 |
formulaid | string | 用于从自定义表达式中引用该条件的任意唯一ID。只能包含大写字母。修改过滤条件时必须由用户定义该ID,但在后续请求时会重新生成。 属性行为: - 当LLD规则原型覆盖过滤器object的 evaltype 设置为"自定义表达式"时必填 |
operator | integer | 条件运算符。 可能的值: 8 - (默认) 匹配正则表达式; 9 - 不匹配正则表达式; 12 - 存在; 13 - 不存在。 |
LLD规则原型覆盖操作是条件与动作的组合 用于对原型object执行操作。它具有以下属性:
属性 | 数据类型 | 描述 |
---|---|---|
operationobject | integer | 要执行操作的发现object类型。 可能值: 0 - 监控项原型; 1 - 触发器原型; 2 - 图形原型; 3 - 主机原型。 属性行为: - 必填 |
operator | integer | 覆盖条件运算符。 可能值: 0 - (默认) 等于; 1 - 不等于; 2 - 包含; 3 - 不包含; 8 - 匹配; 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 | object/array | 用于触发器和主机原型objects的覆盖操作标签object。 |
optemplate | object/array | 用于主机原型object的覆盖操作模板object。 |
opinventory | object | 用于主机原型object的覆盖操作资产清单object。 |
LLD规则原型覆盖操作状态 设置为已发现的object. 它具有以下属性:
LLD规则原型覆盖操作发现状态设置为已发现 object. 它具有以下属性:
属性 | 数据类型 | 描述 |
---|---|---|
discover | integer | 覆盖选定object的发现状态. 可能的值: 0 - 是, 继续发现objects; 1 - 否, 新的objects将不会被发现, 现有的将被标记为丢失. 属性行为: - 必填 |
LLD规则原型覆盖操作周期是一个update间隔值,用于设置发现的监控项。 它具有以下属性:
属性 | 数据类型 | 描述 |
---|---|---|
delay | string | 覆盖监控项原型的update间隔。 接受秒数或带后缀的时间单位(例如30s、1m、2h、1d),并可选择性地包含一个或多个custom intervals,所有值用分号分隔。自定义间隔可以是灵活间隔和调度间隔的混合。 接受用户宏或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} 属性行为: - 必填 |
LLD规则原型覆盖操作历史值设置为已发现 监控项. 它具有以下属性:
LLD规则原型覆盖操作将趋势值设置为已发现的监控项. 它具有以下属性:
LLD规则原型覆盖操作中设置给发现触发器的严重性值。它具有以下属性:
属性 | 数据类型 | 描述 |
---|---|---|
severity | integer | 覆盖触发器原型的严重性。 可选值: 0 - (默认) 未分类; 1 - 信息; 2 - 警告; 3 - 一般; 4 - 严重; 5 - 灾难。 属性行为: - 必填 |
LLD规则原型覆盖操作标签object包含标签名称和值 这些值将被设置到发现的object上. 它具有以下属性:
LLD规则原型覆盖操作模板object,该模板链接到已发现的主机。它具有以下属性:
LLD规则原型覆盖操作中设置为已发现主机的资产清单模式值。具有以下属性: