host.update

Beschreibung

object host.update(object/array hosts)

Mit dieser Methode können vorhandene Hosts aktualisiert werden.

Diese Methode ist nur für die Benutzertypen Admin und Super admin verfügbar. Die Berechtigung zum Aufrufen der Methode kann in den Einstellungen der Benutzerrolle entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.

Parameter

(object/array) Zu aktualisierende Host-Eigenschaften.

Die Eigenschaft hostid muss für jeden Host definiert sein, alle anderen Eigenschaften sind optional. Nur die angegebenen Eigenschaften werden aktualisiert, alle anderen bleiben unverändert.

Beachten Sie jedoch, dass die Aktualisierung des technischen Host-Namens auch den sichtbaren Namen des Hosts auf den Wert des technischen Host-Namens aktualisiert (falls er nicht separat angegeben wird).

Zusätzlich zu den standardmäßigen Host-Eigenschaften akzeptiert die Methode die folgenden Parameter.

Parameter Typ Beschreibung
groups object/array Host-Gruppen, die die aktuellen Host-Gruppen ersetzen, denen der Host angehört.
Alle Host-Gruppen, die nicht in der Anfrage aufgeführt sind, werden getrennt.

Für die Host-Gruppen darf nur die Eigenschaft groupid definiert sein.
interfaces object/array Host-Schnittstellen, die die aktuellen Host-Schnittstellen ersetzen.
Alle Schnittstellen, die nicht in der Anfrage aufgeführt sind, werden entfernt.
tags object/array Host-Tags, die die aktuellen Host-Tags ersetzen.
Alle Tags, die nicht in der Anfrage aufgeführt sind, werden entfernt.
inventory object Eigenschaften des Host-Inventars.
macros object/array Benutzermakros, die die aktuellen Benutzermakros ersetzen.
Alle Makros, die nicht in der Anfrage aufgeführt sind, werden entfernt.
templates object/array Vorlagen, die die aktuell verknüpften Vorlagen ersetzen.
Alle Vorlagen, die nicht in der Anfrage aufgeführt sind, werden nur getrennt.

Für die Vorlagen darf nur die Eigenschaft templateid definiert sein.
templates_clear object/array Vorlagen, die vom Host getrennt und daraus entfernt werden.

Für die Vorlagen darf nur die Eigenschaft templateid definiert sein.

Rückgabewerte

(object) Gibt ein Objekt zurück, das die IDs der aktualisierten Hosts unter der Eigenschaft hostids enthält.

Beispiele

Aktivieren eines Hosts

Aktivieren Sie die Überwachung des Hosts, d. h. setzen Sie seinen Status auf „0“.

Anfrage:

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

Antwort:

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

Aktivieren mehrerer Hosts

Aktivieren Sie die Überwachung von zwei Hosts, d. h. setzen Sie ihren Status auf „0“.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": [
        {
            "hostid": "10127",
            "status": 0
        },
        {
            "hostid": "10128",
            "status": 0
        }
    ],
    "id": 1
}

Antwort:

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

Verknüpfung von Vorlagen aufheben

Heben Sie die Verknüpfung von zwei Vorlagen mit dem Host auf und löschen Sie sie.

Anfrage:

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

Antwort:

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

Host-Makros aktualisieren

Ersetzen Sie alle Host-Makros durch zwei neue.

Anfrage:

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

Antwort:

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

Host-Inventar aktualisieren

Inventarmodus ändern und Standort hinzufügen

Anfrage:

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

Antwort:

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

Aktualisieren von Host-Tags

Ersetzen Sie alle Host-Tags durch ein neues.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "tags": {
            "tag": "os",
            "value": "rhel-7"
        }
    },
    "id": 1
}

Antwort:

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

Aktualisieren entdeckter Host-Makros

Wandeln Sie das von der Discovery-Regel erstellte „automatische“ Makro in ein „manuelles“ um und ändern Sie seinen Wert in „new-value“.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "macros": {
            "hostmacroid": "5541",
            "value": "new-value",
            "automatic": "0"
        }
    },
    "id": 1
}

Antwort:

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

Aktualisieren der Host-Verschlüsselung

Aktualisieren Sie den Host „10590“ so, dass für Verbindungen vom Host zum Zabbix-Server nur PSK-Verschlüsselung verwendet wird, und ändern Sie die PSK-Identität sowie den PSK-Schlüssel. Beachten Sie, dass der Host für die Verwendung von PSK vorkonfiguriert sein muss.

Anfrage:

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

Antwort:

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

Siehe auch

Quelle

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