> 监控项对象
以下对象与 “item” API直接相关。
监控项
Web 监控项无法通过 Zabbix API 直接创建,更新或删除。
监控项对象具有以下属性。
属性 | 类型 | 描述 | |
---|---|---|---|
itemid | string | (只读) 监控项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 (必需) | 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 (必需) | 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 | 支持的错误处理程序 |
---|---|---|---|---|---|
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 | output备注2 | 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 | path备注4 | 0, 1, 2, 3 | ||
12 | JSONPath | path备注4 | 0, 1, 2, 3 | ||
13 | In range | min备注1,6 | max备注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 | output备注2 | 0, 1, 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 | character备注2 | 0,1 | 0, 1, 2, 3 |
25 | Replace search | string备注2 | replacement备注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>
。