以下objects与item
API直接相关。
Web 监控项无法直接通过Zabbix API创建、更新或删除。
监控项 object具有以下属性。
属性 | 数据类型 | 描述 |
---|---|---|
itemid | string | (只读) 监控项的ID。 |
delay (required) |
string | 监控项的更新间隔。接受秒数或带后缀的时间单位(30s,1m,2h,1d)。 可选指定一个或多个custom intervals作为灵活间隔或调度。 多个间隔用分号分隔。 可使用用户宏。单个宏必须填满整个字段,不支持字段中混合多个宏或宏与文本混合。 灵活间隔可写成用斜杠分隔的两个宏(如 {$FLEX_INTERVAL}/{$FLEX_PERIOD} )。对于Zabbix trapper、依赖监控项和带 mqtt.get 键的Zabbix agent(主动式)为可选。 |
hostid (required) |
string | 监控项所属的主机或模板ID。 更新操作中此字段为只读。 |
interfaceid (required) |
string | 监控项的主机接口ID。 仅用于主机 监控项。Zabbix agent(主动式)、Zabbix内部、Zabbix trapper、计算型、依赖型、数据库监控和脚本监控项不需要。HTTP agent 监控项为可选。 |
key_ (required) |
string | 监控项键值。 |
name (required) |
string | 监控项名称。 |
type (required) |
integer | 监控项类型。 可选值: 0 - Zabbix agent; 2 - Zabbix trapper; 3 - 简单检查; 5 - Zabbix内部; 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 (required) |
string | URL string,仅HTTP agent 监控项类型需要。支持用户宏、{主机.IP}、{主机.CONN}、{主机.DNS}、{主机.主机}、{主机.NAME}、{监控项.ID}、{监控项.KEY}。 |
value_type (required) |
integer | 监控项的信息类型。 可选值: 0 - 数值float; 1 - 字符; 2 - 日志; 3 - 无符号数值; 4 - 文本。 |
allow_traps | integer | HTTP agent 监控项字段。是否允许像trapper类型一样接收传入数据。 0 - (默认) 不允许接收数据。 1 - 允许接收数据。 |
authtype | integer | 仅用于SSH agent或HTTP agent 监控项。 SSH agent认证方式可选值: 0 - (默认) 密码; 1 - 公钥。 HTTP agent认证方式可选值: 0 - (默认) 无 1 - 基础认证 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)请求头的object,键为头名称,值为头内容。 示例: { "User-Agent": "Zabbix" } |
history | string | 历史数据存储时长的时间单位。支持用户宏。 默认:90d。 |
http_proxy | string | HTTP agent 监控项字段。HTTP(S) proxy连接string。 |
inventory_link | integer | 监控项填充的主机资产字段ID。 参考主机资产清单获取支持的主机资产字段列表及其ID。 默认:0。 |
ipmi_sensor | string | IPMI传感器。仅用于IPMI 监控项。 |
jmx_endpoint | string | JMX agent自定义连接string。 默认值: service:jmx:rmi:///jndi/rmi://{主机.CONN}:{主机.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 监控项的执行脚本; - 数据库监控监控项的SQL query; - 计算型监控项的公式; - 脚本监控项的脚本。 |
parameters | array | 脚本监控项的附加参数。包含'name'和'value'属性的objects的array,其中name必须唯一。 |
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 监控项字段。query参数。包含'key':'value'对的objects的array,value可为空string。 |
request_method | integer | HTTP agent 监控项字段。请求方法类型。 0 - (默认) GET 1 - POST 2 - PUT 3 - HEAD |
retrieve_mode | integer | HTTP agent 监控项字段。应存储响应的哪部分。 0 - (默认) 正文。 1 - 头部。 2 - 同时存储正文和头部。 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和脚本监控项。支持用户宏。 默认:3s 最大值:60s |
trapper_hosts | string | 允许的主机。用于trapper 监控项或HTTP agent 监控项。 |
trends | string | 趋势数据存储时长的时间单位。支持用户宏。 默认:365d。 |
units | string | 值单位。 |
username | string | 认证用户名。用于简单检查、SSH、Telnet、数据库监控、JMX和HTTP agent 监控项。 SSH和Telnet 监控项必需。 JMX使用时,密码需同时指定或都留空。 |
uuid | string | 通用唯一标识符,用于将导入的监控项链接到现有项。仅用于模板上的监控项。未提供时自动生成。 |
valuemapid | string | 关联值映射的ID。 |
verify_host | integer | HTTP agent 监控项字段。是否验证连接主机名与主机证书中的名称匹配。 0 - (默认) 不验证。 1 - 验证。 |
verify_peer | integer | HTTP agent 监控项字段。是否验证主机证书真实性。 0 - (默认) 不验证。 1 - 验证。 |
注意:某些方法(更新、删除)所需/可选参数组合可能不同。
监控项标签object具有以下属性。
属性 | 数据类型 | 描述 |
---|---|---|
tag (required) |
string | 监控项标签名称。 |
value | string | 监控项标签值。 |
监控项预处理object具有以下属性。
属性 | 数据类型 | 描述 |
---|---|---|
type (required) |
integer | 预处理选项类型。 可选值: 1 - 自定义乘数; 2 - 右修剪; 3 - 左修剪; 4 - 修剪; 5 - 正则表达式匹配; 6 - boolean转十进制; 7 - 八进制转十进制; 8 - 十六进制转十进制; 9 - 简单变更; 10 - 每秒变更; 11 - XML XPath; 12 - JSONPath; 13 - 在范围内; 14 - 匹配正则表达式; 15 - 不匹配正则表达式; 16 - 检查JSON错误; 17 - 检查XML错误; 18 - 使用正则表达式检查错误; 19 - 丢弃未变更值; 20 - 带心跳的丢弃未变更值; 21 - JavaScript; 22 - Prometheus模式; 23 - Prometheus转JSON; 24 - CSV转JSON; 25 - 替换; 26 - 检查不支持; 27 - XML转JSON。 |
params (required) |
string | 预处理选项使用的附加参数。多个参数用LF(\n)字符分隔。 |
error_handler (required) |
integer | 预处理步骤失败时使用的操作类型。 可选值: 0 - 错误消息由Zabbix server设置; 1 - 丢弃值; 2 - 设置自定义值; 3 - 设置自定义错误消息。 |
error_handler_params (required) |
string | 错误处理参数。与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 | path4 | 0, 1, 2, 3 | ||
12 | JSONPath | 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 | path4 | 0, 1, 2, 3 | ||
17 | Check for error in 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 | script2 | |||
22 | Prometheus pattern | pattern6, 7 | value , label , function |
output8, 9 | 0, 1, 2, 3 |
23 | Prometheus to JSON | pattern6, 7 | 0, 1, 2, 3 | ||
24 | CSV to JSON | character2 | character2 | 0,1 | 0, 1, 2, 3 |
25 | Replace | search string2 | replacement2 | ||
26 | Check unsupported | 1, 2, 3 | |||
27 | XML to JSON | 0, 1, 2, 3 |
1 integer或浮点数
2 string
3 正则表达式
4 JSONPath或XML XPath
5 正integer(支持时间后缀,如30s、1m、2h、1d)
6 用户宏
7 遵循语法<metric name>{<label name>="<label value>", ...} == <value>
的Prometheus模式。每个Prometheus模式组件(指标、标签名、标签值和指标值)可以是用户宏。
8 如果选择label
作为第二个参数,则遵循语法<label name>
的Prometheus输出(可以是用户宏)。
9 如果选择function
作为第二个参数,则为以下聚合函数之一:sum
、min
、max
、avg
、count
。