itemprototype.get

Описание

целое число/массив itemprototype.get(объект параметры)

Этот метод позволяет получать прототипы элементов данных в соответствии с заданными параметрами.

Параметры

(объект) Параметры задают желаемый вывод.

Этот метод поддерживает следующие параметры.

Параметр Тип Описание
discoveryids строка/массив Возврат только тех прототипов элементов данных, которые используются в заданных LLD правилах.
graphids строка/массив Возврат только тех прототипов элементов данных, которые используются в заданных прототипах графиков.
hostids строка/массив Возврат только тех прототипов элементов данных, которые принадлежат заданным узлам сети.
inherited логический Если задано значение true, возвращать только те прототипы элементов данных, которые унаследованы из шаблона.
itemids строка/массив Возврат прототипов элементов данных только с заданными ID.
monitored логический Если задано значение true, возвращать только активированные прототипы элементов данных, которые принадлежат узлам сети под наблюдением.
templated логический Если задано значение true, возвращать только те прототипы элементов данных, которые принадлежат шаблонам.
templateids строка/массив Возврат только тех прототипов элементов данных, которые принадлежат заданным шаблонам.
triggerids строка/массив Возврат только тех прототипов элементов данных, которые используются в заданных прототипах триггеров.
selectApplications запрос Возврат свойства applications с группами элементов данных, которым принадлежит прототип элементов данных.
selectApplicationPrototypes запрос Возврат свойства applicationPrototypes с прототипами групп элементов данных, к которым присоединен прототип элементов данных.
selectDiscoveryRule запрос Возврат свойства discoveryRule с LLD правилом, которому принадлежит прототип элементов данных.
selectGraphs запрос Возврат свойства graphs с прототипами графиков, которые содержат прототип элементов данных.

Supports count.
selectHosts запрос Возврат свойства hosts с массивом узлов сети, которым принадлежит прототип элементов данных.
selectTriggers запрос Возврат свойства triggers с прототипами триггеров, которые используют прототип элементов данных.

Supports count.
selectPreprocessing запрос Возврат свойства preprocessing с опциями предобработки элемента данных.

Этот параметр имеет следующие свойства:
type - (строка) Типы опций предобработки:
1 - Пользовательский множитель;
2 - Обрезка справа;
3 - Обрезка слева;
4 - Обрезка;
5 - Соответствие регулярному выражению;
6 - Двоичное в десятичное;
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.

params - (строка) Дополнительные параметры, которые используются опцией предобработки. Несколько параметров разделяются символом LF (\n).
error_handler - (строка) Тип действия, которое используется при ошибке в шаге предобработки:
0 - Сообщение об ошибке, которое задается Zabbix сервером;
1 - Отбрасывать значение;
2 - Задать пользовательское значение;
3 - Задать пользовательское сообщение об ошибке.

error_handler_params - (строка) Параметры обработчика ошибок.
filter объект Возврат только тех результатов, которые в точности соответствуют заданному фильтру.

Принимает массив, где ключи являются именами свойств и значения, которые являются либо одним значением, либо массивом сопоставляемых значений.

Поддерживает дополнительные фильтры:
host - техническое имя узла сети, которому принадлежит прототип элементов данных.
limitSelects целое число Ограничение количества записей, возвращаемых подзапросами.

Применимо только к следующим подзапросам:
selectGraphs - результаты сортируются по name;
selectTriggers - результаты сортируются по description.
sortfield строка/массив Сортировка результата в соответствии с заданными свойствами.

Возможные значения: itemid, name, key_, delay, type и status.
countOutput логический Эти параметры являются общими для всех методов get и они описаны в справочных комментариях.
editable логический
excludeSearch логический
limit целое число
output запрос
preservekeys логический
search объект
searchByAny логический
searchWildcardsEnabled логический
sortorder строка/массив
startSearch логический

Возвращаемые значения

(целое число/массив) Возвращает либо:

  • массив объектов;
  • количество найденных объектов, если используется параметр countOutput.

Примеры

Получение прототипов элементов данных с LLD правила

