以下objects与itemAPI直接相关。

监控项

Web 监控项无法直接通过Zabbix API创建、更新或删除。

监控项 object具有以下属性。

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

对于Zabbix trapper、依赖监控项和带mqtt.get键的Zabbix agent(主动式)为可选。
hostid
(required)
string 监控项所属的主机或模板ID。

更新操作中此字段为只读
interfaceid
(required)
string 监控项的主机接口ID。

仅用于主机 监控项。Zabbix agent(主动式)、Zabbix内部、Zabbix trapper、计算型、依赖型、数据库监控和脚本监控项不需要。HTTP agent 监控项为可选。
key_
(required)
string 监控项键值。
name
(required)
string 监控项名称。
type
(required)
integer 监控项类型。

可选值:
0 - Zabbix agent;
2 - Zabbix trapper;
3 - 简单检查;
5 - Zabbix内部;
7 - Zabbix agent(主动式);
9 - Web 监控项;
10 - 外部检查;
11 - 数据库监控;
12 - IPMI agent;
13 - SSH agent;
14 - Telnet agent;
15 - 计算型;
16 - JMX agent;
17 - SNMP trap;
18 - 依赖型监控项;
19 - HTTP agent;
20 - SNMP agent;
21 - 脚本
url
(required)
string URL string,仅HTTP agent 监控项类型需要。支持用户宏、{主机.IP}、{主机.CONN}、{主机.DNS}、{主机.主机}、{主机.NAME}、{监控项.ID}、{监控项.KEY}。
value_type
(required)
integer 监控项的信息类型。

可选值:
0 - 数值float;
1 - 字符;
2 - 日志;
3 - 无符号数值;
4 - 文本。
allow_traps integer HTTP agent 监控项字段。是否允许像trapper类型一样接收传入数据。

0 - (默认) 不允许接收数据。
1 - 允许接收数据。
authtype integer 仅用于SSH agent或HTTP agent 监控项。

SSH agent认证方式可选值:
0 - (默认) 密码;
1 - 公钥。

HTTP agent认证方式可选值:
0 - (默认)
1 - 基础认证
2 - NTLM
3 - Kerberos
description string 监控项描述。
error string (只读) 更新监控项值时出现问题的错误文本。
flags integer (只读) 监控项来源。

可选值:
0 - 普通监控项;
4 - 发现的监控项。
follow_redirects integer HTTP agent 监控项字段。轮询数据时是否跟随重定向。

0 - 不跟随重定向。
1 - (默认) 跟随重定向。
headers object HTTP agent 监控项字段。包含HTTP(S)请求头的object,键为头名称,值为头内容。

示例:
{ "User-Agent": "Zabbix" }
history string 历史数据存储时长的时间单位。支持用户宏。

默认:90d。
http_proxy string HTTP agent 监控项字段。HTTP(S) proxy连接string。
inventory_link integer 监控项填充的主机资产字段ID。

参考主机资产清单获取支持的主机资产字段列表及其ID。

默认:0。
ipmi_sensor string IPMI传感器。仅用于IPMI 监控项。
jmx_endpoint string JMX agent自定义连接string。

默认值:
service:jmx:rmi:///jndi/rmi://{主机.CONN}:{主机.PORT}/jmxrmi
lastclock timestamp (只读) 监控项值最后更新时间。

默认仅显示最近24小时内的值。可通过修改图形用户界面菜单中的最大历史显示周期参数延长此时间段。
lastns integer (只读) 监控项值最后更新的纳秒数。

默认仅显示最近24小时内的值。可通过修改图形用户界面菜单中的最大历史显示周期参数延长此时间段。
lastvalue string (只读) 监控项的最后值。

默认仅显示最近24小时内的值。可通过修改图形用户界面菜单中的最大历史显示周期参数延长此时间段。
logtimefmt string 日志条目中的时间格式。仅用于日志监控项。
master_itemid integer 主监控项 ID。
允许递归最多3层依赖监控项,最大依赖监控项数量为29999。

依赖监控项必需。
output_format integer HTTP agent 监控项字段。是否将响应转换为JSON。

0 - (默认) 存储原始数据。
1 - 转换为JSON。
params string 根据监控项类型的附加参数:
- SSH和Telnet 监控项的执行脚本;
- 数据库监控监控项的SQL query;
- 计算型监控项的公式;
- 脚本监控项的脚本。
parameters array 脚本监控项的附加参数。包含'name'和'value'属性的objects的array,其中name必须唯一。
password string 认证密码。用于简单检查、SSH、Telnet、数据库监控、JMX和HTTP agent 监控项。
JMX使用时,用户名和密码需同时指定或都留空。
post_type integer HTTP agent 监控项字段。posts属性中存储的post数据类型。

0 - (默认) 原始数据。
2 - JSON数据。
3 - XML数据。
posts string HTTP agent 监控项字段。HTTP(S)请求体数据。与post_type配合使用。
prevvalue string (只读) 监控项的上一个值。

默认仅显示最近24小时内的值。可通过修改图形用户界面菜单中的最大历史显示周期参数延长此时间段。
privatekey string 私钥文件名。
publickey string 公钥文件名。
query_fields array HTTP agent 监控项字段。query参数。包含'key':'value'对的objects的array,value可为空string。
request_method integer HTTP agent 监控项字段。请求方法类型。

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

0 - (默认) 正文。
1 - 头部。
2 - 同时存储正文和头部。

request_method为HEAD时仅允许1。
snmp_oid string SNMP OID。
ssl_cert_file string HTTP agent 监控项字段。SSL公钥文件路径。
ssl_key_file string HTTP agent 监控项字段。SSL私钥文件路径。
ssl_key_password string HTTP agent 监控项字段。SSL密钥文件密码。
state integer (只读) 监控项状态。

可选值:
0 - (默认) 正常;
1 - 不支持。
status integer 监控项状态。

可选值:
0 - (默认) 启用;
1 - 禁用。
status_codes string HTTP agent 监控项字段。用逗号分隔的所需HTTP状态码范围。支持用户宏作为逗号分隔列表的一部分。

示例:200,200-{$M},{$M},200-400
templateid string (只读)父模板监控项的ID。

提示:使用hostid属性指定监控项所属的模板。
timeout string 监控项数据轮询请求超时。用于HTTP agent和脚本监控项。支持用户宏。

默认:3s
最大值:60s
trapper_hosts string 允许的主机。用于trapper 监控项或HTTP agent 监控项。
trends string 趋势数据存储时长的时间单位。支持用户宏。

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

SSH和Telnet 监控项必需。
JMX使用时,密码需同时指定或都留空。
uuid string 通用唯一标识符,用于将导入的监控项链接到现有项。仅用于模板上的监控项。未提供时自动生成。
valuemapid string 关联值映射的ID。
verify_host integer HTTP agent 监控项字段。是否验证连接主机名与主机证书中的名称匹配。

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

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 用户宏
7 遵循语法<metric name>{<label name>="<label value>", ...} == <value>的Prometheus模式。每个Prometheus模式组件(指标、标签名、标签值和指标值)可以是用户宏。
8 如果选择label作为第二个参数,则遵循语法<label name>的Prometheus输出(可以是用户宏)。
9 如果选择function作为第二个参数,则为以下聚合函数之一:summinmaxavgcount