item.create

Описание

object item.create(object/array items)

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

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

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

Параметры

(object/array) Элементы данных для создания.

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

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

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

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

Примеры

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

Создайте числовой элемент данных Zabbix agent с 2 тегами элемента данных для мониторинга свободного места на диске на узле сети с ID "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": "component",
                "value": "storage"
            },
            {
                "tag": "equipment",
                "value": "workstation"
            }
        ],
        "delay": "30s"
    },
    "id": 1
}

Ответ:

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

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

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

Запрос:

{
    "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
    },
    "id": 1
}

Ответ:

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

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

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

Запрос:

{
    "jsonrpc": "2.0",
    "method": "item.create",
    "params": {
        "name": "Device uptime",
        "key_": "sysUpTime",
        "hostid": "10084",
        "type": 20,
        "snmp_oid": "SNMPv2-MIB::sysUpTime.0",
        "value_type": 1,
        "delay": "60s",
        "interfaceid": "83",
        "preprocessing": [
            {
                "type": 1,
                "params": "0.01",
                "error_handler": 1,
                "error_handler_params": ""
            }
        ]
    },
    "id": 1
}

Ответ:

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

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

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

Запрос:

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

Ответ:

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

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

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

Запрос:

{
    "jsonrpc": "2.0",
    "method": "item.create",
    "params": {
        "url":"http://127.0.0.1/http.php",
        "query_fields": [
            {
                "name": "mode",
                "value": "json"
            },
            {
                "name": "min",
                "value": "10"
            },
            {
                "name": "max",
                "value": "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": ""
            }
        ]
    },
    "id": 1
}

Ответ:

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

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

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

Запрос:

{
    "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 HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",
        "parameters": [
            {
                "name": "host",
                "value": "{HOST.CONN}"
            }
        ],
        "timeout": "6s",
        "delay": "30s"
    },
    "id": 1
}

Ответ:

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

Источник

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