下面的对象直接关联到discoveryrule(发现规则) API。
低级发现规则对象有如下属性。
| 属性 类 | 说明 | |
|---|---|---|
| itemid | string | (只读) ID of the LLD rule. LLD规则的ID |
| delay (必须) |
string | LLD规则的更新时间间隔。接受带后缀的秒或时间单位,包含或不包含一个或多个自定义时间间隔,它由灵活的时间间隔和调度时间间隔作为序列化字符串组成。也接受用户宏。灵活的间隔可以写成用正斜杠分隔的两个宏。间隔用分号分隔 |
| hostid (必须) |
string | LLD规则所属的Host的ID。 |
| interfaceid (必须) |
string |
LLD规则的主机接口ID。仅用于主机LLD规则。 Zabbix agent (active), Zabbix internal, Zabbix trapper and 数据库监控LLD规则的可选参数。 |
| key_ (必须) |
string | LLD规则键。 |
| name (必须) |
string | LLD规则名称。 |
| type (必须) |
integer |
LLD规则类型。 可能的值: 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); 10 - external check; 11 - database monitor; 12 - IPMI agent; 13 - SSH agent; 14 - TELNET agent; 16 - JMX agent; 19 - HTTP agent; 19 -SNMP agent; |
| url (必须) |
string | URL字符串,HTTP agent LLD rule要求有。支持用户宏, {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}。 |
| allow_traps | integer | HTTP agent LLD规则字段。在陷阱监控项类型中也允许填充值 0 - (默认)不允许接受输入数据 1 - 允许输入数据 |
| authtype | integer | 只能被SSH agent或HTTP agent使用 \\SSH agent认证方法可能的值: 0 - (默认) 密码; 1 - 公钥. HTTP agent认证方法可能的值: 0 - (默认) none 1 - basic 2 - NTLM |
| description | string | LLD规则说明。 |
| error | string | (只读) 如果更新LLD规则出问题时的错误文本。 |
| follow_redirects | integer | HTTP agentLLD规则字段。当合并数据时进行重定向。 0 - 不跟随重定向。 1 - (默认)跟随重定向。 |
| headers | object | HTTP agent LLD规则字段。该对象带有HTTP(S)已键为名称,包头的值作为值的请求头。 事例: { "User-Agent": "Zabbix" } |
| http_proxy | string | HTTP agent LLD规则字段。HTTP(S) proxy连接字符串。 |
| ipmi_sensor | string | IPMI sensor.只用于IPMILLD规则 |
| jmx_endpoint | string | JMX agent自定义连接字符串。 默认值: service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi |
| lifetime | string | 不在发现的时间周期内监控项将被删除。接受秒、带后缀和用户宏的时间单位。 Default: 30d. |
| master_itemid | integer | 主条目ID。允许递归至多3个相关项,且相关项的最大计数为999。发现规则不能是其他发现规则的主项。相关项必需。 |
| output_format | integer | HTTP agent LLD规则字段。应返回传递给JSON. 0 - (默认) Store raw. 1 - Convert to JSON. |
| params | string | 依赖于LLD规则类型的其他参数: - 为SSH何Telnet LLD规则执行脚本; - 数据库监控LLD规则的SQL查询; - 计算类的LLD规则公式。 |
| password | string | 认证密码。用于simple check, SSH, Telnet, database monitor, JMX and HTTP agent LLD 规则。 |
| port | string | LLD规则使用的端口。仅SNMP LLD规则使用 |
| post_type | integer | HTTP agent LLD 规则字段。post数据body部分存储在posts属性中的类型。 0 - (默认) Raw data. 2 - JSON data. 3 - XML data. |
| posts | string | HTTP agent LLD规则字段。HTTP(S)请求body数据,在post_type中使用。 |
| privatekey | string | 私钥文件名。 |
| publickey | string | 公共键文件的名称。 |
| query_fields | array | HTTP agent LLD规则字段。查询参数。带有'key':'value' 键值对的数组对象,值可以为空。 |
| request_method | integer | HTTP agent LLD规则字段。请求方法类型。 0 - GET 1 - (默认) POST 2 - PUT 3 - HEAD |
| retrieve_mode | integer | HTTP agent LLD规则字段。指明哪部分响应应被存储起来。 0 - (默认) Body. 1 - Headers. 2 - HTTP正文和HTTP Headers都将被存储. 对于http 请求方法头,只允许值为1。 |
| snmp_oid | string | SNMP OID. |
| ssl_cert_file | string | HTTP agent LLD规则字段。公共SSL键文件路径。 |
| ssl_key_file | string | HTTP agent LLD规则字段。私有SSL键文件路径。 |
| ssl_key_password | string | HTTP agent LLD规则字段。SSL键文件密码。 |
| state | integer | (只读) LLD规则的状态。 取值: 0 - (默认) 正常; 1 - 不支持 |
| status | integer | Status of the LLD rule. 取值: 0 - (默认) 启用LLD规则; 1 - 关闭LLD规则. |
| status_codes | string | HTTP agent LLD规则字段。以逗号分隔的HTTP要求的状态码范围。 事例: 200,200-{$M},{$M},200-400 |
| templateid | string | (只读)父模板LLD规则的ID。 |
| timeout | string | HTTP agent LLD规则字段。Item数据轮训请求超时时间。支持用户宏。 默认: 3s 最大值: 60s |
| trapper_hosts | string | 允许的主机。用于trapper LLD规则或HTTP agent LLD规则。 |
| username | string | 用户名进行身份验证。使用简单检查,SSH, Telnet,数据库监控,JMX和HTTP代理LLD规则。 SSH 和 Telnet LLD 规则要求。 |
| verify_host | integer | HTTP agent LLD规则字段。URL中的主机名处于通用名称字段或主机证书的主题备用名称字段的合法性。 0 - (默认) 不验证. 1 - 验证. |
| verify_peer | integer | HTTP agent LLD规则字段。主机认证证书合法性。 0 - (默认) 不验证. 1 - 验证. |
LLD规则筛选器对象定义一套能被用于过滤器发现对象的条件。它包含如下属性:
| 属性 类 | 说明 | |
|---|---|---|
| conditions (必须) |
array | 用于过滤结果的过滤条件集。 |
| evaltype (必须) |
integer |
过滤条件评价方法。 取值: 0 - and/or; 1 - and; 2 - or; 3 - 自定义表达式. |
| eval_formula | string | (只读) 生成的表达式,将用于计算筛选器条件。表达式包含通过其“formulaid”引用特定筛选条件的id。“eval_formula”的值等于带有自定义表达式的过滤器的“formula”的值。 |
| formula | string | 用户定义的表达式,用于使用自定义表达式计算过滤器的条件。表达式必须包含通过其“formulaid”引用特定筛选条件的id。表达式中使用的id必须与过滤器条件中定义的id完全匹配:任何条件都不能被使用或省略。 自定义表达式筛选器所需。 |
LLD规则过滤器条件对象定义对LLD宏的值执行的单独检查:
| 属性 类 | 说明 | |
|---|---|---|
| macro (必须) |
string | 对LLD宏执行检查。 |
| value (必须) |
string | 比较值 |
| formulaid | string | 用于从自定义表达式引用条件的任意唯一ID。只能包含大写字母。在修改过滤条件时,ID必须由用户定义,但在请求之后,将重新生成ID。 |
| operator | integer | 条件运算符. 取值: 8 - (默认) 匹配正则表达式; 9 - 不匹配正则表达式. |
The LLD macro path has the following properties:
| Property | Type | Description |
|---|---|---|
| lld_macro (required) |
string | LLD macro. |
| path (required) |
string | Selector for value which will be assigned to corresponding macro. |
The LLD rule preprocessing object has the following properties.
| Property | Type | Description |
|---|---|---|
| type (required) |
integer | The preprocessing option type. Possible values: 5 - Regular expression matching; 11 - XML XPath; 12 - JSONPath; 15 - Does not match regular expression; 16 - Check for error in JSON; 17 - Check for error in XML; 20 - Discard unchanged with heartbeat; 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 |
|---|---|---|---|---|---|
| 5 | Regular expression | pattern1 | output2 | 0, 1, 2, 3 | |
| 11 | XML XPath | path3 | 0, 1, 2, 3 | ||
| 12 | JSONPath | path3 | 0, 1, 2, 3 | ||
| 15 | Does not match regular expression | pattern1 | 0, 1, 2, 3 | ||
| 16 | Check for error in JSON | path3 | 0, 1, 2, 3 | ||
| 17 | Check for error in XML | path3 | 0, 1, 2, 3 | ||
| 20 | Discard unchanged with heartbeat | seconds4, 5, 6 | |||
| 23 | Prometheus to JSON | pattern5, 7 | 0, 1, 2, 3 | ||
| 24 | CSV to JSON | character2 | character2 | 0,1 | 0, 1, 2, 3 |
| 25 | Replace | search string2 | replacement2 | ||
1 regular expression
2 string
3 JSONPath or XML XPath
4 positive integer (with support of time suffixes, e.g. 30s, 1m, 2h, 1d)
5 user macro
6 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.
8 Prometheus output following the syntax: <label name>.
The LLD rule overrides object defines a set of rules (filters, conditions and operations) that are used to override properties of different prototype objects. It has the following properties:
| Property | Type | Description |
|---|---|---|
| name (required) |
string | Unique override name. |
| step (required) |
integer | Unique order number of the override. |
| stop | integer | Stop processing next overrides if matches. Possible values: 0 - (default) don't stop processing overrides; 1 - stop processing overrides if filter matches. |
| filter | object | Override filter. |
| operations | array | Override operations. |
The LLD rule override filter object defines a set of conditions that if they match the discovered object the override is applied. It has the following properties:
| Property | Type | Description |
|---|---|---|
| evaltype (required) |
integer | Override filter condition evaluation method. Possible values: 0 - and/or; 1 - and; 2 - or; 3 - custom expression. |
| conditions (required) |
array | Set of override filter conditions to use for matching the discovered objects. |
| eval_formula | string | (readonly) Generated expression that will be used for evaluating override filter conditions. The expression contains IDs that reference specific override filter conditions by its formulaid. The value of eval_formula is equal to the value of formula for filters with a custom expression. |
| formula | string | User-defined expression to be used for evaluating conditions of override filters with a custom expression. The expression must contain IDs that reference specific override filter conditions by its formulaid. The IDs used in the expression must exactly match the ones defined in the override filter conditions: no condition can remain unused or omitted.Required for custom expression override filters. |
The LLD rule override filter condition object defines a separate check to perform on the value of an LLD macro. It has the following properties:
| Property | Type | Description |
|---|---|---|
| macro (required) |
string | LLD macro to perform the check on. |
| value (required) |
string | Value to compare with. |
| formulaid | string | Arbitrary unique ID that is used to reference the condition from a custom expression. Can only contain capital-case letters. The ID must be defined by the user when modifying filter conditions, but will be generated anew when requesting them afterward. |
| operator | integer | Condition operator. Possible values: 8 - (default) matches regular expression; 9 - does not match regular expression. |
The LLD rule override operation is combination of conditions and actions to perform on the prototype object. It has the following properties:
| Property | Type | Description |
|---|---|---|
| operationobject (required) |
integer | Type of discovered object to perform the action. Possible values: 0 - Item prototype; 1 - Trigger prototype; 2 - Graph prototype; 3 - Host prototype. |
| operator | integer | Override condition operator. Possible values: 0 - (default) equals; 1 - does not equal; 2 - contains; 3 - does not contain; 8 - matches; 9 - does not match. |
| value | string | Pattern to match item, trigger, graph or host prototype name depending on selected object. |
| opstatus | object | Override operation status object for item, trigger and host prototype objects. |
| opdiscover | object | Override operation discover status object (all object types). |
| opperiod | object | Override operation period (update interval) object for item prototype object. |
| ophistory | object | Override operation history object for item prototype object. |
| optrends | object | Override operation trends object for item prototype object. |
| opseverity | object | Override operation severity object for trigger prototype object. |
| optag | array | Override operation tag object for trigger prototype object. |
| optemplate | array | Override operation template object for host prototype object. |
| opinventory | object | Override operation inventory object for host prototype object. |
LLD rule override operation status that is set to discovered object. It has the following properties:
| Property | Type | Description |
|---|---|---|
| status (required) |
integer | Override the status for selected object. Possible values: 0 - Create enabled; 1 - Create disabled. |
LLD rule override operation discover status that is set to discovered object. It has the following properties:
| Property | Type | Description |
|---|---|---|
| discover (required) |
integer | Override the discover status for selected object. Possible values: 0 - Yes, continue discovering the objects; 1 - No, new objects will not be discovered and existing ones will me marked as lost. |
LLD rule override operation period is an update interval value (supports custom intervals) that is set to discovered item. It has the following properties:
| Property | Type | Description |
|---|---|---|
| delay (required) |
string | Override the update interval of the item prototype. Accepts seconds or a time unit with suffix (30s,1m,2h,1d) as well as flexible and scheduling intervals and user macros or LLD macros. Multiple intervals are separated by a semicolon. |
LLD rule override operation history value that is set to discovered item. It has the following properties:
| Property | Type | Description |
|---|---|---|
| history (required) |
string | Override the history of item prototype which is a time unit of how long the history data should be stored. Also accepts user macro and LLD macro. |
LLD rule override operation trends value that is set to discovered item. It has the following properties:
| Property | Type | Description |
|---|---|---|
| trends (required) |
string | Override the trends of item prototype which is a time unit of how long the trends data should be stored. Also accepts user macro and LLD macro. |
LLD rule override operation severity value that is set to discovered trigger. It has the following properties:
| Property | Type | Description |
|---|---|---|
| severity (required) |
integer | Override the severity of trigger prototype. Possible values are: 0 - (default) not classified; 1 - information; 2 - warning; 3 - average; 4 - high; 5 - disaster. |
LLD rule override operation tag object contains tag name and values that are set to discovered trigger. It has the following properties:
| Property | Type | Description |
|---|---|---|
| tag (required) |
string | Override the tag name of trigger prototype tags. |
| value | string | Override the tag value of trigger prototype tags. |
LLD rule override operation template object that is linked to discovered host. It has the following properties:
| Property | Type | Description |
|---|---|---|
| templateid (required) |
string | Override the template of host prototype linked templates. |
LLD rule override operation inventory mode value that is set to discovered host. It has the following properties:
| Property | Type | Description |
|---|---|---|
| inventory_mode (required) |
integer | Override the host prototype inventory mode. Possible values are: -1 - disabled; 0 - (default) manual; 1 - automatic. |