L'API Áú»¢¶Ä²© supporta i seguenti tipi di dati come input:
|Tipo|Descrizione| |---------|-------------------------- -----------| |boolean|Un valore booleano, accetta true
o false
.| |flag|Il valore ¨¨ considerato true
se viene passato e non uguale a null
e false
in caso contrario.| |intero|Un numero intero.| |float|Un numero in virgola mobile.| |stringa|Una stringa di testo.| |testo|Una stringa di testo pi¨´ lunga.| |timestamp|Un timestamp Unix.| |array|Una sequenza ordinata di valori, ovvero un semplice array.| |oggetto|Un array associativo.| |query|Un valore che definisce quali dati devono essere restituiti.
Pu¨° essere definito come un array di nomi di propriet¨¤ per restituire solo propriet¨¤ specifiche o come uno dei valori predefiniti:extend
- restituisce tutte le propriet¨¤ dell'oggetto;count
- restituisce il numero di record recuperati, supportato solo da alcune sottoselezioni.|
::: nota importante L'API Áú»¢¶Ä²© restituisce sempre valori come stringhe o solo array. :::
####Etichette delle propriet¨¤
Alcune delle propriet¨¤ degli oggetti sono contrassegnate da brevi etichette per descrivere il loro comportamento. Vengono utilizzate le seguenti etichette:
Il valore ID riservato "0" pu¨° essere utilizzato per filtrare gli elementi e rimuoverli oggetti di riferimento. Ad esempio, per rimuovere un proxy referenziato da a host, proxy_hostid deve essere impostato su 0 ("proxy_hostid": "0") o su filtro host monitorati da proxyid opzione server deve essere impostato su 0 ("proxyids": "0").
I seguenti parametri sono supportati da tutti i metodi get
:
|Parametro|Tipo|Descrizione| |---------|------|-------------------------------- -------------------| |countOutput|boolean|Restituisce il numero di record nel risultato invece dei dati effettivi.| |editable|boolean|Se impostato su true
restituisce solo gli oggetti per i quali l'utente ha i permessi di scrittura.
Predefinito: false
.| |excludeSearch|boolean|Restituisce risultati che non corrispondono ai criteri forniti nel parametro search
.| |filter|object|Restituisce solo i risultati che corrispondono esattamente al filtro specificato.
Accetta una matrice, in cui le chiavi sono nomi di propriet¨¤ e i valori sono un singolo valore o una matrice di valori con cui confrontare.
Non funziona per i campi testo
.| |limit|intero|Limita il numero di record restituiti.| |output|query|Propriet¨¤ dell'oggetto da restituire.
Predefinito: extend
.| |preservekeys|boolean|Utilizza gli ID come chiavi nell'array risultante.| |search|object|Restituisce risultati che corrispondono alla ricerca con caratteri jolly specificata (senza distinzione tra maiuscole e minuscole).
Accetta una matrice, in cui le chiavi sono nomi di propriet¨¤ e i valori sono stringhe da cercare. Se non vengono fornite opzioni aggiuntive, verr¨¤ eseguita una ricerca LIKE "%¡%"
.
Funziona solo per i campi string
e text
.| |searchByAny|boolean|Se impostato su true
restituisce risultati che corrispondono a uno qualsiasi dei criteri forniti nel parametro filter
o search
invece di tutti.
Predefinito: false
.| |searchWildcardsEnabled|boolean|Se impostato su true
abilita l'uso di "*" come carattere jolly nel parametro search
.
Predefinito: false
.| |sortfield|string/array|Ordina il risultato in base alle propriet¨¤ date. Fare riferimento a una descrizione del metodo get API specifica per un elenco di propriet¨¤ che possono essere utilizzate per l'ordinamento. Le macro non vengono espanse prima dell'ordinamento.
Se non viene specificato alcun valore, i dati verranno restituiti non ordinati.| |sortorder|stringa/array|Ordine di ordinamento. Se viene passato un array, ogni valore verr¨¤ abbinato alla propriet¨¤ corrispondente fornita nel parametro sortfield
.
I valori possibili sono:ASC
- (default) ascendente;
DESC
- discendente.| |startSearch|boolean|Il parametro search
confronter¨¤ l'inizio dei campi, ovvero eseguir¨¤ invece una ricerca LIKE "¡%"
.
Ignorato se searchWildcardsEnabled
¨¨ impostato su true
. |
L'utente dispone dell'autorizzazione per scrivere agli host i cui nomi iniziano con "MySQL" o "Linux"?
Richiesta:
{
"jsonrpc": "2.0",
"metodo": "host.get",
"parametri": {
"countOutput": vero,
"ricerca": {
"host": ["MySQL", "Linux"]
},
"modificabile": vero,
"startSearch": vero,
"searchByAny": vero
},
"auth": "766b71ee543230a1182ca5c44d353e36",
"id": 1
}
Risposta:
Risultato zero significa nessun host con lettura/scrittura permessi.
Conta il numero di host i cui nomi non contengono la sottostringa "ubuntu"
Richiesta:
{
"jsonrpc": "2.0",
"metodo": "host.get",
"parametri": {
"countOutput": vero,
"ricerca": {
"ospite": "ubuntu"
},
"excludeSearch": vero
},
"auth": "766b71ee543230a1182ca5c44d353e36",
"id": 1
}
Risposta:
Trova host il cui nome contiene la parola "server" e dispongono di porte di interfaccia "10050" o "10071". Ordina il risultato per nome host in ordine decrescente e limitalo a 5 host.
Richiesta:
{
"jsonrpc": "2.0",
"metodo": "host.get",
"parametri": {
"output": ["hostid", "host"],
"selectInterfaces": ["porta"],
"filtro": {
"porta": ["10050", "10071"]
},
"ricerca": {
"host": "*server*"
},
"searchWildcardsEnabled": vero,
"searchByAny": vero,
"sortfield": "host",
"sortorder": "DESC",
"limite": 5
},
"auth": "766b71ee543230a1182ca5c44d353e36",
"id": 1
}
Risposta:
{
"jsonrpc": "2.0",
"risultato": [
{
"hostid": "50003",
"host": "WebServer-Tomcat02",
"interfacce": [
{
"porta": "10071"
}
]
},
{
"hostid": "50005",
"host": "WebServer-Tomcat01",
"interfacce": [
{
"porta": "10071"
}
]
},
{
"hostid": "50004",
"host": "WebServer-Nginx",
"interfacce": [
{
"porta": "10071"
}
]
},
{
"hostid": "99032",
"host": "Server MySQL 01",
"interfacce": [
{
"porta": "10050"
}
]
},
{
"hostid": "99061",
"host": "server Linux 01",
"interfacce": [
{
"porta": "10050"
}
]
}
],
"id": 1
}
Se si aggiunge il parametro "preservekeys" alla richiesta precedente, il il risultato viene restituito come un array associativo, in cui le chiavi sono l'id di gli oggetti.
Richiesta:
{
"jsonrpc": "2.0",
"metodo": "host.get",
"parametri": {
"output": ["hostid", "host"],
"selectInterfaces": ["porta"],
"filtro": {
"porta": ["10050", "10071"]
},
"ricerca": {
"host": "*server*"
},
"searchWildcardsEnabled": vero,
"searchByAny": vero,
"sortfield": "host",
"sortorder": "DESC",
"limite": 5,
"preservekeys": vero
},
"auth": "766b71ee543230a1182ca5c44d353e36",
"id": 1
}
Risposta:
{
"jsonrpc": "2.0",
"risultato": {
"50003": {
"hostid": "50003",
"host": "WebServer-Tomcat02",
"interfacce": [
{
"porta": "10071"
}
]
},
"50005": {
"hostid": "50005",
"host": "WebServer-Tomcat01",
"interfacce": [
{
"porta": "10071"
}
]
},
"50004": {
"hostid": "50004",
"host": "WebServer-Nginx",
"interfacce": [
{
"porta": "10071"
}
]
},
"99032": {
"hostid": "99032",
"host": "Server MySQL 01",
"interfacce": [
{
"porta": "10050"
}
]
},
"99061": {
"hostid": "99061",
"host": "server Linux 01",
"interfacce": [
{
"porta": "10050"
}
]
}
},
"id": 1
}