object host.update(object/array hosts)
Deze methode maakt het mogelijk om bestaande hosts bij te werken.
Deze methode is alleen beschikbaar voor gebruikerstypes Admin en Superadmin. Rechten om de methode aan te roepen kunnen worden ingetrokken in de instellingen van gebruikersrollen. Zie Gebruikersrollen voor meer informatie.
(object/array)
Hosteigenschappen die moeten worden bijgewerkt.
De eigenschap hostid
moet worden gedefinieerd voor elke host, alle andere eigenschappen zijn optioneel. Alleen de opgegeven eigenschappen worden bijgewerkt, allemaal andere blijven ongewijzigd.
Houd er echter rekening mee dat het bijwerken van de technische naam van de host ook wordt bijgewerkt de zichtbare naam van de host (indien niet gegeven of leeg) door de technische van de host naam waarde.
Naast de standaard hosteigenschappen, is de methode accepteert de volgende parameters.
Parameter | Type | Beschrijving |
---|---|---|
groups | object/array | Host groepen om de huidige hostgroepen waartoe de host behoort te vervangen. De hostgroepen moeten de groupid hebben eigenschap gedefinieerd. Alle hostgroepen die niet in het verzoek worden vermeld, worden ontkoppeld. |
interfaces | object/array | Host interfaces om de huidige hostinterfaces te vervangen. Alle interfaces die niet in het verzoek worden vermeld, worden verwijderd. |
tags | object/array | Host tags om de huidige hosttags te vervangen. Alle tags die niet in het verzoek worden vermeld, worden verwijderd . |
inventaris | object | Host inventaris eigenschappen. |
macros | object/array | Gebruikersmacro's om de huidige gebruikersmacro's te vervangen. Alle macro's die niet in het verzoek worden vermeld, worden verwijderd. |
templates | object/array | Templates om de momenteel gekoppelde sjablonen te vervangen. Alle sjablonen die niet in de aanvraag worden vermeld, worden alleen ontkoppeld. Voor de sjablonen moet de eigenschap templateid zijn gedefinieerd. |
templates_clear | object/array | Templates om te ontkoppelen en te wissen van de host. Voor de sjablonen moet de eigenschap templateid zijn gedefinieerd. |
In tegenstelling tot de Zabbix-frontend, wanneer naam
(zichtbaar hostnaam) is hetzelfde als host
(technische hostnaam), bijwerken van host
via API zal naam
niet automatisch updaten. Beide eigenschappen moeten zijn expliciet bijgewerkt.
(object)
Retourneert een object dat de ID's van de bijgewerkte hosts bevat onder de eigenschap hostids
.
Activeer de monitoring voor de host, dat wil zeggen, stel de status ervan in op "0".
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"status": 0
},
"id": 1
}
Retourwaarde:
Ontkoppel en verwijder twee sjablonen van de host.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"templates_clear": [
{
"templateid": "10124"
},
{
"templateid": "10125"
}
]
},
"id": 1
}
Retourwaarde:
Vervang alle hostmacro's door twee nieuwe.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"macros": [
{
"macro": "{$PASS}",
"value": "wachtwoord"
},
{
"macro": "{$DISC}",
"value": "sda",
"description": "Bijgewerkte beschrijving"
}
]
},
"id": 1
}
Antwoord:
Wijzig inventarisatiemodus en voeg locatie toe
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"inventory_mode": 0,
"inventory": {
"location": "Letland, Riga"
}
},
"id": 1
}
Antwoord:
Vervang alle hosttags door een nieuwe.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"tags": {
"tag": "OS",
"value": "RHEL 7"
}
},
"id": 1
}
Antwoord:
Zet de door de ontdekkingsregel gecreëerde macro "automatisch" om naar "handmatig" en verander de waarde ervan naar "nieuwe-waarde".
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"macros": {
"hostmacroid": "5541",
"value": "nieuwe-waarde",
"automatic": "0"
}
},
"id": 1
}
Antwoord:
Werk de host "10590" bij om alleen PSK-versleuteling te gebruiken voor verbindingen van host naar Zabbix-server, en verander de PSK-identiteit en PSK-sleutel. Let op dat de host vooraf geconfigureerd moet zijn om PSK te gebruiken.
{
"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
}
Antwoord:
CHost::update() in ui/include/classes/api/services/CHost.php.