The following objects are directly related to the itemprototype
API.
The item prototype object has the following properties.
Property | Type | Description |
---|---|---|
itemid | string | (readonly) ID of the item prototype. |
delay (required) |
string | Update interval of the item prototype. Accepts seconds or time unit with suffix and with or without one or more custom intervals that consist of either flexible intervals and scheduling intervals as serialized strings. Also accepts user macros and LLD macros. Flexible intervals could be written as two macros separated by a forward slash. Intervals are separated by a semicolon. Optional for Zabbix trapper or Dependent item. |
hostid (required) |
string | ID of the host that the item prototype belongs to. For update operations this field is readonly. |
ruleid (required) |
string | ID of the LLD rule that the item belongs to. For update operations this field is readonly. |
interfaceid (required) |
string | ID of the item prototype's host interface. Used only for host item prototypes. Optional for Zabbix agent (active), Zabbix internal, Zabbix trapper, Dependent item, Zabbix aggregate, database monitor and calculated item prototypes. |
key_ (required) |
string | Item prototype key. |
name (required) |
string | Name of the item prototype. |
type (required) |
integer | Type of the item prototype. Possible values: 0 - Zabbix agent; 1 - SNMPv1 agent; 2 - Zabbix trapper; 3 - simple check; 4 - SNMPv2 agent; 5 - Zabbix internal; 6 - SNMPv3 agent; 7 - Zabbix agent (active); 8 - Zabbix aggregate; 10 - external check; 11 - database monitor; 12 - IPMI agent; 13 - SSH agent; 14 - TELNET agent; 15 - calculated; 16 - JMX agent; 17 - SNMP trap; 18 - Dependent item; 19 - HTTP agent; |
url (required) |
string | URL string required only for HTTP agent item prototypes. Supports LLD macros, user macros, {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}. |
value_type (required) |
integer | Type of information of the item prototype. Possible values: 0 - numeric float; 1 - character; 2 - log; 3 - numeric unsigned; 4 - text. |
allow_traps | integer | HTTP agent item prototype field. Allow to populate value as in trapper item type also. 0 - (default) Do not allow to accept incoming data. 1 - Allow to accept incoming data. |
authtype | integer | Used only by SSH agent item prototypes or HTTP agent item prototypes. SSH agent authentication method possible values: 0 - (default) password; 1 - public key. HTTP agent authentication method possible values: 0 - (default) none 1 - basic 2 - NTLM |
description | string | Description of the item prototype. |
follow_redirects | integer | HTTP agent item prototype field. Follow respose redirects while pooling data. 0 - Do not follow redirects. 1 - (default) Follow redirects. |
headers | object | HTTP agent item prototype field. Object with HTTP(S) request headers, where header name is used as key and header value as value. Example: { "User-Agent": "Zabbix" } |
history | string | A time unit of how long the history data should be stored. Also accepts user macro and LLD macro. Default: 90d. |
http_proxy | string | HTTP agent item prototype field. HTTP(S) proxy connection string. |
ipmi_sensor | string | IPMI sensor. Used only by IPMI item prototypes. |
jmx_endpoint | string | JMX agent custom connection string. Default value: service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi |
logtimefmt | string | Format of the time in log entries. Used only by log item prototypes. |
master_itemid | integer | Master item ID. Recursion up to 3 dependent item prototypes and maximum count of dependent item prototypes equal to 999 are allowed. Required by Dependent items. |
output_format | integer | HTTP agent item prototype field. Should response converted to JSON. 0 - (default) Store raw. 1 - Convert to JSON. |
params | string | Additional parameters depending on the type of the item prototype: - executed script for SSH and Telnet item prototypes; - SQL query for database monitor item prototypes; - formula for calculated item prototypes. |
password | string | Password for authentication. Used by simple check, SSH, Telnet, database monitor, JMX and HTTP agent item prototypes. |
port | string | Port monitored by the item prototype. Used only by SNMP items prototype. |
post_type | integer | HTTP agent item prototype field. Type of post data body stored in posts property. 0 - (default) Raw data. 2 - JSON data. 3 - XML data. |
posts | string | HTTP agent item prototype field. HTTP(S) request body data. Used with post_type. |
privatekey | string | Name of the private key file. |
publickey | string | Name of the public key file. |
query_fields | array | HTTP agent item prototype field. Query parameters. Array of objects with 'key':'value' pairs, where value can be empty string. |
request_method | integer | HTTP agent item prototype field. Type of request method. 0 - GET 1 - (default) POST 2 - PUT 3 - HEAD |
retrieve_mode | integer | HTTP agent item prototype field. What part of response should be stored. 0 - (default) Body. 1 - Headers. 2 - Both body and headers will be stored. For request_method HEAD only 1 is allowed value. |
snmp_community | string | SNMP community. Used only by SNMPv1 and SNMPv2 item prototypes. |
snmp_oid | string | SNMP OID. |
snmpv3_authpassphrase | string | SNMPv3 auth passphrase. Used only by SNMPv3 item prototypes. |
snmpv3_authprotocol | integer | SNMPv3 authentication protocol. Used only by SNMPv3 items. Possible values: 0 - (default) MD5; 1 - SHA. |
snmpv3_contextname | string | SNMPv3 context name. Used only by SNMPv3 item prototypes. |
snmpv3_privpassphrase | string | SNMPv3 priv passphrase. Used only by SNMPv3 item prototypes. |
snmpv3_privprotocol | integer | SNMPv3 privacy protocol. Used only by SNMPv3 items. Possible values: 0 - (default) DES; 1 - AES. |
snmpv3_securitylevel | integer | SNMPv3 security level. Used only by SNMPv3 item prototypes. Possible values: 0 - noAuthNoPriv; 1 - authNoPriv; 2 - authPriv. |
snmpv3_securityname | string | SNMPv3 security name. Used only by SNMPv3 item prototypes. |
ssl_cert_file | string | HTTP agent item prototype field. Public SSL Key file path. |
ssl_key_file | string | HTTP agent item prototype field. Private SSL Key file path. |
ssl_key_password | string | HTTP agent item prototype field. Password for SSL Key file. |
status | integer | Status of the item prototype. Possible values: 0 - (default) enabled item prototype; 1 - disabled item prototype; 3 - unsupported item prototype. |
status_codes | string | HTTP agent item prototype field. Ranges of required HTTP status codes separated by commas. Also supports user macros or LLD macros as part of comma separated list. Example: 200,200-{$M},{$M},200-400 |
templateid | string | (readonly) ID of the parent template item prototype. |
timeout | string | HTTP agent item prototype field. Item data polling request timeout. Support user macros and LLD macros. default: 3s maximum value: 60s |
trapper_hosts | string | Allowed hosts. Used by trapper item prototypes or HTTP item prototypes. |
trends | string | A time unit of how long the trends data should be stored. Also accepts user macro and LLD macro. Default: 365d. |
units | string | Value units. |
username | string | Username for authentication. Used by simple check, SSH, Telnet, database monitor, JMX and HTTP agent item prototypes. Required by SSH and Telnet item prototypes. |
valuemapid | string | ID of the associated value map. |
verify_host | integer | HTTP agent item prototype field. Validate host name in URL is in Common Name field or a Subject Alternate Name field of host certificate. 0 - (default) Do not validate. 1 - Validate. |
verify_peer | integer | HTTP agent item prototype field. Validate is host certificate authentic. 0 - (default) Do not validate. 1 - Validate. |
The item prototype tag object has the following properties.
Property | Type | Description |
---|---|---|
tag (required) |
string | Item prototype tag name. |
value | string | Item prototype tag value. |
The item prototype preprocessing object has the following properties.
Property | Type | Description |
---|---|---|
type (required) |
integer | The preprocessing option type. Possible values: 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; 12 - JSONPath; 13 - In range; 14 - Matches regular expression; 15 - Does not match regular expression; 16 - Check for error in JSON; 17 - Check for error in XML; 18 - Check for error using regular expression; 19 - Discard unchanged; 20 - Discard unchanged with heartbeat; 21 - JavaScript; 22 - Prometheus pattern; 23 - Prometheus to JSON; 24 - CSV to JSON; 25 - Replace; 26 - Check unsupported; 27 - XML to JSON. |
params (required) |
string | Additional parameters used by preprocessing option. Multiple parameters are separated by LF (\n) character. |
error_handler (required) |
integer | Action type used in case of preprocessing step failure. Possible values: 0 - Error message is set by Zabbix server; 1 - Discard value; 2 - Set custom value; 3 - Set custom error message. |
error_handler_params (required) |
string | Error handler parameters. Used with error_handler .Must be empty, if error_handler is 0 or 1.Can be empty if, error_handler is 2.Cannot be empty, if error_handler is 3. |
The following parameters and error handlers are supported for each preprocessing type.
Preprocessing type | Name | Parameter 1 | Parameter 2 | Parameter 3 | Supported error handlers |
---|---|---|---|---|---|
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 | output6, 8 | 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 or floating-point number
2 string
3 regular expression
4 JSONPath or XML XPath
5 positive integer (with support of time suffixes, e.g. 30s, 1m, 2h, 1d)
6 user macro, LLD macro
7 Prometheus pattern following the syntax: <metric name>{<label name>="<label value>", ...} == <value>
. Each Prometheus pattern component (metric, label name, label value and metric value) can be user macro or LLD macro.
8 Prometheus output following the syntax: <label name>
.