以下objects与itemprototype
API直接相关。
监控项原型object具有以下属性。
属性 | 数据类型 | 描述 |
---|---|---|
itemid | string | (只读) 监控项原型的ID。 |
delay (required) |
string | 监控项原型的更新间隔。接受秒数或带后缀的时间单位(30s,1m,2h,1d)。 可选地可以指定一个或多个custom intervals作为灵活间隔或调度。 多个间隔用分号分隔。 可以使用用户宏和LLD宏。单个宏必须填充整个字段。不支持字段中的多个宏或宏与文本混合使用。 灵活间隔可以写成由正斜杠分隔的两个宏(例如 {$FLEX_INTERVAL}/{$FLEX_PERIOD} )。对于Zabbix trapper、依赖监控项和带有 mqtt.get 键的Zabbix agent(主动)是可选的。 |
hostid (required) |
string | 监控项原型所属的主机的ID。 对于更新操作,此字段为只读。 |
ruleid (required) |
string | 监控项所属的LLD规则的ID。 对于更新操作,此字段为只读。 |
interfaceid (required) |
string | 监控项原型的主机接口的ID。仅用于主机监控项原型。 对于Zabbix agent(主动)、Zabbix内部、Zabbix trapper、计算、依赖、数据库监控和脚本监控项原型不需要。对于HTTPagent监控项原型是可选的。 |
key_ (required) |
string | 监控项原型键。 |
name (required) |
string | 监控项原型的名称。 |
type (required) |
integer | 监控项原型的类型。 可能的值: 0 - Zabbix agent; 2 - Zabbix trapper; 3 - 简单检查; 5 - Zabbix内部; 7 - Zabbix agent(主动); 10 - 外部检查; 11 - 数据库监控; 12 - IPMIagent; 13 - SSHagent; 14 - TELNETagent; 15 - 计算; 16 - JMXagent; 17 - SNMP trap; 18 - 依赖监控项; 19 - HTTPagent; 20 - SNMPagent; 21 - 脚本。 |
url (required) |
string | 仅HTTPagent监控项原型需要的URLstring。支持LLD宏、用户宏、{主机.IP}、{主机.CONN}、{主机.DNS}、{主机.主机}、{主机.NAME}、{监控项.ID}、{监控项.KEY}。 |
value_type (required) |
integer | 监控项原型的信息类型。 可能的值: 0 - 数字float; 1 - 字符; 2 - 日志; 3 - 无符号数字; 4 - 文本。 |
allow_traps | integer | HTTPagent监控项原型字段。允许像trapper监控项类型一样填充值。 0 - (默认) 不允许接受传入数据。 1 - 允许接受传入数据。 |
authtype | integer | 仅用于SSHagent监控项原型或HTTPagent监控项原型。 SSHagent认证方法可能的值: 0 - (默认) 密码; 1 - 公钥。 HTTPagent认证方法可能的值: 0 - (默认) 无 1 - 基本 2 - NTLM 3 - Kerberos |
description | string | 监控项原型的描述。 |
follow_redirects | integer | HTTPagent监控项原型字段。在轮询数据时跟随响应重定向。 0 - 不跟随重定向。 1 - (默认) 跟随重定向。 |
headers | object | HTTPagent监控项原型字段。带有HTTP(S)请求头的object,其中头名称用作键,头值用作值。 示例: { "User-Agent": "Zabbix" } |
history | string | 历史数据应存储的时间单位。也接受用户宏和LLD宏。 默认:90d。 |
http_proxy | string | HTTPagent监控项原型字段。HTTP(S)proxy连接string。 |
ipmi_sensor | string | IPMI传感器。仅用于IPMI监控项原型。 |
jmx_endpoint | string | JMXagent自定义连接string。 默认值: service:jmx:rmi:///jndi/rmi://{主机.CONN}:{主机.PORT}/jmxrmi |
logtimefmt | string | 日志条目中的时间格式。仅用于日志监控项原型。 |
master_itemid | integer | 主监控项ID。 允许递归到3依赖监控项和监控项原型,且依赖监控项和监控项原型的最大数量为29999。 依赖监控项需要。 |
output_format | integer | HTTPagent监控项原型字段。是否应将响应转换为JSON。 0 - (默认) 存储原始数据。 1 - 转换为JSON。 |
params | string | 根据监控项原型类型的附加参数: - 用于SSH和Telnet监控项原型的执行脚本; - 用于数据库监控监控项原型的SQLquery; - 用于计算监控项原型的公式。 |
parameters | array | 脚本监控项原型的附加参数。具有'name'和'value'属性的objects的array,其中名称必须唯一。 |
password | string | 认证密码。用于简单检查、SSH、Telnet、数据库监控、JMX和HTTPagent监控项原型。 |
post_type | integer | HTTPagent监控项原型字段。存储在posts属性中的post数据体的类型。 0 - (默认) 原始数据。 2 - JSON数据。 3 - XML数据。 |
posts | string | HTTPagent监控项原型字段。HTTP(S)请求体数据。与post_type一起使用。 |
privatekey | string | 私钥文件的名称。 |
publickey | string | 公钥文件的名称。 |
query_fields | array | HTTPagent监控项原型字段。query参数。具有'key':'value'对的objects的array,其中值可以为空string。 |
request_method | integer | HTTPagent监控项原型字段。请求方法的类型。 0 - (默认) GET 1 - POST 2 - PUT 3 - HEAD |
retrieve_mode | integer | HTTPagent监控项原型字段。应存储响应的哪部分。 0 - (默认) 正文。 1 - 头。 2 - 正文和头都将存储。 对于request_method HEAD,仅允许1值。 |
snmp_oid | string | SNMP OID。 |
ssl_cert_file | string | HTTPagent监控项原型字段。公共SSL密钥文件路径。 |
ssl_key_file | string | HTTPagent监控项原型字段。私有SSL密钥文件路径。 |
ssl_key_password | string | HTTPagent监控项原型字段。SSL密钥文件的密码。 |
status | integer | 监控项原型的状态。 可能的值: 0 - (默认) 启用的监控项原型; 1 - 禁用的监控项原型; 3 - 不支持的监控项原型。 |
status_codes | string | HTTPagent监控项原型字段。所需HTTP状态代码的范围,用逗号分隔。也支持用户宏或LLD宏作为逗号分隔列表的一部分。 示例:200,200-{$M},{$M},200-400 |
templateid | string | (只读)父模板监控项原型的ID。 |
timeout | string | 监控项数据轮询请求超时。用于HTTPagent和脚本监控项原型。支持用户宏和LLD宏。 默认:3s 最大值:60s |
trapper_hosts | string | 允许的主机。用于trapper监控项原型或HTTP监控项原型。 |
trends | string | 趋势数据应存储的时间单位。也接受用户宏和LLD宏。 默认:365d。 |
units | string | 值单位。 |
username | string | 认证用户名。用于简单检查、SSH、Telnet、数据库监控、JMX和HTTPagent监控项原型。 SSH和Telnet监控项原型需要。 |
uuid | string | 通用唯一标识符,用于将导入的监控项原型链接到已存在的监控项原型。仅用于模板上的监控项原型。如果未给出,则自动生成。 |
valuemapid | string | 关联的值映射的ID。 |
verify_host | integer | HTTPagent监控项原型字段。是否验证连接的主机名称与主机证书中的名称匹配。 0 - (默认) 不验证。 1 - 验证。 |
verify_peer | integer | HTTPagent监控项原型字段。是否验证主机证书的真实性。 0 - (默认) 不验证。 1 - 验证。 |
discover | integer | 监控项原型发现状态。 可能的值: 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 用户宏,LLD宏
7 遵循语法<metric name>{<label name>="<label value>", ...} == <value>
的Prometheus模式。每个Prometheus模式组件(指标、标签名、标签值和指标值)可以是用户宏或LLD宏。
8 如果选择label
作为第二个参数,则遵循语法<label name>
的Prometheus输出(可以是用户宏或LLD宏)。
9 如果选择function
作为第二个参数,则为以下聚合函数之一:sum
、min
、max
、avg
、count
。