14 item calcolato
Panoramica
Un item calcolato consente di creare un calcolo basato sui valori di alcuni item esistenti. Ad esempio, è possibile calcolare la media oraria del valore di un item oppure il valore totale per un gruppo di item. Questo è lo scopo di un item calcolato.
I calcoli possono utilizzare:
- singoli valori di singoli item
- un filtro complesso per selezionare più item da aggregare (vedere calcoli aggregati per ulteriori informazioni)
Gli item calcolati consentono di creare origini dati virtuali. Tutti i calcoli vengono eseguiti esclusivamente dal server Zabbix. I valori vengono calcolati periodicamente in base all'espressione aritmetica utilizzata.
I dati risultanti vengono memorizzati nel database Zabbix come per qualsiasi altro item; vengono memorizzati sia i valori della cronologia sia quelli dei trend e possono essere generati grafici.
Se il risultato del calcolo è un valore float, verrà troncato a un intero se il tipo di informazione dell'item calcolato è Numerico (senza segno).
Inoltre, se non sono presenti dati recenti nella cache e nella funzione non è definito alcun periodo di interrogazione, Zabbix, per impostazione predefinita, risalirà fino a una settimana nel passato per interrogare il database alla ricerca di valori storici.
Gli item calcolati condividono la sintassi con le espressioni dei trigger. Negli item calcolati è consentito il confronto con stringhe. Gli item calcolati possono essere referenziati da macro o da altre entità, come qualsiasi altro tipo di item.
Per utilizzare gli item calcolati, scegliere il tipo di item Calcolato.
Campi configurabili
La key è un identificatore univoco dell'item (per host). È possibile creare qualsiasi nome di key usando i simboli supportati.
La definizione del calcolo deve essere inserita nel campo Formula. Non esiste alcuna connessione tra la formula e la key. I parametri della key non vengono utilizzati in alcun modo nella formula.
La sintassi di una formula semplice è:
function(/host/key,<parameter1>,<parameter2>,...)
dove:
| function | Una delle funzioni supportate: last, min, max, avg, count, ecc. |
| host | Host dell'item utilizzato per il calcolo. L'host corrente può essere omesso (ad esempio, come in function(//key,parameter,...)). |
| key | Key dell'item utilizzato per il calcolo. Gli item che restituiscono valori con il tipo di dati binario non sono supportati. |
| parameter(s) | Parametri della funzione, se richiesti. Sono supportati i suffissi di tempo e i suffissi di dimensione della memoria. |
Le macro utente nella formula verranno espanse se utilizzate per fare riferimento a un parametro di funzione, a un parametro di filtro dell'item o a una costante. Le macro utente NON verranno espanse se fanno riferimento a una funzione, al nome dell'host, alla key dell'item, al parametro della key dell'item o all'operatore.
Una formula più complessa può usare una combinazione di funzioni, operatori e parentesi. È possibile usare tutte le funzioni e gli operatori supportati nelle espressioni dei trigger. La logica e la precedenza degli operatori sono esattamente le stesse.
A differenza delle espressioni dei trigger, Zabbix elabora gli item calcolati in base all'intervallo di aggiornamento dell'item, non al ricevimento di un nuovo valore.
Tutti gli item a cui si fa riferimento tramite funzioni di history nella formula dell'item calcolato devono esistere e raccogliere dati. Inoltre, se si modifica la key di un item a cui si fa riferimento, è necessario aggiornare manualmente tutte le formule che usano quella key.
Un item calcolato può diventare non supportato in diversi casi:
- item a cui si fa riferimento
- non viene trovato
- è disabilitato
- appartiene a un host disabilitato
- non è supportato (tranne con la funzione nodata() e gli operatori con valori sconosciuti)
- nessun dato per calcolare una funzione
- divisione per zero
- sintassi errata utilizzata
Esempi di utilizzo
Esempio 1
Calcolo della percentuale di spazio libero su disco in '/'.
Uso della funzione last:
100*last(//vfs.fs.size[/,free])/last(//vfs.fs.size[/,total])
Zabbix prenderà gli ultimi valori per lo spazio libero e totale su disco e calcolerà la percentuale in base alla formula fornita.
Esempio 2
Calcolo della media su 10 minuti del numero di valori elaborati da Zabbix.
Uso della funzione avg:
avg(/Zabbix Server/zabbix[wcache,values],10m)
Si noti che un uso estensivo degli item calcolati con periodi di tempo lunghi può influire sulle prestazioni del server Zabbix.
Esempio 3
Calcolo della larghezza di banda totale su eth0.
Somma di due funzioni:
last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes])
Esempio 4
Calcolo della percentuale del traffico in ingresso.
Espressione più complessa:
100*last(//net.if.in[eth0,bytes])/(last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes]))
Vedi anche: Esempi di calcoli aggregati