item.create

Opis

object item.create(object/array items)

Ta metoda pozwala na tworzenie nowych pozycji.

Pozycje scenariusza WWW nie mogą być tworzone za pomocą interfejsu Zabbix API.

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) Pozycje do utworzenia.

Oprócz standardowych właściwości pozycji, metoda akceptuje następujące parametry.

Parametr Typ Opis
preprocessing array Opcje przetwarzania wstępnego pozycji.
tags array Znaczniki pozycji.

Zwracane wartości

(object) Zwraca obiekt zawierający identyfikatory utworzonych pozycji we właściwości itemids. Kolejność zwróconych identyfikatorów odpowiada kolejności przekazanych pozycji.

Przykłady

Tworzenie pozycji

Utwórz pozycję typu liczba Zabbix agenta z 2 znacznikami pozycji do monitorowania wolnego miejsca na dysku na hoście o identyfikatorze "30074".

Zapytanie:

{
           "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": "Disk usage"
                   },
                   {
                       "tag": "Equipment",
                       "value": "Workstation"
                   }
               ],
               "delay": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "24758"
               ]
           },
           "id": 1
       }

Tworzenie pozycji inwentarza hosta

Utwórz pozycję Zabbix agenta, aby uzupełnić pole inwentarza "OS" hosta.

Zapytanie:

{
           "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
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "24759"
               ]
           },
           "id": 1
       }

Tworzenie pozycji z przetwarzaniem wstępnym

Utwórz pozycję z wykorzystaniem własnego mnożnika.

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "Device uptime",
               "key_": "sysUpTime",
               "hostid": "11312",
               "type": 4,
               "snmp_oid": "SNMPv2-MIB::sysUpTime.0",
               "value_type": 1,
               "delay": "60s",
               "units": "uptime",
               "interfaceid": "1156",
               "preprocessing": [
                   {
                       "type": 1,
                       "params": "0.01",
                       "error_handler": 1,
                       "error_handler_params": ""
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44210"
               ]
           },
           "id": 1
       }

Tworzenie pozycji zależnej

Utwórz pozycję zależną dla pozycji głównej o identyfikatorze 24759. Dozwolone są tylko zależności na tym samym hoście, dlatego pozycja główna i zależna powinny mieć ten sam hostid.

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
             "hostid": "30074",
             "name": "Dependent test item",
             "key_": "dependent.item",
             "type": 18,
             "master_itemid": "24759",
             "value_type": 2
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44211"
               ]
           },
           "id": 1
       }

Tworzenie pozycji agenta HTTP

Utwórz pozycję agenta HTTP dla metody żądania POST z przetwarzaniem odpowiedzi w formacie JSON.

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "url": "http://127.0.0.1/http.php",
               "query_fields": [
                   {
                       "mode": "json"
                   },
                   {
                       "min": "10"
                   },
                   {
                       "max": "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": ""
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 2
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "23865"
               ]
           },
           "id": 3
       }

Utwórz pozycję typu skrypt

Utwórz prosty sposób zbierania danych przy użyciu pozycji typu skrypt.

Zapytanie:

{
           "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 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

CItem::create() w ui/include/classes/api/services/CItem.php.