> 监控项 原型 object

以下objects与itemprototypeAPI直接相关。

监控项原型

监控项原型object具有以下属性。

属性 数据类型 描述
itemid string (只读) 监控项原型的ID。
delay
(required)
string 监控项原型的更新间隔。接受秒数或带后缀的时间单位(30s,1m,2h,1d)。
可选地可以指定一个或多个custom intervals作为灵活间隔或调度。
多个间隔用分号分隔。
可以使用用户宏和LLD宏。单个宏必须填充整个字段。不支持字段中的多个宏或宏与文本混合使用。
灵活间隔可以写成由正斜杠分隔的两个宏(例如{$FLEX_INTERVAL}/{$FLEX_PERIOD})。

对于Zabbix trapper、依赖监控项和带有mqtt.get键的Zabbix agent(主动)是可选的。
hostid
(required)
string 监控项原型所属的主机的ID。

对于更新操作,此字段为只读
ruleid
(required)
string 监控项所属的LLD规则的ID。

对于更新操作,此字段为只读
interfaceid
(required)
string 监控项原型的主机接口的ID。仅用于主机监控项原型。

对于Zabbix agent(主动)、Zabbix内部、Zabbix trapper、计算、依赖、数据库监控和脚本监控项原型不需要。对于HTTPagent监控项原型是可选的。
key_
(required)
string 监控项原型键。
name
(required)
string 监控项原型的名称。
type
(required)
integer 监控项原型的类型。

可能的值:
0 - Zabbix agent;
2 - Zabbix trapper;
3 - 简单检查;
5 - Zabbix内部;
7 - Zabbix agent(主动);
10 - 外部检查;
11 - 数据库监控;
12 - IPMIagent;
13 - SSHagent;
14 - TELNETagent;
15 - 计算;
16 - JMXagent;
17 - SNMP trap;
18 - 依赖监控项;
19 - HTTPagent;
20 - SNMPagent;
21 - 脚本。
url
(required)
string 仅HTTPagent监控项原型需要的URLstring。支持LLD宏、用户宏、{主机.IP}、{主机.CONN}、{主机.DNS}、{主机.主机}、{主机.NAME}、{监控项.ID}、{监控项.KEY}。
value_type
(required)
integer 监控项原型的信息类型。

可能的值:
0 - 数字float;
1 - 字符;
2 - 日志;
3 - 无符号数字;
4 - 文本。
allow_traps integer HTTPagent监控项原型字段。允许像trapper监控项类型一样填充值。

0 - (默认) 不允许接受传入数据。
1 - 允许接受传入数据。
authtype integer 仅用于SSHagent监控项原型或HTTPagent监控项原型。

SSHagent认证方法可能的值:
0 - (默认) 密码;
1 - 公钥。

HTTPagent认证方法可能的值:
0 - (默认)
1 - 基本
2 - NTLM
3 - Kerberos
description string 监控项原型的描述。
follow_redirects integer HTTPagent监控项原型字段。在轮询数据时跟随响应重定向。

0 - 不跟随重定向。
1 - (默认) 跟随重定向。
headers object HTTPagent监控项原型字段。带有HTTP(S)请求头的object,其中头名称用作键,头值用作值。

示例:
{ "User-Agent": "Zabbix" }
history string 历史数据应存储的时间单位。也接受用户宏和LLD宏。

默认:90d。
http_proxy string HTTPagent监控项原型字段。HTTP(S)proxy连接string。
ipmi_sensor string IPMI传感器。仅用于IPMI监控项原型。
jmx_endpoint string JMXagent自定义连接string。

默认值:
service:jmx:rmi:///jndi/rmi://{主机.CONN}:{主机.PORT}/jmxrmi
logtimefmt string 日志条目中的时间格式。仅用于日志监控项原型。
master_itemid integer 主监控项ID。
允许递归到3依赖监控项和监控项原型,且依赖监控项和监控项原型的最大数量为29999。

依赖监控项需要。
output_format integer HTTPagent监控项原型字段。是否应将响应转换为JSON。

0 - (默认) 存储原始数据。
1 - 转换为JSON。
params string 根据监控项原型类型的附加参数:
- 用于SSH和Telnet监控项原型的执行脚本;
- 用于数据库监控监控项原型的SQLquery;
- 用于计算监控项原型的公式。
parameters array 脚本监控项原型的附加参数。具有'name'和'value'属性的objects的array,其中名称必须唯一。
password string 认证密码。用于简单检查、SSH、Telnet、数据库监控、JMX和HTTPagent监控项原型。
post_type integer HTTPagent监控项原型字段。存储在posts属性中的post数据体的类型。

0 - (默认) 原始数据。
2 - JSON数据。
3 - XML数据。
posts string HTTPagent监控项原型字段。HTTP(S)请求体数据。与post_type一起使用。
privatekey string 私钥文件的名称。
publickey string 公钥文件的名称。
query_fields array HTTPagent监控项原型字段。query参数。具有'key':'value'对的objects的array,其中值可以为空string。
request_method integer HTTPagent监控项原型字段。请求方法的类型。

0 - (默认) GET
1 - POST
2 - PUT
3 - HEAD
retrieve_mode integer HTTPagent监控项原型字段。应存储响应的哪部分。

0 - (默认) 正文。
1 - 头。
2 - 正文和头都将存储。

对于request_method HEAD,仅允许1值。
snmp_oid string SNMP OID。
ssl_cert_file string HTTPagent监控项原型字段。公共SSL密钥文件路径。
ssl_key_file string HTTPagent监控项原型字段。私有SSL密钥文件路径。
ssl_key_password string HTTPagent监控项原型字段。SSL密钥文件的密码。
status integer 监控项原型的状态。

