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.
(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.
(object)
Zwraca obiekt zawierający ID zaktualizowanych hostów w właściwości hostids
.
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ź:
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ź:
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ź:
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:
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ź:
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ź:
CHost::update() w ui/include/classes/api/services/CHost.php.