De Zabbix API ondersteunt de volgende gegevenstypen als invoer:
Type | Omschrijving |
---|---|
boolean | Een boolean waarde, accepteert true of false . |
flag | De waarde wordt beschouwd als true als deze wordt doorgegeven en niet gelijk is aan null ; anders wordt het beschouwd als false . |
integer | Een geheel getal. |
float | Een kommagetal. |
string | Een tekstreeks. |
text | Een langere tekstreeks. |
timestamp | Een Unix-tijdstempel. |
array | Een geordende reeks waarden, dat wil zeggen een gewone array. |
object | Een associatieve array. |
query | Een waarde die bepaalt welke gegevens moeten worden geretourneerd. Kan worden gedefinieerd als een array van eigenschapsnamen om alleen specifieke eigenschappen terug te geven, of als een van de vooraf gedefinieerde waarden: extend - retourneert alle objecteigenschappen;count - retourneert het aantal opgehaalde records, alleen ondersteund door bepaalde subselects. |
De Zabbix API retourneert altijd waarden als strings of alleen arrays.
Sommige eigenschappen van objecten zijn gemarkeerd met korte labels om te beschrijven hun gedrag. De volgende labels worden gebruikt:
Gereserveerde ID-waarde "0" kan worden gebruikt om elementen te filteren en om objecten waarnaar wordt verwezen te verwijderen. Om bijvoorbeeld een proxy waarnaar wordt verwezen te verwijderen uit een host, moet proxy_hostid worden ingesteld op 0 ("proxy_hostid": "0") of op hosts te filteren die door de server bewaakt worden, moet de optie proxy-id's ingesteld worden op 0 ("proxyids": "0").
De volgende parameters worden ondersteund door alle get
methoden:
Parameter | Type | Omschrijving |
---|---|---|
countOutput | boolean | Retourneert het aantal records in het resultaat in plaats van de daadwerkelijke gegevens. |
editable | boolean | Indien ingesteld op true , retourneert alleen objecten waarvoor de gebruiker schrijfrechten heeft.Standaard: false . |
excludeSearch | boolean | Retourneert resultaten die niet overeenkomen met de criteria die zijn opgegeven in de search parameter. |
filter | object | Retourneert alleen resultaten die exact overeenkomen met de opgegeven filter. Accepteert een array, waarbij de sleutels eigenschapsnamen zijn en de waarden ofwel een enkele waarde zijn of een array van waarden om tegenover te stellen. Ondersteunt geen velden van het gegevenstype text . |
limit | integer | Beperkt het aantal geretourneerde records. |
output | query | Objecteigenschappen die moeten worden geretourneerd. Standaard: extend . |
preservekeys | boolean | Gebruik ID's als sleutels in de resulterende array. |
search | object | Retourneert resultaten die overeenkomen met het opgegeven patroon (hoofdletteronafhankelijk). Accepteert een array, waarbij de sleutels eigenschapsnamen zijn en de waarden strings om naar te zoeken. Als er geen aanvullende opties worden opgegeven, zal dit een LIKE "%…%" zoekopdracht uitvoeren.Ondersteunt alleen velden van gegevenstype string en text . |
searchByAny | boolean | Indien ingesteld op true , retourneert resultaten die overeenkomen met een van de criteria die zijn opgegeven in de filter of search parameter in plaats van met allemaal.Standaard: false . |
searchWildcardsEnabled | boolean | Indien ingesteld op true , maakt het gebruik van "*" mogelijk als een wildcard-teken in de search parameter.Standaard: false . |
sortfield | string/array | Sorteer het resultaat op de opgegeven eigenschappen. Raadpleeg de beschrijving van een specifieke API get methode voor een lijst van eigenschappen die kunnen worden gebruikt voor het sorteren. Macro's worden niet uitgebreid vóór het sorteren. Als er geen waarde wordt opgegeven, worden de gegevens ongesorteerd geretourneerd. |
sortorder | string/array | Sorteervolgorde. Als een array wordt doorgegeven, wordt elke waarde gekoppeld aan de overeenkomstige eigenschap die is opgegeven in de sortfield parameter.Mogelijke waarden zijn: ASC - (standaard) oplopend;DESC - aflopend. |
startSearch | boolean | De search parameter zal het begin van velden vergelijken, dat wil zeggen een LIKE "…%" zoekopdracht uitvoeren.Genegeerd als searchWildcardsEnabled is ingesteld op true . |
Heeft de gebruiker rechten om te schrijven naar host waarvan de namen beginnen met "MySQL" of "Linux" ?
Verzoek:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"countOutput": true,
"search": {
"host": ["MySQL", "Linux"]
},
"editable": true,
"startSearch": true,
"searchByAny": true
},
"auth": "766b71ee543230a1182ca5c44d353e36",
"id": 1
}
Antwoord:
Geen resultaat betekend dat er geen hosts met lezen/schrijven rechten zijn
Tellen van het aantal hosts waarin het woord "ubuntu" niet in voor komt.
VCerzoek:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"countOutput": true,
"search": {
"host": "ubuntu"
},
"excludeSearch": true
},
"auth": "766b71ee543230a1182ca5c44d353e36",
"id": 1
}
Antwoord:
Vind hosts waarin "server" in de naam voor komt en interface poorten "10050" of "10071" hebben. Sorteer het resultaat per hostname in aflopende volgorde en beperk de resultaten tot 5 hosts.
Verzoek:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid", "host"],
"selectInterfaces": ["port"],
"filter": {
"port": ["10050", "10071"]
},
"search": {
"host": "*server*"
},
"searchWildcardsEnabled": true,
"searchByAny": true,
"sortfield": "host",
"sortorder": "DESC",
"limit": 5
},
"auth": "766b71ee543230a1182ca5c44d353e36",
"id": 1
}
Antwoord:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "50003",
"host": "WebServer-Tomcat02",
"interfaces": [
{
"port": "10071"
}
]
},
{
"hostid": "50005",
"host": "WebServer-Tomcat01",
"interfaces": [
{
"port": "10071"
}
]
},
{
"hostid": "50004",
"host": "WebServer-Nginx",
"interfaces": [
{
"port": "10071"
}
]
},
{
"hostid": "99032",
"host": "MySQL server 01",
"interfaces": [
{
"port": "10050"
}
]
},
{
"hostid": "99061",
"host": "Linux server 01",
"interfaces": [
{
"port": "10050"
}
]
}
],
"id": 1
}
Als u de parameter "preservekeys" toevoegt aan het vorige verzoek, wordt de resultaat wordt geretourneerd als een associatieve array, waarbij de sleutels de id zijn van de objecten.
Verzoek:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid", "host"],
"selectInterfaces": ["port"],
"filter": {
"port": ["10050", "10071"]
},
"search": {
"host": "*server*"
},
"searchWildcardsEnabled": true,
"searchByAny": true,
"sortfield": "host",
"sortorder": "DESC",
"limit": 5,
"preservekeys": true
},
"auth": "766b71ee543230a1182ca5c44d353e36",
"id": 1
}
Antwoord:
{
"jsonrpc": "2.0",
"result": {
"50003": {
"hostid": "50003",
"host": "WebServer-Tomcat02",
"interfaces": [
{
"port": "10071"
}
]
},
"50005": {
"hostid": "50005",
"host": "WebServer-Tomcat01",
"interfaces": [
{
"port": "10071"
}
]
},
"50004": {
"hostid": "50004",
"host": "WebServer-Nginx",
"interfaces": [
{
"port": "10071"
}
]
},
"99032": {
"hostid": "99032",
"host": "MySQL server 01",
"interfaces": [
{
"port": "10050"
}
]
},
"99061": {
"hostid": "99061",
"host": "Linux server 01",
"interfaces": [
{
"port": "10050"
}
]
}
},
"id": 1
}