可能的值:
0 - (默认) 启用的监控项原型;
1 - 禁用的监控项原型;
3 - 不支持的监控项原型。
status_codes string HTTPagent监控项原型字段。所需HTTP状态代码的范围,用逗号分隔。也支持用户宏或LLD宏作为逗号分隔列表的一部分。

示例:200,200-{$M},{$M},200-400
templateid string (只读)父模板监控项原型的ID。
timeout string 监控项数据轮询请求超时。用于HTTPagent和脚本监控项原型。支持用户宏和LLD宏。

默认:3s
最大值:60s
trapper_hosts string 允许的主机。用于trapper监控项原型或HTTP监控项原型。
trends string 趋势数据应存储的时间单位。也接受用户宏和LLD宏。

默认:365d。
units string 值单位。
username string 认证用户名。用于简单检查、SSH、Telnet、数据库监控、JMX和HTTPagent监控项原型。

SSH和Telnet监控项原型需要。
uuid string 通用唯一标识符,用于将导入的监控项原型链接到已存在的监控项原型。仅用于模板上的监控项原型。如果未给出,则自动生成。
valuemapid string 关联的值映射的ID。
verify_host integer HTTPagent监控项原型字段。是否验证连接的主机名称与主机证书中的名称匹配。

0 - (默认) 不验证。
1 - 验证。
verify_peer integer HTTPagent监控项原型字段。是否验证主机证书的真实性。

0 - (默认) 不验证。
1 - 验证。
discover integer 监控项原型发现状态。

可能的值:
0 - (默认) 将发现新的监控项;
1 - 不会发现新的监控项,现有的监控项将被标记为丢失。

请注意,对于某些方法(更新、删除),所需/可选参数的组合是不同的。

监控项 原型标签

监控项原型标签object具有以下属性。

属性 数据类型 描述
tag
(required)
string 监控项原型标签名称。
value string 监控项原型标签值。

监控项 原型预处理

监控项原型预处理object具有以下属性。

属性 数据类型 描述
type
(required)
integer 预处理选项类型。

可选值:
1 - 自定义乘数;
2 - 右修剪;
3 - 左修剪;
4 - 修剪;
5 - 正则表达式匹配;
6 - boolean转十进制;
7 - 八进制转十进制;
8 - 十六进制转十进制;
9 - 简单变更;
10 - 每秒变更;
11 - XML XPath;
12 - JSONPath;
13 - 在范围内;
14 - 匹配正则表达式;
15 - 不匹配正则表达式;
16 - 检查JSON中的错误;
17 - 检查XML中的错误;
18 - 使用正则表达式检查错误;
19 - 丢弃未变更;
20 - 带心跳的丢弃未变更;
21 - JavaScript;
22 - Prometheus模式;
23 - Prometheus转JSON;
24 - CSV转JSON;
25 - 替换;
26 - 检查不支持;
27 - XML转JSON。
params
(required)
string 预处理选项使用的附加参数。多个参数用LF(\n)字符分隔。
error_handler
(required)
integer 预处理步骤失败时使用的操作类型。

可选值:
0 - 错误消息由Zabbix server设置;
1 - 丢弃值;
2 - 设置自定义值;
3 - 设置自定义错误消息。
error_handler_params
(required)
string 错误处理参数。与error_handler一起使用。

如果error_handler是0或1,则必须为空。
如果error_handler是2,可以为空。
如果error_handler是3,则不能为空。

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

预处理类型 名称 参数1 参数2 参数3 支持的错误处理程序
1 Custom multiplier number1, 6 0, 1, 2, 3
2 Right trim list of characters2
3 Left trim list of characters2
4 Trim list of characters2
5 Regular expression pattern3 output2 0, 1, 2, 3
6 Boolean to decimal 0, 1, 2, 3
7 Octal to decimal 0, 1, 2, 3
8 Hexadecimal to decimal 0, 1, 2, 3
9 Simple change 0, 1, 2, 3
10 Change per second 0, 1, 2, 3
11 XML XPath path4 0, 1, 2, 3
12 JSONPath path4 0, 1, 2, 3
13 In range min1, 6 max1, 6 0, 1, 2, 3
14 Matches regular expression pattern3 0, 1, 2, 3
15 Does not match regular expression pattern3 0, 1, 2, 3
16 Check for error in JSON path4 0, 1, 2, 3
17 Check for error in XML path4 0, 1, 2, 3
18 Check for error using regular expression pattern3 output2 0, 1, 2, 3
19 Discard unchanged
20 Discard unchanged with heartbeat seconds5, 6
21 JavaScript script2
22 Prometheus pattern pattern6, 7 value, label, function output8, 9 0, 1, 2, 3
23 Prometheus to JSON pattern6, 7 0, 1, 2, 3
24 CSV to JSON character2 character2 0,1 0, 1, 2, 3
25 Replace search string2 replacement2
26 Check unsupported 1, 2, 3
27 XML to JSON 0, 1, 2, 3

1 integer或浮点数
2 string
3 正则表达式
4 JSONPath或XML XPath
5 正integer(支持时间后缀,如30s、1m、2h、1d)
6 用户宏,LLD宏
7 遵循语法<metric name>{<label name>="<label value>", ...} == <value>的Prometheus模式。每个Prometheus模式组件(指标、标签名、标签值和指标值)可以是用户宏或LLD宏。
8 如果选择label作为第二个参数,则遵循语法<label name>的Prometheus输出(可以是用户宏或LLD宏)。
9 如果选择function作为第二个参数,则为以下聚合函数之一:summinmaxavgcount