host.update
Beschrijving
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.
Parameters
(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. |
::: notitietip
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.
:::
Retourwaarden
(object) Retourneert een object dat de ID's van de bijgewerkte hosts bevat
onder de eigenschap hostids.
Voorbeelden
Host inschakelen
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:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10126"
]
},
"id": 1
}
Templates ontkoppelen
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:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10126"
]
},
"id": 1
}
Hostmacro's bijwerken
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:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10126"
]
},
"id": 1
}
Hostinventaris bijwerken
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:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10387"
]
},
"id": 1
}
Hosttags bijwerken
Vervang alle hosttags door een nieuwe.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"tags": {
"tag": "OS",
"value": "RHEL 7"
}
},
"id": 1
}
Antwoord:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10387"
]
},
"id": 1
}
Bijwerken van ontdekte hostmacro's
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:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10387"
]
},
"id": 1
}
Hostversleuteling bijwerken
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:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10590"
]
},
"id": 1
}
Zie ook
- host.massadd
- host.massupdate
- host.massremove
- Hostgroep
- Sjabloon
- Gebruikersmacro
- Hostinterface
- Hostinventaris
- Hosttag
Bron
CHost::update() in ui/include/classes/api/services/CHost.php.