这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

> 监控项对象

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

监控项

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

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

属性 类型 说明
itemid string (只读) 监控项 ID。
delay
(必填)
string 更新监控项的时间间隔。接收秒或者带后缀的时间单位(30s、1m、2h、1d)。
可以通过 自定义间隔 进行组合,从而更灵活的设置间隔时间。
多个间隔使用分号分隔。
可以使用用户宏。单个宏必须填充完整个字段。不支持字段中包含多个宏或文本混合宏。
通过编写由正斜杠分隔的两段宏能更加灵活地设置间隔时间 (e.g. {$FLEX_INTERVAL}/{$FLEX_PERIOD}).

Zabbix采集器,相关项监控和Zabbix agent(主动)可选 mqtt.get key。
hostid
(必填)
string 监控项所属的主机或模板的 ID。

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

仅用于主机监控项。对于Zabbix agent(主动),内部检查、采集器、可计算的监控项、相关项监控、数据库监控和脚本监控项是不需要的。
key_
(必填)
string 监控项关键字。
name
(必填)
string 监控项名称。
type
(必要项)
integer 监控项类型。

可用值:
0 - Zabbix agent;
2 - zabbix 采集器;
3 - 简单检查;
5 - 内部检查;
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
(必填)
string URL 字符串,用于 HTTP agent 监控项类型。支持用户宏 {HOST.IP}、{HOST.CONN}、{HOST.DNS}、{HOST.HOST}、{HOST.NAME}、{ITEM.ID}、{ITEM.KEY}。
value_type
(必填)
integer 监控项数据类型

可用值:
0 - 浮点型;
1 - 字符;
2 - 日志;
3 - 无符号数字;
4 - 文本。
allow_traps integer HTTP agent 监控项字段。也允许在采集器监控项中填充值。

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

SSH agent 身份验证方法可用值:
0 - (默认) 密码;
1 - 公钥。

HTTP agent 身份验证方法可用值:
0 - (默认) 无认证;
1 - basic 认证;
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)请求头的对象,其中请求头名用作键,请求头值用作值。

示例:
{ "User-Agent": "Zabbix" }
history string 历史数据应保留多长时间的单位。同样接受用户宏。

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

请参阅 主机资产清单页 ,了解更多受支持的主机资产清单字段及其 ID 列表。

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

默认值:
service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.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 agent 的可执行脚本;
- 数据库监控项的 SQL 查询;
- 可计算监控项的公式;
- 脚本监控项的脚本。
parameters array 脚本监控项的其他参数。具有 “名称” 和 “值” 属性的对象数组,其中名称必须唯一。
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 监控项字段。查询参数。具有 “键”:“值” 对的对象数组,其中值可以是空字符串。
request_method integer HTTP agent 监控项字段。请求方法类型:

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

0 - (默认) Body;
1 - Headers;
2 - Body and headers。

对于 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 和脚本监控项。支持用户宏。

默认:3秒。
最大值:60秒。
trapper_hosts string 允许的主机。采集器监控项或 HTTP agent 监控项使用。
trends string 趋势数据应保留多长时间的单位。可接受用户宏。

默认:365天。
units string 值的单位。
username string 用于身份验证的用户名。用于一般检查、SSH、Telnet、数据库监控项、JMX 和 HTTP agent 监控项。

SSH 和 Telnet 监控项先决条件。
当 JMX 使用时,用户名应与密码一起指定,或者两个属性都留空。
uuid string 通用唯一标识符,用于将导入的监控项链接到现有监控项。仅模板包含项目使用。如果未指定会自动生成。

对于更新操作,此字段为 只读
valuemapid string 关联值映射 ID。
verify_host integer HTTP agent 监控项字段。验证 URL 中的主机名是否位于主机证书的公用名字段或使用者备用名字段中。

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

0 - (默认) 不验证;
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