De Zabbix API ondersteunt de volgende gegevenstypen als invoer:
Type | Beschrijving |
---|---|
boolean | Een booleaanse waarde, accepteert true of false . |
flag | De waarde wordt als true beschouwd als deze wordt doorgegeven en anders niet gelijk aan null en false . |
integer | Een geheel getal. |
float | Een getal met drijvende komma. |
string | Een tekststring. |
text | Een langere tekenreeks. |
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 eigenschaps namen om alleen specifieke eigenschappen te retourneren, of als een van de vooraf gedefinieerde waarden: extend - geeft alle objecteigenschappen terug;count - retourneert het aantal opgehaalde records, alleen ondersteund door bepaalde sub selects. |
Zabbix API retourneert altijd waarden als tekenreeksen 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 | Beschrijving |
---|---|---|
countOutput | boolean | Retourneert het aantal records in het resultaat in plaats van de werkelijke gegevens. |
editable | boolean | Indien ingesteld op true , worden alleen objecten geretourneerd 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 die resultaten die exact overeenkomen met het opgegeven filter. Accepteert een array, waarbij de sleutels eigenschaps namen zijn en de waarden een enkele waarde zijn of een array van waarden om mee te vergelijken. Werkt niet voor tekst -velden. |
limit | integer | Beperk het aantal geretourneerde records. |
output | query | Te retourneren objecteigenschappen. Standaard: extend . |
preservekeys | boolean | Gebruik ID's als sleutels in de resulterende array. |
search | object | Retourneert resultaten die overeenkomen met de opgegeven zoekopdracht met joker tekens (niet hoofdlettergevoelig). Accepteert een array, waarbij de sleutels eigenschapnamen zijn en de waarden tekenreeksen zijn waarnaar moet worden gezocht. Als er geen extra opties worden gegeven, zal dit een LIKE "%…%" zoekactie uitvoeren.Werkt alleen voor string en text velden. |
searchByAny | boolean | Indien ingesteld op true , worden resultaten geretourneerd die overeenkomen met een van de criteria die zijn opgegeven in de parameter filter of search in plaats van allemaal.Standaard: false . |
searchWildcardsEnabled | boolean | Indien ingesteld op true , wordt het gebruik van "*" als joker teken in de parameter search ingeschakeld.Standaard: false . |
sortfield | string/array | Sorteer het resultaat op de gegeven eigenschappen. Raadpleeg een specifieke API get-methode beschrijving voor een lijst met eigenschappen die kunnen worden gebruikt om te sorteren. Macro's worden niet uitgevouwen voordat ze worden gesorteerd. Als er geen waarde is opgegeven, worden de gegevens ongesorteerd geretourneerd. |
sortorder | string/array | Orde van sorteren. Als een array wordt doorgegeven, wordt elke waarde gekoppeld aan de overeenkomstige eigenschap die is opgegeven in de parameter sortfield .Mogelijke waarden zijn: ASC - (standaard) oplopend;DESC - aflopend. |
startSearch | boolean | De search parameter vergelijkt het begin van velden, dat wil zeggen, voer in plaats daarvan een LIKE "…%" zoekopdracht uit.Negeert 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
}