以下对象直接调用 item
API 进行操作。
Web监控项不能通过Zabbix API直接创建、更新或删除。
监控项对象具有以下属性。
属性 | 类型 | 描述 |
---|---|---|
itemid | string | (readonly) 监控项的ID。 |
delay (required) |
string | 监控项的更新间隔。接受秒数或带有后缀的时间单位(30s,1m,2h,1d)。 可选地,可以指定一个或多个自定义间隔,可以是灵活的间隔或调度。 多个间隔用分号分隔。 可以使用用户宏。一个宏必须填满整个字段。不支持在字段中使用多个宏或将宏与文本混合。 灵活的间隔可以写成两个宏,用正斜杠分隔(例如 {$FLEX_INTERVAL}/{$FLEX_PERIOD} )。对于Zabbix trapper、依赖项和具有 mqtt.get 键的Zabbix agent (active)是可选的。 |
hostid (required) |
string | 监控项所属的主机或模板的ID。 对于更新操作,此字段是readonly。 |
interfaceid (required) |
string | 监控项的主机接口ID。 仅用于主机监控项。对于Zabbix agent (active)、Zabbix内部、Zabbix trapper、计算、依赖、数据库监控和脚本监控项不需要。对于HTTP代理监控项是可选的。 |
key_ (required) |
string | 监控项键。 |
name (required) |
string | 监控项的名称。 |
type (required) |
integer | 监控项的类型。 可能的值: 0 - Zabbix agent; 2 - Zabbix trapper; 3 - 简单检查; 5 - Zabbix内部; 7 - Zabbix agent (active); 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字符串,仅当HTTP代理监控项类型时需要。支持用户宏,{HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}。 |
value_type (required) |
integer | 监控项的信息类型。 可能的值: 0 - 数值浮点; 1 - 字符; 2 - 日志; 3 - 数值无符号; 4 - 文本。 |
allow_traps | integer | HTTP代理监控项字段。允许像trapper监控项类型一样填充值。 0 - (default) 不允许接受传入数据。 1 - 允许接受传入数据。 |
authtype | integer | 仅由SSH代理监控项或HTTP代理监控项使用。 SSH代理认证方法可能的值: 0 - (default) 密码; 1 - 公钥。 HTTP代理认证方法可能的值: 0 - (default) 无 1 - 基本 2 - NTLM 3 - Kerberos |
description | string | 监控项的描述。 |
error | string | (readonly) 如果更新监控项值存在问题,则错误文本。 |
flags | integer | (readonly) 监控项的来源。 可能的值: 0 - 普通监控项; 4 - 发现的监控项。 |
follow_redirects | integer | HTTP代理监控项字段。在轮询数据时跟随响应重定向。 0 - 不跟随重定向。 1 - (default) 跟随重定向。 |
headers | object | HTTP代理监控项字段。HTTP(S)请求头部的对象,其中头部名称用作键,头部值作为值。 示例: { "User-Agent": "Zabbix" } |
history | string | 历史数据应该存储的时间单位。也接受用户宏。 默认值:90d。 |
http_proxy | string | HTTP代理监控项字段。HTTP(S)代理连接字符串。 |
inventory_link | integer | 由监控项填充的主机库存字段的ID。 参考主机资产以获取支持的主机库存字段及其ID的列表。 默认值:0。 |
ipmi_sensor | string | IPMI传感器。仅由IPMI监控项使用。 |
jmx_endpoint | string | JMX代理自定义连接字符串。 默认值: service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi |
lastclock | timestamp | (readonly) 最后更新监控项值的时间。 默认情况下,仅显示最近24小时内的值。您可以通过更改最大历史显示期限参数的值,在管理 → 常规菜单部分来扩展此时间段。 |
lastns | integer | (readonly) 最后更新监控项值的纳秒。 默认情况下,仅显示最近24小时内的值。您可以通过更改最大历史显示期限参数的值,在管理 → 常规菜单部分来扩展此时间段。 |
lastvalue | string | (readonly) 监控项的最后一个值。 默认情况下,仅显示最近24小时内的值。您可以通过更改最大历史显示期限参数的值,在管理 → 常规菜单部分来扩展此时间段。 |
logtimefmt | string | 日志条目中时间的格式。仅由日志监控项使用。 |
master_itemid | integer | 主监控项ID。 递归最多3个依赖监控项,依赖监控项的最大数量等于29999。 由依赖监控项需要。 |
output_format | integer | HTTP代理监控项字段。是否应将响应转换为JSON。 0 - (default) 存储原始数据。 1 - 转换为JSON。 |
params | string | 根据监控项类型的附加参数: - 对于SSH和Telnet监控项执行的脚本; - 对于数据库监控监控项的SQL查询; - 对于计算监控项的公式; - 对于脚本监控项的脚本。 |
parameters | array | 脚本监控项的附加参数。具有'name'和'value'属性的对象数组,其中名称必须是唯一的。 |
password | string | 认证密码。由简单检查、SSH、Telnet、数据库监控、JMX和HTTP代理监控项使用。 当由JMX使用时,密码和用户名应该一起指定,或者两个属性都应该留空。 |
post_type | integer | HTTP代理监控项字段。存储在posts属性中的post数据正文的类型。 0 - (default) 原始数据。 2 - JSON数据。 3 - XML数据。 |
posts | string | HTTP代理监控项字段。HTTP(S)请求正文数据。与post_type一起使用。 |
prevvalue | string | (readonly) 监控项的上一个值。 默认情况下,仅显示最近24小时内的值。您可以通过更改最大历史显示期限参数的值,在管理 → 常规菜单部分来扩展此时间段。 |
privatekey | string | 私钥文件的名称。 |
publickey | string | 公钥文件的名称。 |
query_fields | array | HTTP代理监控项字段。查询参数。具有'key':'value'对的对象数组,其中值可以是空字符串。 |
request_method | integer | HTTP代理监控项字段。请求方法的类型。 0 - (default) GET 1 - POST 2 - PUT 3 - HEAD |
retrieve_mode | integer | HTTP代理监控项字段。应该存储响应的哪一部分。 0 - (default) 正文。 1 - 头部。 2 - 正文和头部都将被存储。 对于request_method HEAD,只允许值1。 |
snmp_oid | string | SNMP OID。 |
ssl_cert_file | string | HTTP代理监控项字段。公共SSL密钥文件路径。 |
ssl_key_file | string | HTTP代理监控项字段。私有SSL密钥文件路径。 |
ssl_key_password | string | HTTP代理监控项字段。SSL密钥文件的密码。 |
state | integer | (readonly) 监控项的状态。 可能的值: 0 - (default) 正常; 1 - 不支持。 |
status | integer | 监控项的状态。 可能的值: 0 - (default) 启用的监控项; 1 - 禁用的监控项。 |
status_codes | string | HTTP代理监控项字段。所需的HTTP状态码范围,用逗号分隔。还支持用户宏作为逗号分隔列表的一部分。 示例:200,200-{$M},{$M},200-400 |
templateid | string | (readonly) 父模板监控项的ID。 提示:使用 hostid 属性来指定监控项所属的模板。 |
timeout | string | 监控项数据轮询请求的超时时间。用于HTTP代理和脚本监控项。支持用户宏。 默认值:3s 最大值:60s |
trapper_hosts | string | 允许的主机。用于trapper监控项或HTTP代理监控项。 |
trends | string | 趋势数据应该存储的时间单位。也接受用户宏。 默认值:365d。 |
units | string | 值的单位。 |
username | string | 认证的用户名。用于简单检查、SSH、Telnet、数据库监控、JMX和HTTP代理监控项。 SSH和Telnet监控项需要。 当由JMX使用时,密码也应该与用户名一起指定,或者两个属性都应该留空。 |
uuid | string | 通用唯一标识符,用于将导入的监控项与已存在的关联。仅用于模板上的监控项。如果没有提供,则自动生成。 |
valuemapid | string | 关联的值映射的ID。 |
verify_host | integer | HTTP代理监控项字段。是否验证连接的主机名是否与主机证书中的名称匹配。 0 - (default) 不验证。 1 - 验证。 |
verify_peer | integer | HTTP代理监控项字段。是否验证主机的证书是否真实。 0 - (default) 不验证。 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
。