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.
(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]. |
(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.
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ź:
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ź:
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ź:
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ź:
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ź:
CItemPrototype::create() w ui/include/classes/api/services/CItemPrototype.php.