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

> 监控项对象

以下对象与 “item” API直接相关。

监控项

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

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

属性 类 描述
itemid string (只读) 监控项ID。
delay
(必需)
string可 更新监控项的时间间隔。 接受具有后缀(30s,1m,2h,1d)时间单位,并且具有或不具有由灵活间隔和调度间隔组成的一个或多个自定义间隔作为串行化字符串自定义时间间隔。也接受用户宏。 灵活的间隔可以写成两个由正斜杠分隔的宏(例如:{$FLEX_INTERVAL}/{$FLEX_PERIOD})。 间隔用分号分隔。
的Zabbix trapper 或依赖监控项(Dependent item)。
hostid
(必需的)
string
该监控项所属的主机 ID。
对于更新操作,这个字段是 只读.
interfaceid
(必需)
string
监控项主机接口的ID。 仅用于主机项。
适用于Zabbix agent (活动),Zabbix内部,Zabbix trapper,依赖监控项,Zabbix聚合,数据库监控和计算监控项
key_
(必需)
string 监控项 key。
name
(必需)
string 监控项名称。
type
(必需)
integer
项目的类型。
取值范围:
0 - Zabbix agent;
1 - SNMPv1 agent;
2 - Zabbix trapper;
3 - simple check;
4 - SNMPv2 agent;
5 - Zabbix internal;
6 - SNMPv3 agent;
7 - Zabbix agent (active);
8 - Zabbix aggregate;
9 - web item;
10 - external check;
11 - database monitor;
12 - IPMI agent;
13 - SSH agent;
14 - TELNET agent;
15 - calculated;
16 - JMX agent;
17 - SNMP trap;
18 - Dependent item;
19 - HTTP agent;
20 - SNMP agent;
url
(必需)
string URL字符串,仅HTTP agent监控项类型需要。支持用户宏,{HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST},{HOST.NAME}, {ITEM.ID}, {ITEM.KEY}。
value_type
(必需)
integer
监控项信息的类型。
取值范围:
0 - numeric float;
1 - character;
2 - log;
3 - numeric unsigned;
4 - text.
allow_traps integer HTTP agent监控项字段。允许和trapper监控项一样的填充值。

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

SSH agent 认证方法取值范围:
0 - (默认值) password;
1 - public key.

HTTP agent 认证方法取值范围
0 - (默认值) none
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 一个历史数据被保存的时长的时间单位。接受用户宏。

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

请参考host inventory page获取支持的主机清单字段及其id。

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

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

此属性将只返回ZBX_HISTORY_PERIOD中配置的周期值。
lastns integer (只读) 监控项最后被更新的纳秒。

此属性将只返回ZBX_HISTORY_PERIOD中配置的周期值。
lastvalue string (只读) 监控项最新的值。

此属性将只返回ZBX_HISTORY_PERIOD中配置的周期值。
logtimefmt string 日志条目的时间格式。仅用于日志监控项。
master_itemid integer 主监控项ID
允许多达3个依赖监控项的递归和监控项的最大计数等于999

要求依赖项。
mtime timestamp 上次更新所监视日志文件的时间。仅用于日志项。
output_format integer HTTP agent监控项字段。返回数据应被转换成JSON。

0 - (默认值) 存储raw.
1 - 转成JSON.
params string 取决于监控项类型的附加参数:
- SSH、Telnet项执行脚本
- SQL查询数据库监控项;
- 计算项目公式.
password string 认证的密码。用于simple check, SSH, Telnet, database monitor, JMX and HTTP agent items.
当JMX使用用户名时,用户名应该和密码一起指定,或者两个属性都应该留空。
port string 监控项监控的端口。仅用于SMNP监控项。
post_type integer HTTP agent字段。存储在post属性的post的数据类型。

0 - (默认值) Raw data.
2 - JSON data.
3 - XML data.
posts string HTTP agent字段。HTTP(S)请求报文。仅用于post_type。
prevvalue string (只读)监控项的前一个值。

此属性将只返回ZBX_HISTORY_PERIOD中配置的周期值。
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和HTTP Headers将存储.