Получение всех прототипов элементов данных с LLD правила.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.get",
           "params": {
               "output": "extend",
               "discoveryids": "27426"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "23077",
                   "type": "0",
                   "snmp_community": "",
                   "snmp_oid": "",
                   "hostid": "10079",
                   "name": "Incoming network traffic on $1",
                   "key_": "net.if.in[en0]",
                   "delay": "1m",
                   "history": "1w",
                   "trends": "365d",
                   "status": "0",
                   "value_type": "3",
                   "trapper_hosts": "",
                   "units": "bps",
                   "snmpv3_securityname": "",
                   "snmpv3_securitylevel": "0",
                   "snmpv3_authpassphrase": "",
                   "snmpv3_privpassphrase": "",
                   "formula": "",
                   "error": "",
                   "logtimefmt": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "flags": "0",
                   "interfaceid": "0",
                   "port": "",
                   "description": "",
                   "inventory_link": "0",
                   "lifetime": "30d",
                   "snmpv3_authprotocol": "0",
                   "snmpv3_privprotocol": "0",
                   "state": "0",
                   "snmpv3_contextname": "",
                   "evaltype": "0",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "3s",
                   "url": "",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "0",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "lastclock": "0",
                   "lastns": "0",
                   "lastvalue": "0",
                   "prevvalue": "0"
               },
               {
                   "itemid": "10010",
                   "type": "0",
                   "snmp_community": "",
                   "snmp_oid": "",
                   "hostid": "10001",
                   "name": "Processor load (1 min average per core)",
                   "key_": "system.cpu.load[percpu,avg1]",
                   "delay": "1m",
                   "history": "1w",
                   "trends": "365d",
                   "status": "0",
                   "value_type": "0",
                   "trapper_hosts": "",
                   "units": "",
                   "snmpv3_securityname": "",
                   "snmpv3_securitylevel": "0",
                   "snmpv3_authpassphrase": "",
                   "snmpv3_privpassphrase": "",
                   "formula": "",
                   "error": "",
                   "logtimefmt": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "flags": "0",
                   "interfaceid": "0",
                   "port": "",
                   "description": "The processor load is calculated as system CPU load divided by number of CPU cores.",
                   "inventory_link": "0",
                   "lifetime": "0",
                   "snmpv3_authprotocol": "0",
                   "snmpv3_privprotocol": "0",
                   "state": "0",
                   "snmpv3_contextname": "",
                   "evaltype": "0",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "3s",
                   "url": "",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "0",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "lastclock": "0",
                   "lastns": "0",
                   "lastvalue": "0",
                   "prevvalue": "0"
               }
           ],
           "id": 1
       }

Поиск зависимого элемента данных

Поиск одного зависимого элемента данных у элемента данных с ID "25545".

Запрос:

{
           "jsonrpc": "2.0",
           "method": "item.get",
           "params": {
               "output": "extend",
               "filter": {
                   "type": "18",
                   "master_itemid": "25545"
               },
               "limit": "1"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "25547",
                   "type": "18",
                   "snmp_community": "",
                   "snmp_oid": "",
                   "hostid": "10116",
                   "name": "Seconds",
                   "key_": "apache.status.uptime.seconds",
                   "delay": "0",
                   "history": "90d",
                   "trends": "365d",
                   "status": "0",
                   "value_type": "3",
                   "trapper_hosts": "",
                   "units": "",
                   "snmpv3_securityname": "",
                   "snmpv3_securitylevel": "0",
                   "snmpv3_authpassphrase": "",
                   "snmpv3_privpassphrase": "",
                   "formula": "",
                   "error": "",
                   "logtimefmt": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "flags": "0",
                   "interfaceid": "0",
                   "port": "",
                   "description": "",
                   "inventory_link": "0",
                   "lifetime": "30d",
                   "snmpv3_authprotocol": "0",
                   "snmpv3_privprotocol": "0",
                   "state": "0",
                   "snmpv3_contextname": "",
                   "evaltype": "0",
                   "master_itemid": "25545",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "3s",
                   "url": "",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "0",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "lastclock": "0",
                   "lastns": "0",
                   "lastvalue": "0",
                   "prevvalue": "0"
               }
           ],
           "id": 1
       }

Поиск прототипа элементов данных HTTP агента

Поиск прототипа элементов данных HTTP агента с методом запроса HEAD у заданного id узла сети.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.get",
           "params": {
               "hostids": "10254",
               "filter": {
                   "type": "19",
                   "request_method": "3"
               }
           },
           "id": 17,
           "auth": "d678e0b85688ce578ff061bd29a20d3b"
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "28257",
                   "type": "19",
                   "snmp_community": "",
                   "snmp_oid": "",
                   "hostid": "10254",
                   "name": "discovered",
                   "key_": "item[{#INAME}]",
                   "delay": "{#IUPDATE}",
                   "history": "90d",
                   "trends": "30d",
                   "status": "0",
                   "value_type": "3",
                   "trapper_hosts": "",
                   "units": "",
                   "snmpv3_securityname": "",
                   "snmpv3_securitylevel": "0",
                   "snmpv3_authpassphrase": "",
                   "snmpv3_privpassphrase": "",
                   "formula": "",
                   "error": "",
                   "logtimefmt": "",
                   "templateid": "28255",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "flags": "2",
                   "interfaceid": "2",
                   "port": "",
                   "description": "",
                   "inventory_link": "0",
                   "lifetime": "30d",
                   "snmpv3_authprotocol": "0",
                   "snmpv3_privprotocol": "0",
                   "state": "0",
                   "snmpv3_contextname": "",
                   "evaltype": "0",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "3s",
                   "url": "{#IURL}",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "",
                   "follow_redirects": "0",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "3",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0"
               }
           ],
           "id": 17
       }

Смотрите также

Исходный код

CItemPrototype::get() в frontends/php/include/classes/api/services/CItemPrototype.php.