> 监控项对象

以下对象直接调用 item API 进行操作。

监控项

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

监控项对象具有以下属性。

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

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

对于更新操作,此字段是readonly
interfaceid
(required)
string 监控项的主机接口ID。

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

可能的值:
0 - Zabbix agent;
2 - Zabbix trapper;
3 - 简单检查;
5 - Zabbix内部;
7 - Zabbix agent (active);
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字符串,仅当HTTP代理监控项类型时需要。支持用户宏,{HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}。
value_type
(required)
integer 监控项的信息类型。

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

0 - (default) 不允许接受传入数据。
1 - 允许接受传入数据。
authtype integer 仅由SSH代理监控项或HTTP代理监控项使用。

SSH代理认证方法可能的值:
0 - (default) 密码;
1 - 公钥。

HTTP代理认证方法可能的值:
0 - (default)
1 - 基本
2 - NTLM
3 - Kerberos
description string 监控项的描述。
error string (readonly) 如果更新监控项值存在问题,则错误文本。
flags integer (readonly) 监控项的来源。

可能的值:
0 - 普通监控项;
4 - 发现的监控项。
follow_redirects integer HTTP代理监控项字段。在轮询数据时跟随响应重定向。

0 - 不跟随重定向。
1 - (default) 跟随重定向。
headers object HTTP代理监控项字段。HTTP(S)请求头部的对象,其中头部名称用作键,头部值作为值。

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

默认值:90d。
http_proxy string HTTP代理监控项字段。HTTP(S)代理连接字符串。
inventory_link integer 由监控项填充的主机库存字段的ID。

参考主机资产以获取支持的主机库存字段及其ID的列表。

默认值:0。
ipmi_sensor string IPMI传感器。仅由IPMI监控项使用。
jmx_endpoint string JMX代理自定义连接字符串。

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

默认情况下,仅显示最近24小时内的值。您可以通过更改最大历史显示期限参数的值,在管理 → 常规菜单部分来扩展此时间段。
lastns integer (readonly) 最后更新监控项值的纳秒。

默认情况下,仅显示最近24小时内的值。您可以通过更改最大历史显示期限参数的值,在管理 → 常规菜单部分来扩展此时间段。
lastvalue string (readonly) 监控项的最后一个值。

默认情况下,仅显示最近24小时内的值。您可以通过更改最大历史显示期限参数的值,在管理 → 常规菜单部分来扩展此时间段。
logtimefmt string 日志条目中时间的格式。仅由日志监控项使用。
master_itemid integer 主监控项ID。
递归最多3个依赖监控项,依赖监控项的最大数量等于29999。

由依赖监控项需要。
output_format integer HTTP代理监控项字段。是否应将响应转换为JSON。

0 - (default) 存储原始数据。
1 - 转换为JSON。
params string 根据监控项类型的附加参数:
- 对于SSH和Telnet监控项执行的脚本;
- 对于数据库监控监控项的SQL查询;
- 对于计算监控项的公式;
- 对于脚本监控项的脚本。
parameters array 脚本监控项的附加参数。具有'name'和'value'属性的对象数组,其中名称必须是唯一的。
password string 认证密码。由简单检查、SSH、Telnet、数据库监控、JMX和HTTP代理监控项使用。
当由JMX使用时,密码和用户名应该一起指定,或者两个属性都应该留空。
post_type integer HTTP代理监控项字段。存储在posts属性中的post数据正文的类型。

0 - (default) 原始数据。
2 - JSON数据。
3 - XML数据。
posts string HTTP代理监控项字段。HTTP(S)请求正文数据。与post_type一起使用。
prevvalue string (readonly) 监控项的上一个值。

默认情况下,仅显示最近24小时内的值。您可以通过更改最大历史显示期限参数的值,在管理 → 常规菜单部分来扩展此时间段。
privatekey string 私钥文件的名称。
publickey string 公钥文件的名称。
query_fields array HTTP代理监控项字段。查询参数。具有'key':'value'对的对象数组,其中值可以是空字符串。
request_method integer HTTP代理监控项字段。请求方法的类型。

0 - (default) GET
1 - POST
2 - PUT
3 - HEAD
retrieve_mode integer HTTP代理监控项字段。应该存储响应的哪一部分。

0 - (default) 正文。
1 - 头部。
2 - 正文和头部都将被存储。

对于request_method HEAD,只允许值1。
snmp_oid string SNMP OID。
ssl_cert_file string HTTP代理监控项字段。公共SSL密钥文件路径。
ssl_key_file string HTTP代理监控项字段。私有SSL密钥文件路径。
ssl_key_password string HTTP代理监控项字段。SSL密钥文件的密码。
state integer (readonly) 监控项的状态。

