host.update

Opis

object host.update(object/array hosts)

Ta metoda umożliwia aktualizację istniejących hostów.

Ta metoda jest dostępna tylko dla użytkowników typu Admin i Super admin.Uprawnienia do wywołania tej metody mogą zostać odebrane w ustawieniach roli użytkownika.Zobacz Role użytkowników aby uzyskać więcej informacji.

Parametry

(object/array) Właściwości hostów do zaktualizowania.

Właściwość hostid musi być zdefiniowana dla każdego hosta, wszystkie inne właściwości są opcjonalne. Tylko podane właściwości zostaną zaktualizowane, pozostałe pozostaną niezmienione.

Należy jednak zauważyć, że aktualizacja technicznej nazwy hosta spowoduje również aktualizację widocznej nazwy hosta (jeśli nie jest podana lub jest pusta) na podstawie wartości technicznej nazwy hosta.

Dodatkowo do standardowych właściwości hosta, metoda akceptuje następujące parametry.

Parametr Typ Opis
groups object/array Grupy hostów do zastąpienia aktualnych grup hostów, do których należy host.

Grupy hostów muszą mieć zdefiniowaną właściwość groupid. Wszystkie grupy hostów, które nie są wymienione w zapytaniu, zostaną odłączone.
interfaces object/array Interfejsy hosta do zastąpienia aktualnych interfejsów hosta.

Wszystkie interfejsy, które nie są wymienione w zapytaniu, zostaną usunięte.
tags object/array Znaczniki hosta do zastąpienia aktualnych tagów hosta.

Wszystkie tagi, które nie są wymienione w zapytaniu, zostaną usunięte.
inventory object Właściwości inwentarza hosta.
macros object/array Makra użytkownika do zastąpienia aktualnych makr użytkownika.

Wszystkie makra, które nie są wymienione w żądaniu, zostaną usunięte.
templates object/array Szablony do zastąpienia aktualnie połączonych szablonów. Wszystkie szablony, które nie są wymienione w żądaniu, zostaną tylko odłączone.

Szablony muszą mieć zdefiniowaną właściwość templateid.
templates_clear object/array Szablony do odłączenia i wyczyszczenia z hosta.

Szablony muszą mieć zdefiniowaną właściwość templateid.

W przeciwieństwie do interfejsu Zabbix, gdy name (widoczna nazwa hosta) jest taka sama jak host (techniczna nazwa hosta), aktualizacja host za pośrednictwem interfejsu API nie spowoduje automatycznej aktualizacji name. Oba właściwości muszą zostać jawnie zaktualizowane.

Zwracane wartości

(object) Zwraca obiekt zawierający ID zaktualizowanych hostów w właściwości hostids.

Przykłady

Włączanie hosta

Włącz monitorowanie hosta, czyli ustaw jego status na 0.

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "status": 0
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

Odłączanie szablonów

Odłącz i wyczyść dwa szablony od hosta.

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "templates_clear": [
                   {
                       "templateid": "10124"
                   },
                   {
                       "templateid": "10125"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

Aktualizacja makr hosta

Zastąp wszystkie makra hosta dwoma nowymi.

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "macros": [
                   {
                       "macro": "{$PASS}",
                       "value": "password"
                   },
                   {
                       "macro": "{$DISC}",
                       "value": "sda",
                       "description": "Updated description"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

Aktualizacja inwentarza hosta

Zmień tryb inwentarza i dodaj lokalizację

Odpowiedź:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "inventory_mode": 0,
               "inventory": {
                   "location": "Latvia, Riga"
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Zapytanie:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

Aktualizacja znaczników hosta

Zastąp wszystkie tagi hosta nowym.

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "tags": {
                   "tag": "OS",
                   "value": "RHEL 7"
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

Aktualizacja szyfrowania hosta

Zaktualizuj hosta "10590", aby używał szyfrowania PSK tylko dla połączeń od hosta do serwera Zabbix, i zmień identyfikator PSK oraz klucz PSK. Zauważ, że host musi być wstępnie skonfigurowany do korzystania z PSK.

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10590",
               "tls_connect": 1,
               "tls_accept": 2,
               "tls_psk_identity": "PSK 002",
               "tls_psk": "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10590"
               ]
           },
           "id": 1
       }

Zobacz także

Źródło

CHost::update() w ui/include/classes/api/services/CHost.php.