以下对象与 自动发现规则
API 直接相关。
低级别自动发现(LLD)规则对象具有以下属性:
属性 | 类型 | 描述 |
---|---|---|
itemid | ID | LLD规则的ID。 属性行为: - 只读 - 更新操作时必需 |
delay | string | LLD规则的更新间隔。 接受秒或带后缀的时间单位(例如,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), "简单检查" (3), "Zabbix 内部" (5), "外部检查" (10), "数据库监控" (11), "IPMI 客户端" (12), "SSH 客户端" (13), "TELNET 客户端" (14), "JMX agent代理程序" (16), "HTTP 代理" (19), "SNMP 代理" (20), "脚本" (21), "Browser" (22),或者如果type 设置为"Zabbix agent (主动式)" (7)且key_ 不包含"mqtt.get",则为必需 |
hostid | ID | LLD规则所属的主机ID。 属性行为: - 常量 - 创建操作时必需 |
interfaceid | ID | LLD规则的主机接口ID。 属性行为: - 如果LLD规则属于主机且 type 设置为"Zabbix agent", "IPMI 客户端", "JMX agent代理程序", 或 "SNMP 代理",则为必需- 如果LLD规则属于主机且 type 设置为"简单检查", "外部检查", "SSH 客户端", "TELNET 客户端", 或 "HTTP 代理",则为支持 |
key_ | string | LLD规则键。 属性行为: - 创建操作时必需 - 继承对象时只读 |
name | string | LLD规则的名称。 属性行为: - 创建操作时必需 - 继承对象时只读 |
type | integer | LLD规则的类型。 可能的值: 0 - Zabbix agent; 2 - Zabbix trapper; 3 - 简单检查; 5 - Zabbix 内部; 7 - Zabbix agent (主动式); 10 - 外部检查; 11 - 数据库监控; 12 - IPMI 客户端; 13 - SSH 客户端; 14 - TELNET 客户端; 16 - JMX agent代理程序; 18 - 依赖项; 19 - HTTP 代理; 20 - SNMP 代理; 21 - 脚本; 22 - Browser。 属性行为: - 创建操作时必需 - 继承对象时只读 |
url | string | URLstring。 支持用户宏、{HOST.IP}、{HOST.CONN}、{HOST.DNS}、{HOST.HOST}、{HOST.NAME}、{ITEM.ID}、{ITEM.KEY}。 属性行为: - 如果 type 设置为"HTTP 代理",则为必需- 继承对象时只读 |
allow_traps | integer | 允许以与trapper项类似的方式填充值。 可能的值: 0 - (默认) 不允许接受传入数据; 1 - 允许接受传入数据。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持 |
authtype | integer | 认证方法。 如果 type 设置为"SSH 客户端":0 - (默认) 密码; 1 - 公钥。 如果 type 设置为"HTTP 代理":0 - (默认) 无; 1 - 基本; 2 - NTLM。 属性行为: - 如果 type 设置为"SSH 客户端"或"HTTP 代理",则为支持- 如果 type 设置为"HTTP 代理",继承对象时只读 |
description | string | LLD规则的描述。 |
error | string | 如果更新LLD规则值时存在问题,则错误文本。 属性行为: - 只读 |
follow_redirects | integer | 在轮询数据时跟随响应重定向。 可能的值: 0 - 不跟随重定向; 1 - (默认) 跟随重定向。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
headers | array | 执行HTTP请求时将发送的headers数组。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
http_proxy | string | HTTP(S)代理连接string。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
ipmi_sensor | string | IPMI传感器。 属性行为: - 如果 type 设置为"IPMI 客户端"且key_ 未设置为"ipmi.get",则为必需- 如果 type 设置为"IPMI 客户端",则为支持- 继承对象时只读 |
jmx_endpoint | string | JMX代理自定义连接string。 默认值:service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi 属性行为: - 如果 type 设置为"JMX agent代理程序",则为支持 |
lifetime | string | 不再发现的项目将被删除的时间周期。接受秒、带后缀的时间单位或用户宏。 默认值: 7d 。 |
lifetime_type | integer | 删除丢失LLD资源的场景。 可能的值: 0 - (默认) 达到生命周期阈值后删除; 1 - 不删除; 2 - 立即删除。 |
enabled_lifetime | string | 不再发现的项目将被禁用的时间周期。接受秒、带后缀的时间单位或用户宏。 默认值: 0 。 |
enabled_lifetime_type | integer | 禁用丢失LLD资源的场景。 可能的值: 0 - 达到生命周期阈值后禁用; 1 - 不禁用; 2 - (默认) 立即禁用。 |
master_itemid | ID | 主项的ID。 允许最多3个依赖项,依赖项的最大数量等于999。 发现规则不能成为另一个发现规则的主项。 属性行为: - 如果 type 设置为"依赖监控项",则为必需- 继承对象时只读 |
output_format | integer | 响应是否应转换为JSON。 可能的值: 0 - (默认) 存储原始数据; 1 - 转换为JSON。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
params | string | 根据LLD规则的类型,附加参数: - 对于SSH和Telnet LLD规则,执行的脚本; - 对于数据库监控LLD规则,SQL查询; - 对于计算LLD规则,公式; - 对于脚本和BrowserLLD规则,脚本。 属性行为: - 如果 type 设置为"数据库监控", "SSH 客户端", "TELNET 客户端", "脚本" 或 "Browser",则为必需- 如果 type 设置为"脚本" 或 "Browser",继承对象时只读 |
parameters | object/array | 如果type 设置为"脚本" 或 "Browser",则附加参数。具有 name 和value 属性的对象数组,其中name 必须是唯一的。属性行为: - 如果 type 设置为"脚本" 或 "Browser",则为支持- 继承对象时只读 |
password | string | 认证密码。 属性行为: - 如果 type 设置为"JMX agent代理程序"且设置了username ,则为必需- 如果 type 设置为"简单检查", "数据库监控", "SSH 客户端", "TELNET 客户端", 或 "HTTP 代理",则为支持- 如果 type 设置为"HTTP 代理",继承对象时只读 |
post_type | integer | 存储在posts 属性中的post数据正文的类型。可能的值: 0 - (默认) 原始数据; 2 - JSON数据; 3 - XML数据。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
posts | string | HTTP(S)请求正文数据。 属性行为: - 如果 type 设置为"HTTP 代理"且post_type 设置为"JSON data" 或 "XML data",则为必需- 如果 type 设置为"HTTP 代理"且post_type 设置为"Raw data",则为支持- 继承对象时只读 |
privatekey | string | 私钥文件的名称。 属性行为: - 如果 type 设置为"SSH 客户端"且authtype 设置为"public key",则为必需 |
publickey | string | 公钥文件的名称。 属性行为: - 如果 type 设置为"SSH 客户端"且authtype 设置为"public key",则为必需 |
query_fields | array | 执行HTTP请求时将发送的query fields数组。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
request_method | integer | 请求方法的类型。 可能的值: 0 - (默认) GET; 1 - POST; 2 - PUT; 3 - HEAD。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
retrieve_mode | integer | 应存储响应的哪一部分。 如果 request_method 设置为"GET", "POST", 或 "PUT":0 - (默认) 正文; 1 - 头部; 2 - 正文和头部都将被存储。 如果 request_method 设置为"HEAD":1 - 头部。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
snmp_oid | string | SNMP OID。 属性行为: - 如果 type 设置为"SNMP 代理",则为必需- 继承对象时只读 |
ssl_cert_file | string | 公共SSL密钥文件路径。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
ssl_key_file | string | 私有SSL密钥文件路径。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
ssl_key_password | string | SSL密钥文件的密码。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
state | integer | LLD规则的状态。 可能的值: 0 - (默认) 正常; 1 - 不支持。 属性行为: - 只读 |
status | integer | LLD规则的状态。 可能的值: 0 - (默认) 启用的LLD规则; 1 - 禁用的LLD规则。 |
status_codes | string | 所需的HTTP状态代码范围,用逗号分隔。 还支持作为逗号分隔列表的一部分的用户宏。 示例:200,200-{$M},{$M},200-400 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
templateid | ID | 父模板LLD规则的ID。 属性行为: - 只读 |
timeout | string | 监控项数据轮询请求超时。 接受秒或带后缀的时间单位(例如,30s, 1m)。 也接受用户宏。 可能的值范围:1-600s。 默认值:"" - 使用代理/全局设置。 属性行为: - 如果 type 设置为"Zabbix agent" (0), "简单检查" (3) 且 key_ 不以 "vmware. " 和 "icmpping " 开头,"Zabbix agent (主动式)" (7), "外部检查" (10), "数据库监控" (11), "SSH 客户端" (13), "TELNET 客户端" (14), "HTTP 代理" (19), "SNMP 代理" (20) 且 snmp_oid 以 "walk[ " 或 "get[ " 开头,"脚本" (21), "Browser" (22),则为支持- 继承对象时只读 |
trapper_hosts | string | 允许的主机。 属性行为: - 如果 type 设置为"Zabbix trapper",或者如果type 设置为"HTTP 代理"且allow_traps 设置为"允许接受传入数据",则为支持 |
username | string | 认证用户名。 属性行为: - 如果 type 设置为"SSH 客户端", "TELNET 客户端",或者如果type 设置为"JMX agent代理程序"且设置了password ,则为必需- 如果 type 设置为"简单检查", "数据库监控",或 "HTTP 代理",则为支持- 如果 type 设置为"HTTP 代理",继承对象时只读 |
uuid | string | 通用唯一标识符,用于将导入的LLD规则链接到已存在的规则。如果没有给出,则自动生成。 属性行为: - 如果LLD规则属于模板,则为支持 |
verify_host | integer | 是否验证连接的主机名是否与主机证书中的名称匹配。 可能的值: 0 - (默认) 不验证; 1 - 验证。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
verify_peer | integer | 是否验证主机的证书是否有效。 可能的值: 0 - (默认) 不验证; 1 - 验证。 属性行为: - 如果 type 设置为"HTTP 代理",则为支持- 继承对象时只读 |
头部对象具有以下属性:
查询字段对象定义了一个名称和值,用于指定URL参数。 它具有以下属性:
LLD规则过滤器对象定义了一组条件,这些条件可用于过滤发现的对象。它具有以下属性:
属性 | 类型 | 描述 |
---|---|---|
conditions | object/array | 用于过滤结果的过滤器条件集合。条件将按照它们在公式中的顺序进行排序。 属性行为: - 必需 |
evaltype | integer | 过滤条件评估方法。 可能的值: 0 - 与/或; 1 - 与; 2 - 或; 3 - 自定义表达式。 属性行为: - 必需 |
eval_formula | string | 用于评估过滤条件的生成表达式。该表达式包含ID,这些ID通过其formulaid 引用特定的过滤条件。eval_formula 的值对于具有自定义表达式的过滤器等于formula 的值。属性行为: - 只读 |
formula | string | 用户定义的表达式,用于评估具有自定义表达式的过滤器的条件。表达式必须包含ID,这些ID通过其formulaid 引用特定的过滤条件。在表达式中使用的ID必须与过滤条件中定义的完全匹配:不能有未使用或省略的条件。属性行为: - 如果 evaltype 设置为"自定义表达式",则为必需 |
LLD规则过滤条件对象定义了要对LLD宏的值执行的单独检查。它具有以下属性:
属性 | 类型 | 描述 |
---|---|---|
macro | string | 要执行检查的LLD宏。 属性行为: - 必需 |
value | string | 要比较的值。 属性行为: - 如果 operator 设置为"匹配正则表达式"或"不匹配正则表达式",则为必需 |
formulaid | string | 用于从自定义表达式引用条件的任意唯一ID。只能包含大写字母。当修改过滤条件时,用户必须定义此ID,但在之后请求它们时将重新生成。 属性行为: - 如果LLD规则过滤器对象的 evaltype 设置为"自定义表达式",则为必需 |
operator | integer | 条件运算符。 可能的值: 8 - (默认) 匹配正则表达式; 9 - 不匹配正则表达式; 12 - 存在; 13 - 不存在。 |
要更好地理解如何使用不同类型的表达式进行过滤,请参阅discoveryrule.get和discoveryrule.create方法页面上的示例。
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获取值。 属性行为: - 必需 |
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获取值" (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获取值" (30),则为必需 |
error_handler_params | string | 错误处理程序参数。 属性行为: - 如果 error_handler 设置为"设置自定义值" 或 "设置自定义错误消息",则为必需 |
以下是每种预处理类型支持的参数和错误处理程序:
预处理类型 | 名称 | 参数1 | 参数2 | 参数3 | 支持的错误处理程序 |
---|---|---|---|---|---|
5 | 正则表达式 | 模式1 | 输出2 | 0, 1, 2, 3 | |
11 | XML XPath | 路径3 | 0, 1, 2, 3 | ||
12 | JSONPath | 路径3 | 0, 1, 2, 3 | ||
14 | 匹配正则表达式 | 模式1 | 0, 1, 2, 3 | ||
15 | 不匹配正则表达式 | 模式1 | 0, 1, 2, 3 | ||
16 | 检查JSON中的错误 | 路径3 | 0, 1, 2, 3 | ||
17 | 检查XML中的错误 | 路径3 | 0, 1, 2, 3 | ||
20 | 丢弃未变化的带心跳 | 秒4, 5 | |||
21 | JavaScript | 脚本2 | |||
23 | Prometheus转JSON | 模式5, 6 | 0, 1, 2, 3 | ||
24 | CSV转JSON | 字符2 | 字符2 | 0,1 | 0, 1, 2, 3 |
25 | 替换 | 搜索string2 | 替换2 | ||
27 | XML转JSON | 0, 1, 2, 3 | |||
28 | SNMP walk值 | OID2 | 格式: 0 - 不变 1 - 从十六进制STRING转UTF-8 2 - 从十六进制STRING转MAC 3 - 从位字段转integer |
0, 1, 2, 3 | |
29 | SNMP walk转JSON7 | 字段名称2 | OID前缀2 | 格式: 0 - 不变 1 - 从十六进制STRING转UTF-8 2 - 从十六进制STRING转MAC 3 - 从位字段转integer |
0, 1, 2, 3 |
30 | SNMP获取值 | 格式: 1 - 从十六进制STRING转UTF-8 2 - 从十六进制STRING转MAC 3 - 从位字段转integer |
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规则覆盖对象定义了一组规则(过滤器、条件和操作),这些规则用于覆盖不同原型对象的属性。它具有以下属性:
属性 | 类型 | 描述 |
---|---|---|
name | string | 唯一的覆盖名称。 属性行为: - 必需 |
step | integer | 覆盖的唯一顺序号。 属性行为: - 必需 |
stop | integer | 如果匹配,则停止处理下一个覆盖。 可能的值: 0 - (默认) 不停止处理覆盖; 1 - 如果过滤器匹配,则停止处理覆盖。 |
filter | object | 覆盖过滤器。 |
operations | object/array | 覆盖操作。 |
LLD规则覆盖过滤器对象定义了一组条件,如果这些条件与发现的对象匹配,则应用覆盖。它具有以下属性:
属性 | 类型 | 描述 |
---|---|---|
conditions | object/array | 用于匹配发现对象的覆盖过滤器条件集合。条件将按照它们在公式中的顺序进行排序。 属性行为: - 必需 |
evaltype | integer | 覆盖过滤器条件评估方法。 可能的值: 0 - 与/或; 1 - 与; 2 - 或; 3 - 自定义表达式。 属性行为: - 必需 |
eval_formula | string | 用于评估覆盖过滤器条件的生成表达式。该表达式包含ID,这些ID通过其formulaid 引用特定的覆盖过滤器条件。eval_formula 的值对于具有自定义表达式的过滤器等于formula 的值。属性行为: - 只读 |
formula | string | 用户定义的表达式,用于评估具有自定义表达式的覆盖过滤器的条件。表达式必须包含ID,这些ID通过其formulaid 引用特定的覆盖过滤器条件。在表达式中使用的ID必须与覆盖过滤器条件中定义的完全匹配:不能有未使用或省略的条件。属性行为: - 如果 evaltype 设置为"自定义表达式",则为必需 |
LLD规则覆盖过滤条件对象定义了要对LLD宏的值执行的单独检查。它具有以下属性:
属性 | 类型 | 描述 |
---|---|---|
macro | string | 要执行检查的LLD宏。 属性行为: - 必需 |
value | string | 要比较的值。 属性行为: - 如果 operator 设置为"匹配正则表达式"或"不匹配正则表达式",则为必需 |
formulaid | string | 用于从自定义表达式引用条件的任意唯一ID。只能包含大写字母。当修改过滤条件时,用户必须定义此ID,但在之后请求它们时将重新生成。 属性行为: - 如果LLD规则覆盖过滤器对象的 evaltype 设置为"自定义表达式",则为必需 |
operator | integer | 条件运算符。 可能的值: 8 - (默认) 匹配正则表达式; 9 - 不匹配正则表达式; 12 - 存在; 13 - 不存在。 |
LLD规则覆盖操作是条件和动作的组合,用于对原型对象执行。它具有以下属性:
属性 | 类型 | 描述 |
---|---|---|
operationobject | integer | 执行动作的发现对象类型。 可能的值: 0 - 监控项原型; 1 - 触发器原型; 2 - 图表原型; 3 - 主机原型。 属性行为: - 必需 |
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/数组 | 主机原型对象的覆盖操作模板对象。 |
opinventory | object | 主机原型对象的覆盖操作库存对象。 |
设置为被发现对象的LLD规则覆盖操作状态。它具有以下属性:
设置为被发现对象的LLD规则覆盖操作发现状态。它具有以下属性:
LLD规则覆盖操作周期是设置到被发现监控项的更新间隔值。 它具有以下属性:
属性 | 类型 | 描述 |
---|---|---|
delay | string | 覆盖监控项原型的更新间隔。 接受秒或带后缀的时间单位(例如,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} 属性行为: - 必需 |
设置为被发现监控项的LLD规则覆盖操作历史值。它具有以下属性:
设置为被发现监控项的LLD规则覆盖操作趋势值。它具有以下属性:
设置为被发现触发器的LLD规则覆盖操作严重性值。它具有以下属性:
LLD规则覆盖操作标签对象包含设置到被发现对象的标签名称和值。它具有以下属性:
与被发现主机相关联的LLD规则覆盖操作模板对象。它具有以下属性:
设置为被发现主机的LLD规则覆盖操作库存模式值。它具有以下属性: