> Item prototype object
The following objects are directly related to the itemprototype
API.
Item prototype
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 a time unit with suffix (30s,1m,2h,1d). Optionally one or more custom intervals can be specified either as flexible intervals or scheduling. Multiple intervals are separated by a semicolon. User macros and LLD macros may be used. A single macro has to fill the whole field. Multiple macros in a field or macros mixed with text are not supported. Flexible intervals may be written as two macros separated by a forward slash (e.g. {$FLEXINTERVAL}/{$FLEX_PERIOD} ).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; 2 - Zabbix trapper; 3 - simple check; 5 - Zabbix internal; 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; 20 - SNMP 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 3 - Kerberos |
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 items and item prototypes and maximum count of dependent items and item prototypes equal to 29999 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. |
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 - (default) GET 1 - 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_oid | string | SNMP OID. |
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. |
discover | integer | Item prototype discovery status. Possible values: 0 - (default) new items will be discovered; 1 - new items will not be discovered and existing items will be marked as lost. |
Item prototype preprocessing
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. |
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 |
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>
.