可能的值:
0 - (default) 正常;
1 - 不支持。
status integer 监控项的状态。

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

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

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

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

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

SSH和Telnet监控项需要。
当由JMX使用时,密码也应该与用户名一起指定,或者两个属性都应该留空。
uuid string 通用唯一标识符,用于将导入的监控项与已存在的关联。仅用于模板上的监控项。如果没有提供,则自动生成。
valuemapid string 关联的值映射的ID。
verify_host integer HTTP代理监控项字段。是否验证连接的主机名是否与主机证书中的名称匹配。

0 - (default) 不验证。
1 - 验证。
verify_peer integer HTTP代理监控项字段。是否验证主机的证书是否真实。

0 - (default) 不验证。
1 - 验证。

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

监控项标签

监控项标签对象具有以下属性。

属性 类型 描述
tag
(必需)
string 监控项标签名称。
value string 监控项标签值。

监控项预处理

监控项预处理对象具有以下属性。

属性 类型 说明
type
(必要)
integer(整数) 预处理选项类型。

可用值:
1 - Custom multiplier(自定义乘数);
2 - Right trim(移除右侧空白字符);
3 - Left trim(移除左侧空白字符);
4 - Trim(移除空白字符);
5 - Regular expression matching(正则表达式匹配);
6 - Boolean to decimal(布尔值转换十进制);
7 - Octal to decimal(八进制转换十进制);
8 - Hexadecimal to decimal(十六进制转十进制);
9 - Simple change(先前值到新值的基本变化);
10 - Change per second(每秒钟变化量);
11 - XML XPath(XML 解析);
12 - JSONPath(JSON解析);
13 - In range(生成序列);
14 - Matches regular expression(匹配正则表达式);
15 - Does not match regular expression(不匹配正则表达式);
16 - Check for error in JSON(检查 JSON 错误);
17 - Check for error in XML(检查 XML 错误);
18 - Check for error using regular expression(检查正则表达式使用错误);
19 - Discard unchanged(丢弃重复数据);
20 - Discard unchanged with heartbeat(设置心跳检查周期,丢弃重复数据);
21 - JavaScript(JS格式);
22 - Prometheus pattern(Prometheus 模式);
23 - Prometheus to JSON(Prometheus 转换 JSON);
24 - CSV to JSON(CSV 转换 JSON);
25 - Replace(替换);
26 - Check unsupported(检查不支持的值);
27 - XML to JSON(XML 转换 JSON)。
params
(必要)
预处理选项使用的其他参数。多个参数由LF(\n)字符分隔。
error_handler
(必要)
integer(整数) 预处理步骤失败时使用的操作类型:

可用值:
0 - Error message is set by Zabbix server(Zabbix 服务器自带错误消息);
1 - Discard value(丢弃值);
2 - Set custom value(设置自定义值);
3 - Set custom error message(设置自定义错误信息)。
error_handler_params
(必要)
(字符串) 错误处理器参数。与 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(XML 解析) path4(解析) 0, 1, 2, 3
12 JSONPath(JSON解析) 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(检查 JSON 错误) path4(解析) 0, 1, 2, 3
17 Check for error in XML(检查 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(JS格式) script2
22 Prometheus pattern(Prometheus 模式) pattern6, 7(模式) value, label, function output8, 9(输出) 0, 1, 2, 3
23 Prometheus to JSON(Prometheus 转换 JSON) pattern6, 7(模式) 0, 1, 2, 3
24 CSV to JSON(CSV 转换 JSON) character2(字符) character2(字符) 0,1 0, 1, 2, 3
25 Replace(替换) search string2(查找字符串) replacement2(替换)
26 Check unsupported(检查不支持的值) 1, 2, 3
27 XML to JSON(XML 转换 JSON) 0, 1, 2, 3

1 整数或浮点数
2 字符串
3 正则表达式
4 JSONPath 或 XML XPath 解析
5 正整数(支持时间后缀,例如:30s、1m、2h、1d)
6 用户宏
7 Prometheus 模式遵循以下语法:<metric name>{<label name>="<label value>", ...} == <value>。Prometheus 每个模式组件(metric, label name, label value and metric value)都可以是用户宏。
8 如果第二个参数选择 label,则 Prometheus 输出遵循以下语法:<label name>(可以是用户宏)
9 如果第二个参数选择 function,则相对应以下聚合函数:summinmaxavgcount