以下对象直接调用 item
API 进行操作。
无法直接通过 Zabbix API 创建、更新或删除 Web 监控项。
监控项对象具有以下属性。
属性 | 类型 | 说明 |
---|---|---|
itemid | string | (只读) 监控项 ID。 |
delay (必填) |
string | 更新监控项的时间间隔。接收秒或者带后缀的时间单位(30s、1m、2h、1d)。 可以通过 自定义间隔 进行组合,从而更灵活的设置间隔时间。 多个间隔使用分号分隔。 可以使用用户宏。单个宏必须填充完整个字段。不支持字段中包含多个宏或文本混合宏。 通过编写由正斜杠分隔的两段宏能更加灵活地设置间隔时间 (e.g. {$FLEX_INTERVAL}/{$FLEX_PERIOD} ).Zabbix采集器,相关项监控和Zabbix agent(主动)可选 mqtt.get key。 |
hostid (必填) |
string | 监控项所属的主机或模板的 ID。 更新操作中,此字段为只读。 |
interfaceid (必填) |
string | 监控项主机接口的 ID。 仅用于主机监控项。对于Zabbix agent(主动),内部检查、采集器、可计算的监控项、相关项监控、数据库监控和脚本监控项是不需要的。 |
key_ (必填) |
string | 监控项关键字。 |
name (必填) |
string | 监控项名称。 |
type (必要项) |
integer | 监控项类型。 可用值: 0 - Zabbix agent; 2 - zabbix 采集器; 3 - 简单检查; 5 - 内部检查; 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 (必填) |
string | URL 字符串,用于 HTTP agent 监控项类型。支持用户宏 {HOST.IP}、{HOST.CONN}、{HOST.DNS}、{HOST.HOST}、{HOST.NAME}、{ITEM.ID}、{ITEM.KEY}。 |
value_type (必填) |
integer | 监控项数据类型 可用值: 0 - 浮点型; 1 - 字符; 2 - 日志; 3 - 无符号数字; 4 - 文本。 |
allow_traps | integer | HTTP agent 监控项字段。也允许在采集器监控项中填充值。 0 - (默认) 不允许接受传入数据。 1 - 允许接受传入数据。 |
authtype | integer | 仅 SSH agent 监控项或 HTTP agent 监控项使用。 SSH agent 身份验证方法可用值: 0 - (默认) 密码; 1 - 公钥。 HTTP agent 身份验证方法可用值: 0 - (默认) 无认证; 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 | 历史数据应保留多长时间的单位。同样接受用户宏。 默认: 90天。 |
http_proxy | string | HTTP agent 监控项字段。HTTP(S)agent 连接字符串。 |
inventory_link | integer | 由监控项填充的主机资产字段的 ID。 请参阅 主机资产清单页 ,了解更多受支持的主机资产清单字段及其 ID 列表。 默认: 0。 |
ipmi_sensor | string | IPMI 传感器。仅用于 IPMI 监控项。 |
jmx_endpoint | string | JMX agent 自定义连接字符串。 默认值: 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 agent 的可执行脚本; - 数据库监控项的 SQL 查询; - 可计算监控项的公式; - 脚本监控项的脚本。 |
parameters | 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 | 私钥文件的名称。 |
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 and headers。 对于 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 和脚本监控项。支持用户宏。 默认:3秒。 最大值:60秒。 |
trapper_hosts | string | 允许的主机。采集器监控项或 HTTP agent 监控项使用。 |
trends | string | 趋势数据应保留多长时间的单位。可接受用户宏。 默认:365天。 |
units | string | 值的单位。 |
username | string | 用于身份验证的用户名。用于一般检查、SSH、Telnet、数据库监控项、JMX 和 HTTP agent 监控项。 SSH 和 Telnet 监控项先决条件。 当 JMX 使用时,用户名应与密码一起指定,或者两个属性都留空。 |
uuid | string | 通用唯一标识符,用于将导入的监控项链接到现有监控项。仅模板包含项目使用。如果未指定会自动生成。 对于更新操作,此字段为 只读。 |
valuemapid | string | 关联值映射 ID。 |
verify_host | integer | HTTP agent 监控项字段。验证 URL 中的主机名是否位于主机证书的公用名字段或使用者备用名字段中。 0 - (默认) 不验证; 1 - 验证。 |
verify_peer | integer | HTTP agent 监控项字段。验证主机证书的真实性。 0 - (默认) 不验证; 1 - 验证。 |
注意,对于某些方法(更新、删除),必需/可选参数组合是不同的。
监控项标签对象具有以下属性。
属性 | 类型 | 描述 |
---|---|---|
tag (必需) |
string | 监控项标签名称。 |
value | string | 监控项标签值。 |
监控项预处理对象具有以下属性。
属性 | 类型 | 说明 |
---|---|---|
type (必要) |
integer(整数) | 预处理选项类型。 可用值: 1 - Custom multiplier(自定义乘数); 2 - Right trim(移除右侧空白字符); 3 - Left trim(移除左侧空白字符); 4 - Trim(移除空白字符); 5 - Regular expression matching(正则表达式匹配); 6 - Boolean to decimal(布尔值转换十进制); 7 - Octal to decimal(八进制转换十进制); 8 - Hexadecimal to decimal(十六进制转十进制); 9 - Simple change(先前值到新值的基本变化); 10 - Change per second(每秒钟变化量); 11 - XML XPath(XML 解析); 12 - JSONPath(JSON解析); 13 - In range(生成序列); 14 - Matches regular expression(匹配正则表达式); 15 - Does not match regular expression(不匹配正则表达式); 16 - Check for error in JSON(检查 JSON 错误); 17 - Check for error in XML(检查 XML 错误); 18 - Check for error using regular expression(检查正则表达式使用错误); 19 - Discard unchanged(丢弃重复数据); 20 - Discard unchanged with heartbeat(设置心跳检查周期,丢弃重复数据); 21 - JavaScript(JS格式); 22 - Prometheus pattern(Prometheus 模式); 23 - Prometheus to JSON(Prometheus 转换 JSON); 24 - CSV to JSON(CSV 转换 JSON); 25 - Replace(替换); 26 - Check unsupported(检查不支持的值); 27 - XML to JSON(XML 转换 JSON)。 |
params (必要) |
预处理选项使用的其他参数。多个参数由LF(\n)字符分隔。 | |
error_handler (必要) |
integer(整数) | 预处理步骤失败时使用的操作类型: 可用值: 0 - Error message is set by Zabbix server(Zabbix 服务器自带错误消息); 1 - Discard value(丢弃值); 2 - Set custom value(设置自定义值); 3 - Set custom error message(设置自定义错误信息)。 |
error_handler_params (必要) |
(字符串) | 错误处理器参数。与 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(XML 解析) | path4(解析) | 0, 1, 2, 3 | ||
12 | JSONPath(JSON解析) | 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(检查 JSON 错误) | path4(解析) | 0, 1, 2, 3 | ||
17 | Check for error in XML(检查 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(JS格式) | script2 | |||
22 | Prometheus pattern(Prometheus 模式) | pattern6, 7(模式) | value , label , function |
output8, 9(输出) | 0, 1, 2, 3 |
23 | Prometheus to JSON(Prometheus 转换 JSON) | pattern6, 7(模式) | 0, 1, 2, 3 | ||
24 | CSV to JSON(CSV 转换 JSON) | character2(字符) | character2(字符) | 0,1 | 0, 1, 2, 3 |
25 | Replace(替换) | search string2(查找字符串) | replacement2(替换) | ||
26 | Check unsupported(检查不支持的值) | 1, 2, 3 | |||
27 | XML to JSON(XML 转换 JSON) | 0, 1, 2, 3 |
1 整数或浮点数
2 字符串
3 正则表达式
4 JSONPath 或 XML XPath 解析
5 正整数(支持时间后缀,例如:30s、1m、2h、1d)
6 用户宏
7 Prometheus 模式遵循以下语法:<metric name>{<label name>="<label value>", ...} == <value>
。Prometheus 每个模式组件(metric, label name, label value and metric value)都可以是用户宏。
8 如果第二个参数选择 label
,则 Prometheus 输出遵循以下语法:<label name>
(可以是用户宏)
9 如果第二个参数选择 function
,则相对应以下聚合函数:sum
、min
、max
、avg
、count
。