This is a translation of the original English documentation page. Help us make it better.

Appendice 1. Commento di riferimento

Notazione

Tipi di dati

L'API Zabbix 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 Zabbix 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:

  • sola lettura - il valore della proprietà viene impostato automaticamente e non può essere definito o modificato dal cliente;
  • costante - il valore della proprietà può essere impostato durante la creazione di un oggetto, ma non può essere modificato dopo.

Parameter behavior

Some of the operation parameters are marked with short labels to describe their behavior for the operation. The following labels are used:

  • read-only - the value of the parameter is set automatically and cannot be defined or changed by the user, even in some specific conditions (e.g., read-only for inherited objects or discovered objects);
  • write-only - the value of the parameter can be set, but cannot be accessed after;
  • supported - the value of the parameter is not required to be set, but is allowed to be set in some specific conditions (e.g., supported if status of Proxy object is set to "passive proxy");
  • required - the value of the parameter is required to be set.

Parameters that are not marked with labels are optional.

Valore ID riservato "0"

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").

Parametri comuni del metodo "get".

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. |

Esempi

Controllo autorizzazione utente

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:

{
           "jsonrpc": "2.0",
           "risultato": "0",
           "id": 1
       }

Risultato zero significa nessun host con lettura/scrittura permessi.

Conteggio non corrispondente

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:

{
           "jsonrpc": "2.0",
           "risultato": "44",
           "id": 1
       }

Ricerca di host tramite caratteri jolly

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
       }

Ricerca di host utilizzando caratteri jolly con "preservekeys"

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
       }