Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

item.create

Описание

объект item.create(объект/массив items)

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

Веб элементы данных нельзя создавать через Zabbix API.

Этот метод доступен для пользователей типа Admin и Super admin. Разрешения на вызов метода могут быть отозваны в настройках роли пользователя. Смотрите Роли пользователя для получения дополнительной информации.

Параметры

(объект/массив) Создаваемые элементы данных.

В дополнение к стандартным свойствам элемента данных, этот метод принимает следующие параметры.

Параметр Тип Описание
preprocessing массив Параметры предварительной обработки элемента данных.
tags массив Тэги элемента данных.

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

(объект) Возвращает объект, который содержит ID созданных элементов данных, указанных в свойстве itemids. Порядок возвращаемых ID совпадает с порядком переданных элементов данных.

Примеры

Создание элемента данных

Создать числовой элемент данных Zabbix агента с 2 тега элемента данных для отслеживания свободного места на диске на узле сети с идентификатором "30074".

Запрос:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "Free disk space on /home/joe/",
               "key_": "vfs.fs.size[/home/joe/,free]",
               "hostid": "30074",
               "type": 0,
               "value_type": 3,
               "interfaceid": "30084",
               "tags": [
                   {
                       "tag": "Disc usage"
                   },
                   {
                       "tag": "Equipment",
                       "value": "Workstation"
                   }
               ],
               "delay": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "24758"
               ]
           },
           "id": 1
       }

Создание элемента данных инвентаря узла сети

Создание элемента данных с типом Zabbix агент, который будет заполнять поле "ОС" инвентарных данных узла сети.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "uname",
               "key_": "system.uname",
               "hostid": "30021",
               "type": 0,
               "interfaceid": "30007",
               "value_type": 1,
               "delay": "10s",
               "inventory_link": 5
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "24759"
               ]
           },
           "id": 1
       }

Создание элемента данных с предварительной обработкой

Создать элемент данных, используя пользовательский множитель.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "Device uptime",
               "key_": "sysUpTime",
               "hostid": "11312",
               "type": 4,
               "snmp_oid": "SNMPv2-MIB::sysUpTime.0",
               "value_type": 1,
               "delay": "60s",
               "units": "uptime",
               "interfaceid": "1156",
               "preprocessing": [
                   {
                       "type": 1,
                       "params": "0.01",
                       "error_handler": 1,
                       "error_handler_params": ""
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44210"
               ]
           },
           "id": 1
       }

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

Создать зависимый элемент данных для основного элемента данных с идентификатором 24759. Разрешены зависимости только от одного и того же узла сети, поэтому у главного и зависимого элемента данных должен быть один и тот же узел сети.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
             "hostid": "30074",
             "name": "Dependent test item",
             "key_": "dependent.item",
             "type": 18,
             "master_itemid": "24759",
             "value_type": 2
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44211"
               ]
           },
           "id": 1
       }

Создание элемент данных HTTP-агента

Создать элемент данных POST-запроса с предварительной обработкой JSON ответа.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "url": "http://127.0.0.1/http.php",
               "query_fields": [
                   {
                       "mode": "json"
                   },
                   {
                       "min": "10"
                   },
                   {
                       "max": "100"
                   }
               ],
               "interfaceid": "1",
               "type": 19,
               "hostid": "10254",
               "delay": "5s",
               "key_": "json",
               "name": "HTTP agent example JSON",
               "value_type": 0,
               "output_format": 1,
               "preprocessing": [
                   {
                       "type": 12,
                       "params": "$.random",
                       "error_handler": 0,
                       "error_handler_params": ""
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 2
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "23865"
               ]
           },
           "id": 3
       }

Добавить элемент данных "скрипт"

Создать простой набор данных с помощью элемента данных "скрипт".

Запрос:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "Script example",
               "key_": "custom.script.item",
               "hostid": "12345",
               "type": 21,
               "value_type": 4,
               "params": "var request = new CurlHttpRequest();\nreturn request.Post(\"https://postman-echo.com/post\", JSON.parse(value));",
               "parameters": [{
                   "name": "host",
                   "value": "{HOST.CONN}"
               }],
               "timeout": "6s",
               "delay": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 2
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "23865"
               ]
           },
           "id": 3
       }

Исходный код

CItem::create() в ui/include/classes/api/services/CItem.php.