itemprototype.get

Описание

integer/array itemprototype.get(параметры объекта)

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

Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(object) Параметры, определяющие требуемый результат.

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

Parameter Type Description
discoveryids ID/array Возвращать только прототипы элементов данных, которые принадлежат указанным правилам LLD.
graphids ID/array Возвращать только прототипы элементов данных, которые используются в указанных прототипах графиков.
hostids ID/array Возвращать только прототипы элементов данных, которые принадлежат указанным узлам сети.
inherited boolean Если задано true, возвращать только прототипы элементов данных, унаследованные от шаблона.
itemids ID/array Возвращать только прототипы элементов данных с указанными ID.
monitored boolean Если задано true, возвращать только включенные прототипы элементов данных, которые принадлежат контролируемым узлам сети.
templated boolean Если задано true, возвращать только прототипы элементов данных, которые принадлежат шаблонам.
templateids ID/array Возвращать только прототипы элементов данных, которые принадлежат указанным шаблонам.
triggerids ID/array Возвращать только прототипы элементов данных, которые используются в указанных прототипах триггеров.
selectDiscoveryData query Возвращать свойство discoveryData с данными объекта обнаружения прототипа элемента данных. Объект обнаружения прототипа элемента данных связывает обнаруженный прототип элемента данных с прототипом элемента данных, из которого он был обнаружен.

Он имеет следующие свойства:
parent_itemid - (string) ID прототипа элемента данных, из которого был создан прототип элемента данных;
key_ - (string) ключ прототипа элемента данных;
status - (int) статус обнаружения прототипа элемента данных:
0 - (по умолчанию) прототип элемента данных обнаружен,
1 - прототип элемента данных больше не обнаружен;
ts_delete - (timestamp) время, когда прототип элемента данных, который больше не обнаружен, будет удален;
ts_disable - (timestamp) время, когда прототип элемента данных, который больше не обнаружен, будет отключен;
disable_source - (int) признак того, был ли прототип элемента данных отключен правилом LLD или вручную:
0 - (по умолчанию) отключен автоматически,
1 - отключен правилом LLD.
selectDiscoveryRule query Возвращать свойство discoveryRule с правилом низкоуровневого обнаружения, к которому принадлежит прототип элемента данных.
selectDiscoveryRulePrototype query Возвращать свойство discoveryRulePrototype с родительским прототипом правила LLD, к которому принадлежит прототип элемента данных.
selectGraphs query Возвращать свойство graphs с прототипами графиков, в которых используется прототип элемента данных.

Поддерживает count.
selectHosts query Возвращать свойство hosts с массивом узлов сети, к которым принадлежит прототип элемента данных.
selectTags query Возвращать теги прототипа элемента данных в свойстве tags.
selectTriggers query Возвращать свойство triggers с прототипами триггеров, в которых используется прототип элемента данных.

Поддерживает count.
selectPreprocessing query Возвращать свойство preprocessing с параметрами предварительной обработки прототипа элемента данных.
selectValueMap query Возвращать свойство valuemap с картой значений прототипа элемента данных.
filter object Возвращать только те результаты, которые в точности соответствуют заданному фильтру.

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

Не поддерживает свойства с типом данных text.

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

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

Возможные значения: itemid, name, key_, delay, type, status, history, trends, discovered.
countOutput boolean Эти параметры описаны в справочном комментарии.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

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

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

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

Примеры

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

Получить все прототипы элементов данных для указанного ID правила LLD.

Запрос:

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

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "itemid": "23077",
            "type": "0",
            "snmp_oid": "",
            "hostid": "10079",
            "name": "Входящий сетевой трафик на en0",
            "key_": "net.if.in[en0]",
            "delay": "1m",
            "history": "1w",
            "trends": "365d",
            "status": "0",
            "value_type": "3",
            "trapper_hosts": "",
            "units": "bps",
            "logtimefmt": "",
            "templateid": "0",
            "valuemapid": "0",
            "params": "",
            "ipmi_sensor": "",
            "authtype": "0",
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "flags": "2",
            "interfaceid": "0",
            "description": "",
            "evaltype": "0",
            "jmx_endpoint": "",
            "master_itemid": "0",
            "timeout": "",
            "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",
            "discover": "0",
            "uuid": "",
            "parameters": []
        },
        {
            "itemid": "10010",
            "type": "0",
            "snmp_oid": "",
            "hostid": "10001",
            "name": "Нагрузка на процессор (среднее за 1 минуту на ядро)",
            "key_": "system.cpu.load[percpu,avg1]",
            "delay": "1m",
            "history": "1w",
            "trends": "365d",
            "status": "0",
            "value_type": "0",
            "trapper_hosts": "",
            "units": "",
            "logtimefmt": "",
            "templateid": "0",
            "valuemapid": "0",
            "params": "",
            "ipmi_sensor": "",
            "authtype": "0",
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "flags": "2",
            "interfaceid": "0",
            "description": "Нагрузка на процессор вычисляется как загрузка CPU системы, деленная на количество ядер CPU.",
            "evaltype": "0",
            "jmx_endpoint": "",
            "master_itemid": "0",
            "timeout": "",
            "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",
            "discover": "0",
            "uuid": "",
            "parameters": []
        }
    ],
    "id": 1
}

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

Найдите один зависимый элемент данных для указанного ID элемента данных.

Запрос:

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

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "itemid": "25547",
            "type": "18",
            "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": "",
            "logtimefmt": "",
            "templateid": "0",
            "valuemapid": "0",
            "params": "",
            "ipmi_sensor": "",
            "authtype": "0",
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "flags": "0",
            "interfaceid": "0",
            "description": "",
            "evaltype": "0",
            "master_itemid": "25545",
            "jmx_endpoint": "",
            "timeout": "",
            "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",
            "discover": "0",
            "uuid": "",
            "parameters": []
        }
    ],
    "id": 1
}

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

Найдите прототип элемента данных HTTP-агента с методом запроса HEAD для указанного ID узла сети.

Запрос:

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

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "itemid": "28257",
            "type": "19",
            "snmp_oid": "",
            "hostid": "10254",
            "name": "discovered",
            "key_": "item[{#INAME}]",
            "delay": "{#IUPDATE}",
            "history": "90d",
            "trends": "30d",
            "status": "0",
            "value_type": "3",
            "trapper_hosts": "",
            "units": "",
            "logtimefmt": "",
            "templateid": "28255",
            "valuemapid": "0",
            "params": "",
            "ipmi_sensor": "",
            "authtype": "0",
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "flags": "2",
            "interfaceid": "2",
            "description": "",
            "evaltype": "0",
            "jmx_endpoint": "",
            "master_itemid": "0",
            "timeout": "",
            "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",
            "discover": "0",
            "uuid": "",
            "parameters": []
        }
    ],
    "id": 1
}

См. также

Источник

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