itemprototype.create
Описание
object itemprototype.create(объект/массив itemPrototypes)
Этот метод позволяет создавать новые прототипы элементов данных.
Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
Параметры
(object/array) Прототип элемента данных для создания.
В дополнение к стандартным свойствам прототипа элемента данных, метод принимает следующие параметры.
| Параметр | Type | Описание |
|---|---|---|
| ruleid | ID | ID правила LLD, к которому принадлежит элемент данных. Поведение параметра: - обязательный |
| preprocessing | array | Параметры предобработки прототипа элемента данных. |
| tags | array | Теги прототипа элемента данных. |
Возвращаемые значения
(объект) Возвращает объект, который содержит ID созданных прототипов
элементов данных, указанных в свойстве itemids. Порядок возвращаемых ID
совпадает с порядком переданных прототипов элементов данных.
Примеры
Создание прототипа элемента данных
Создайте прототип элемента данных для мониторинга свободного места на диске в обнаруженной файловой системе. Обнаруженные элементы данных должны быть числовыми элементами данных агента Zabbix с обновлением каждые 30 секунд.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Свободное место на диске {#FSNAME}",
"key_": "vfs.fs.size[{#FSNAME},free]",
"hostid": "10197",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"interfaceid": "112",
"delay": "30s"
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"27666"
]
},
"id": 1
}
Создание прототипа элемента данных с предобработкой
Создайте элемент данных, используя изменение в секунду и пользовательский множитель в качестве второго шага.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Incoming network traffic on {#IFNAME}",
"key_": "net.if.in[{#IFNAME}]",
"hostid": "10001",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"delay": "60s",
"units": "bps",
"interfaceid": "1155",
"preprocessing": [
{
"type": 10,
"params": "",
"error_handler": 0,
"error_handler_params": ""
},
{
"type": 1,
"params": "8",
"error_handler": 2,
"error_handler_params": "10"
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Создание прототипа зависимого элемента данных
Создайте прототип зависимого элемента данных для прототипа основного элемента данных с ID 44211. Допускаются зависимости только на том же узле сети (шаблоне/правиле обнаружения), поэтому основной и зависимый элемент данных должны иметь одинаковые hostid и ruleid.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"hostid": "10001",
"ruleid": "27665",
"name": "Dependent test item prototype",
"key_": "dependent.prototype",
"type": 18,
"master_itemid": "44211",
"value_type": 3
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44212"
]
},
"id": 1
}
Создание прототипа элемента данных HTTP-агента
Создайте прототип элемента данных с URL, использующим пользовательский макрос, полями запроса и пользовательскими заголовками.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"type": "19",
"hostid": "10254",
"ruleid": "28256",
"interfaceid": "2",
"name": "api item prototype example",
"key_": "api_http_item",
"value_type": 3,
"url": "{$URL_PROTOTYPE}",
"query_fields": [
{
"name": "min",
"value": "10"
},
{
"name": "max",
"value" "100"
}
],
"headers": [
{
"name": "X-Source",
"value": "api"
}
],
"delay": "35"
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28305"
]
},
"id": 1
}
Создание прототипа элемента данных со скриптом
Создайте простой сбор данных с использованием прототипа элемента данных со скриптом.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Script example",
"key_": "custom.script.itemprototype",
"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
}
Источник
CItemPrototype::create() в ui/include/classes/api/services/CItemPrototype.php.