> 监控项对象

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

监控项

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

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

属性类型描述
itemidstring(只读) 监控项ID。
delay
(必需)
string更新监控项的时间间隔。 接受具有后缀(30s,1m,2h,1d)时间单位,并且具有或不具有由灵活间隔和调度间隔组成的一个或多个自定义间隔作为串行化字符串自定义时间间隔。也接受用户宏。 灵活的间隔可以写成两个由正斜杠分隔的宏(例如:{$FLEXINTERVAL}/{$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
(必需)
stringURL字符串,仅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_trapsintegerHTTP agent监控项字段。允许和trapper监控项一样的填充值。

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

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

HTTP agent 认证方法取值范围
0 - (默认值) none
1 - basic
2 - NTLM
3 - Kerberos
descriptionstring监控项说明。
errorstring(只读) 当更新监控项出错时的错误文本。
flagsinteger(只读) 项目的起源。

取值范围:
0 - 普通监控项;
4 - 自动发现监控项.
follow_redirectsintegerHTTP agent 监控项字段,合并数据时跟随重定向。

0 - 不进行重定向.
1 - (默认值) 进行重定向.
headersobjectHTTP agent 监控项字段。带有HTTP(S)请求报头的对象,报头名为键名,报头值为值。

事例:
{ “User-Agent”: “Zabbix” }
historystring一个历史数据被保存的时长的时间单位。接受用户宏。

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

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

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

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

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

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

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

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

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

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

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

对于request_method头,只允许值为1
snmp_oidstringSNMP OID.
ssl_cert_filestringHTTP agent监控项字段。公共SSL 秘钥的文件路径。
ssl_key_filestringHTTP agent监控项字段。私有SLL秘钥的文件路径。
ssl_key_passwordstringHTTP agent监控项字段。SSL 秘钥的文件密码。
stateinteger(只读) 监控项状态.

取值范围:
0 - (默认值) 标准;
1 - 不支持.
statusinteger监控项状态.

取值范围:
0 - (默认值) 启用;
1 - 禁用.
status_codesstringHTTP agent监控项字段。以逗号分隔的HTTP 状态码的范围。也支持作为逗号分隔的用户宏列表。

事例: 200,200-{$M},{$M},200-400
templateidstring(只读)父模板的ID。
timeoutstringHTTP agent监控项字段。监控项数据轮询超时时间。支持用户宏。

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

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

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

0 - (默认值) 不验证.
1 - 验证.
verify_peerintegerHTTP 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
(必需)
integer预处理步骤失败时使用的动作类型。可能的值:
0 -错误信息被Zabbix服务器设置;
1 -弃值;
2 -设置自定义值;
3 -设置自定义错误信息。
error_handler_params
(必需)
string错误处理程序参数。用于 error_handler
如果 error_handler 为0或1,则必须为空。
error_handler 为2时可以为空。
如果 error_handler 为3,则不能为空。

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

预处理类型名称参数1参数2参数3支持的错误处理程序
1Custom multipliernumber备注1, 60, 1, 2, 3
2Right trimlist of characters备注2
3Left trimlist of characters备注2
4Trimlist of characters备注2
5Regular expressionpattern备注3output备注20, 1, 2, 3
6Boolean to decimal0, 1, 2, 3
7Octal to decimal0, 1, 2, 3
8Hexadecimal to decimal0, 1, 2, 3
9Simple change0, 1, 2, 3
10Change per second0, 1, 2, 3
11XML XPathpath备注40, 1, 2, 3
12JSONPathpath备注40, 1, 2, 3
13In rangemin备注1,6max备注1,60, 1, 2, 3
14Matches regular expressionpattern备注30, 1, 2, 3
15Does not match regular expressionpattern备注30, 1, 2, 3
16Check for error in JSONpath备注40, 1, 2, 3
17Check for error in XMLpath备注40, 1, 2, 3
18Check for error using regular expressionpattern备注3output备注20, 1, 2, 3
19Discard unchanged
20Discard unchanged with heartbeatseconds备注5,6
21JavaScriptscript备注2
22Prometheus patternpattern6, 7output备注6,80, 1, 2, 3
23Prometheus to JSONpattern6, 70, 1, 2, 3
24CSV to JSONcharacter备注2character备注20,10, 1, 2, 3
25Replace searchstring备注2replacement备注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>