item.create

Описание

object item.create(object/array items)

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

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

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

Параметры

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

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

Parameter Type Description
preprocessing array Предобработка элемента данных options.
tags array Теги элемента данных.

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

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

Примеры

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

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

Request:

{
    "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
}

Response:

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

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

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

Request:

{
    "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
}

Response:

{
    "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
}

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

Создайте зависимый элемент данных для master-элемента с ID 24759. Разрешены только зависимости на одном и том же узле сети, поэтому master-элемент и зависимый элемент данных должны иметь одинаковый 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-агента

Создайте элемент данных с методом запроса 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.