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.