以下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,该监控项所属的实体。 对于update操作,此字段为只读。 |
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 监控项类型需要. 支持用户宏, {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.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 监控项 字段. object 包含HTTP(S)请求头, 其中头名称作为键, 头值作为值. 示例: { "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://{HOST.CONN}:{HOST.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 | 脚本 监控项 的附加参数. 包含 objects 和 '名称' 以及 'value' 属性的 array 对象, 其中名称必须唯一. |
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 | 私钥名称 file. |
publickey | string | 公钥名称 file. |
query_fields | array | HTTP agent 监控项 字段。 query 参数。 array 包含 'key':'value' 键值对的 objects,其中值可为空 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 监控项 字段. Public SSL Key file 路径. |
ssl_key_file | string | HTTP agent 监控项 字段。私有SSL密钥 file 路径。 |
ssl_key_password | string | HTTP agent 监控项 字段. SSL密钥file的密码. |
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 - 验证。 |
请注意,某些方法(update、delete)所需的必选/可选参数组合有所不同。
监控项标签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 遵循语法的Prometheus模式:<metric name>{<label name>="<label value>", ...} == <value>
。每个Prometheus模式组件(指标、标签名、标签值和指标值)可以是用户宏。
8 遵循语法的Prometheus输出:<label name>
(可以是用户宏),如果选择label
作为第二个参数。
9 聚合函数之一:sum
、min
、max
、avg
、count
,如果选择function
作为第二个参数。