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.