对于request_method头,只允许值为1
snmp_oid string SNMP OID.
ssl_cert_file string HTTP agent监控项字段。公共SSL 秘钥的文件路径。
ssl_key_file string HTTP agent监控项字段。私有SLL秘钥的文件路径。
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。
timeout string HTTP agent监控项字段。监控项数据轮询超时时间。支持用户宏。

默认值: 3s
最大值: 60s
trapper_hosts string 接受的主机。仅用于trapper监控项或者HTTP agent监控项。
trends string 时间单位,数据数据被保存的时间长度。也接受用户宏。

默认值: 365d.
units string Value units. 值的单位。
username string 认证的用户名。用于simple check, SSH, Telnet, database monitor, JMX and HTTP agent 监控项。

要求提供。\\当被JMX使用时,密码也要和用户名一起被提供或者一起留空。
valuemapid string 关联映射值的ID。
verify_host integer HTTP agent字段。验证URL中的主机名处于通用名称字段或主机证书的主题备用名称字段

0 - (默认值) 不验证.
1 - 验证.
verify_peer integer HTTP agent字段。验证主机的合法性。

0 - (默认值) 不验证.
1 - 验证.

监控项预处理

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

属性 类 说明
type
(必需)
integer
预处理选项类型。
取值范围:
1 -自定义乘数;
2 -右纵倾;
3 -左纵倾;
4 -修剪;
5 -正则表达式匹配;
6 -布尔值到小数;
7 -八进制到十进制;
8—十六进制到十进制;
9 -简单的改变;
10 -每秒变化;
11 - XML XPath;
12 - JSONPath;
13 - In范围;
14 -匹配正则表达式;
15 -不匹配正则表达式;
16 -检查JSON中的错误
17 -检查XML中的错误;
18 -使用正则表达式检查错误;
19 -丢弃不变的;
20 -不改变心跳丢弃;
21 - JavaScript;
22 -普罗米修斯模式;
23 -普罗米修斯到JSON;
24 - CSV到JSON;
25 -替换。
params
(必需)
string 预处理选项使用的其他参数。多个参数以LF (\n)字符分隔
error_handler
(必需)
integer0 预处理步骤失败时使用的动作类型。可能的值:
-错误信息被Zabbix服务器设置;
1 -弃值;
2 -设置自定义值;
3 -设置自定义错误信息。
error_handler_params
(必需)
string如 错误处理程序参数。用于 error_handler
error_handler 为0或1,则必须为空。
error_handler 为2时可以为空。
如果 error_handler 为3,则不能为空。

每种预处理类型都支持以下参数和错误处理程序

预处理类型 名称 参数1 参数2 参数3 支持的错 处理程序
1 Custom multiplier number备注1, 6 0 1, 2, 3
2 Right trim list of characters备注2
3 Left trim list of characters备注2
4 Trim list of characters备注2
5 Regular expression pattern备注3 o tput备注2 0, , 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 path备注4 0 1, 2, 3
12 JSONPath path备注4 0 1, 2, 3
13 In range min备注1,6 ma 备注1,6 0, 1, 2, 3
14 Matches regular expression pattern备注3 0 1, 2, 3
15 Does not match regular expression pattern备注3 0 1, 2, 3
16 Check for error in JSON path备注4 0 1, 2, 3
17 Check for error in XML path备注4 0 1, 2, 3
18 Check for error using regular expression pattern备注3 o tput备注2 0, , 2, 3
19 Discard unchanged
20 Discard unchanged with heartbeat seconds备注5,6
21 JavaScript script备注2
22 Prometheus pattern pattern6, 7 output备注6,8 0, 1, 2, 3
23 Prometheus to JSON pattern6, 7 0, 1, 2, 3
24 CSV to JSON character备注2 c aracter备注2 0,1 0, , 2, 3
25 Replace search string备注2 r placement备注2

备注
1 整数或浮点数
2 字符串
3 正则表达式
4 JSONPath或XML XPath
5 正整数(支持时间后缀,如30s, 1m, 2h, 1d)
6 用户宏、LLD宏
7 <metric name>{<label name>= " <label value> ",…}== <value>。每个Prometheus模式组件(度量值、标签名称、标签值和度量值)可以是user宏或LLD宏。
8 Prometheus的输出格式如下:<label name>