itemprototype.create
Opis
object itemprototype.create(object/array itemPrototypes)
Ta metoda pozwala na tworzenie nowych prototypów pozycji.
Ta metoda jest dostępna tylko dla użytkowników typu Admin i Super admin. Uprawnienia do wywołania metody mogą być cofnięte w ustawieniach ról użytkownika. Zobacz Role użytkownika aby uzyskać więcej informacji.
Parametry
(object/array) Prototyp pozycji do utworzenia.
Oprócz standardowych właściwości prototypu pozycji, metoda akceptuje następujące parametry.
| Parametr | Typ | Opis |
|---|---|---|
| ruleid (wymagane) |
string | ID reguły LLD, do której należy pozycja. |
| preprocessing | array | Opcje przetwarzania wstępnego prototypu pozycji. |
| tags | array | Znaczniki prototypu pozycji]. |
Return values
(object) Zwraca obiekt zawierający identyfikatory utworzonych prototypów
pozycji we właściwości itemids. Kolejność zwróconych identyfikatorów odpowiada
kolejności przekazanych prototypów pozycji.
Przykłady
Tworzenie prototypu pozycji
Utwórz prototyp pozycji do monitorowania wolnej przestrzeni dyskowej na wykrytym systemie plików. Wykryte pozycje powinny być pozycjami Zabbix agenta typu liczba całkowita, aktualizowanymi co 30 sekund.
Zapytanie:
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Free disk space on {#FSNAME}",
"key_": "vfs.fs.size[{#FSNAME},free]",
"hostid": "10197",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"interfaceid": "112",
"delay": "30s"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"27666"
]
},
"id": 1
}
Tworzenie prototypu pozycji z przetwarzaniem wstępnym
Utwórz pozycję wykorzystującą zmianę na sekundę i własny mnożnik jako drugi krok.
Zapytanie:
{
"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"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Tworzenie prototypu zależnej pozycji
Utwórz prototyp zależnej pozycji dla prototypu głównej pozycji o identyfikatorze 44211. Dozwolone są tylko zależności na tym samym hoście (szablonie/regule wykrywania), dlatego główna i zależna pozycja powinny mieć ten sam hostid i ruleid.
Zapytanie:
{
"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
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44212"
]
},
"id": 1
}
Utwórz prototyp pozycji agenta HTTP
Utwórz prototyp pozycji z adresem URL używającym makra użytkownika, polami zapytania i niestandardowymi nagłówkami.
Zapytanie:
{
"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": [
{
"min": "10"
},
{
"max": "100"
}
],
"headers": {
"X-Source": "api"
},
"delay": "35"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28305"
]
},
"id": 1
}
Utwórz prototyp pozycji skryptowej
Utwórz proste zbieranie danych za pomocą prototypu pozycji typu skrypt.
Zapytanie:
{
"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 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
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 3
}
Źródło
CItemPrototype::create() w ui/include/classes/api/services/CItemPrototype.php.