> 监控项对象

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

监控项

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

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

属性类型说明
itemidstring(只读) 监控项 ID。
delay
(必填)
string更新监控项的时间间隔。接收秒或者带后缀的时间单位(30s、1m、2h、1d)。
可以通过 自定义间隔 进行组合,从而更灵活的设置间隔时间。
多个间隔使用分号分隔。
可以使用用户宏。单个宏必须填充完整个字段。不支持字段中包含多个宏或文本混合宏。
通过编写由正斜杠分隔的两段宏能更加灵活地设置间隔时间 (e.g. {$FLEXINTERVAL}/{$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
(必填)
stringURL 字符串,用于 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_trapsintegerHTTP agent 监控项字段。也允许在采集器监控项中填充值。

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

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

HTTP agent 身份验证方法可用值:
0 - (默认) 无认证;
1 - basic 认证;
2 - NTLM 认证
3 - Kerberos 认证;
descriptionstring监控项说明。
errorstring(只读) 如果更新监控项时报错,则显示错误信息。
flagsinteger(只读) 监控项来源

可用值:
0 - 平台监控项;
4 - 发现监控项。
follow_redirectsintegerHTTP agent 监控项字段。在合并数据时遵循响应重定向。

0 - 不遵循重定向;
1 - (默认) 遵循重定向。
headersobjectHTTP agent 监控项字段。具有 HTTP(S)请求头的对象,其中请求头名用作键,请求头值用作值。

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

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

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

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

默认值:
service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi
lastclocktimestamp(只读) 上一次更新监控项的时间。

默认情况下,仅显示过去24小时内的值。您可以通过更改 管理 → 通用 菜单中的 最大历史显示周期 参数值来延长此时间段。
lastnsinteger(只读) 上一次更新监控项时的纳秒数。

默认情况下,仅显示过去24小时内的值。您可以通过更改 管理 → 通用 菜单中的 最大历史显示周期 参数值来延长此时间段。
lastvaluestring(只读) 监控项最后获取的值。

默认情况下,仅显示过去24小时内的值。您可以通过更改 管理 → 通用 菜单中的 最大历史显示周期 参数值来延长此时间段。
logtimefmtstring日志条目中的时间格式。仅日志监控项使用。
master_itemidinteger主监控项 ID。
最多允许递归 3 个相关项监控,且相关监控项的最大计数为 29999。

相关监控项的先决条件。
output_formatintegerHTTP agent 监控项字段。将响应转换为 JSON 格式。

0 - (默认) 原格式;
1 - 转换为 JSON 格式。
paramsstring其他参数取决于监控项的类型:
- SSH 和 Telnet agent 的可执行脚本;
- 数据库监控项的 SQL 查询;
- 可计算监控项的公式;
- 脚本监控项的脚本。
parametersarray脚本监控项的其他参数。具有 “名称” 和 “值” 属性的对象数组,其中名称必须唯一。
passwordstring验证密码。用于一般检查、SSH、Telnet、数据库监控、JMX 和 HTTP agent 监控项。
当 JMX 使用时,用户名应与密码一起指定,或者两个属性都留空。
post_typeintegerHTTP agent 监控项字段。Posts 属性中存储的 post 数据体的类型。

0 - (默认) 原始数据;
2 - JSON 数据;
3 - XML 数据。
postsstringHTTP agent 监控项字段。HTTP(S)请求正文数据。与 post_type 一同使用。
prevvaluestring(只读) 监控项的上一个值。

默认情况下,仅显示过去24小时内的值。您可以通过更改 管理 → 通用 菜单中的 最大历史显示周期 参数值来延长此时间段。
privatekeystring私钥文件的名称。
publickeystring公钥文件的名称。
query_fieldsarrayHTTP agent 监控项字段。查询参数。具有 “键”:“值” 对的对象数组,其中值可以是空字符串。
request_methodintegerHTTP agent 监控项字段。请求方法类型:

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

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

对于 request_method HEAD 仅允许方法 1。
snmp_oidstringSNMP OID。
ssl_cert_filestringHTTP agent 监控项字段。SSL 公钥文件路径。
ssl_key_filestringHTTP agent 监控项字段。SSL 私钥文件路径。
ssl_key_passwordstringHTTP agent 监控项字段。SSL 密钥文件的密码。
stateinteger(只读) 监控项状态。

可用值:
0 - (默认) 标准;
1 - 不受支持。
statusinteger监控项状态。

可用值:
0 - (默认) 启用监控项;
1 - 禁用监控项。
status_codesstringHTTP agent 监控项字段。目标HTTP状态代码的范围,用逗号分隔。还支持将用户宏作为逗号分隔列表的一部分。

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

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

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

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

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

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

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

0 - (默认) 不验证;
1 - 验证。

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

监控项标签

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

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

监控项预处理

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

属性类型说明
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支持的错误处理器
1Custom multiplier(自定义倍数)number1, 6(数字型)0, 1, 2, 3
2Right trim(移除右侧空白字符)list of characters2(字符列表)
3Left trim(移除左侧空白字符)list of characters2(字符列表)
4Trim(移除空白字符)list of characters2(字符列表)
5Regular expression(正则表达式)pattern3(模式)output2(输出)0, 1, 2, 3
6Boolean to decimal(布尔值转换十进制)0, 1, 2, 3
7Octal to decimal(八进制转换十进制)0, 1, 2, 3
8Hexadecimal to decimal(十六进制转十进制)0, 1, 2, 3
9Simple change(先前值到新值的基本变化)0, 1, 2, 3
10Change per second(每秒钟变化量)0, 1, 2, 3
11XML XPath(XML 解析)path4(解析)0, 1, 2, 3
12JSONPath(JSON解析)path4(解析)0, 1, 2, 3
13In range(生成序列)min1, 6(最小值)max1, 6(最大值)0, 1, 2, 3
14Matches regular expression(匹配正则表达式)pattern3(模式)0, 1, 2, 3
15Does not match regular expression(不匹配正则表达式)pattern3(模式)0, 1, 2, 3
16Check for error in JSON(检查 JSON 错误)path4(解析)0, 1, 2, 3
17Check for error in XML(检查 XML 错误)path4(解析)0, 1, 2, 3
18Check for error using regular expression(检查正则表达式使用错误)pattern3(模式)output2(输出)0, 1, 2, 3
19Discard unchanged(丢弃重复数据)
20Discard unchanged with heartbeat(设置心跳检查周期,丢弃重复数据)seconds5, 6(秒)
21JavaScript(JS格式)script2
22Prometheus pattern(Prometheus 模式)pattern6, 7(模式)value, label, functionoutput8, 9(输出)0, 1, 2, 3
23Prometheus to JSON(Prometheus 转换 JSON)pattern6, 7(模式)0, 1, 2, 3
24CSV to JSON(CSV 转换 JSON)character2(字符)character2(字符)0,10, 1, 2, 3
25Replace(替换)search string2(查找字符串)replacement2(替换)
26Check unsupported(检查不支持的值)1, 2, 3
27XML 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