4 Funzioni della cronologia
Tutte le funzioni elencate qui sono supportate in:
Le funzioni sono elencate senza informazioni aggiuntive. Fare clic sulla funzione per visualizzare tutti i dettagli.
| Function | Description |
|---|---|
| change | L'entità della differenza tra il valore precedente e l'ultimo valore. |
| changecount | Il numero di modifiche tra valori adiacenti nel periodo di valutazione definito. |
| count | Il numero di valori nel periodo di valutazione definito. |
| countunique | Il numero di valori univoci nel periodo di valutazione definito. |
| find | Trova una corrispondenza di valore nel periodo di valutazione definito. |
| first | Il primo valore (il più vecchio) nel periodo di valutazione definito. |
| firstclock | Il timestamp del primo valore (il più vecchio) nel periodo di valutazione definito. |
| fuzzytime | Verifica di quanto l'ora dell'agent passivo differisce dall'ora del server/proxy Zabbix. |
| last | Il valore più recente. |
| lastclock | Il timestamp dell'N-esimo valore più recente nel periodo di valutazione definito. |
| logeventid | Verifica se l'ID evento dell'ultima voce di log corrisponde a un'espressione regolare. |
| logseverity | La gravità del log dell'ultima voce di log. |
| logsource | Verifica se l'origine del log dell'ultima voce di log corrisponde a un'espressione regolare. |
| logtimestamp | Il timestamp del messaggio di log dell'N-esimo valore item di log più recente. |
| monodec | Verifica se si è verificata una diminuzione monotona dei valori. |
| monoinc | Verifica se si è verificato un aumento monotono dei valori. |
| nodata | Verifica l'assenza di dati ricevuti. |
| percentile | Il percentile P-esimo di un periodo, dove P (percentuale) è specificato dal terzo parametro. |
| rate | Il tasso medio al secondo dell'aumento di un contatore monotonicamente crescente nel periodo di tempo definito. |
Parametri comuni
/host/keyè un primo parametro comune obbligatorio per le funzioni che fanno riferimento alla cronologia degli item del host(sec|#num)<:time shift>è un secondo parametro comune per le funzioni che fanno riferimento alla cronologia degli item del host, dove:- sec - periodo di valutazione massimo in secondi (è possibile usare i suffissi di tempo), oppure
- #num - intervallo di valutazione massimo negli ultimi valori raccolti (se preceduto da un cancelletto)
- time shift (opzionale) consente di spostare indietro nel tempo il punto di valutazione. Vedi maggiori dettagli sulla specifica del time shift.
Dettagli della funzione
Alcune note generali sui parametri della funzione:
- I parametri della funzione sono separati da una virgola
- I parametri opzionali della funzione (o parti di parametro) sono indicati da
<> - I parametri specifici della funzione sono descritti per ciascuna funzione
- I parametri
/host/keye(sec|#num)<:time shift>non devono mai essere racchiusi tra virgolette
change(/host/key)
La quantità di differenza tra il valore precedente e l'ultimo valore.
Tipi di valore supportati: Float, Integer, String, Text, Log.
Per le stringhe restituisce: 0 - i valori sono uguali; 1 - i valori sono diversi.
Parametri: vedere parametri comuni.
Commenti:
- Verrà calcolata la differenza numerica, come mostrato in questi valori di esempio in ingresso ('valore precedente' e 'ultimo valore' = differenza):
'1' e '5' =+4
'3' e '1' =-2
'0' e '-2.5' =-2.5. - Nei trigger, è utile per rilevare picchi improvvisi (o cali), azzeramenti dei contatori, transizioni di stato numeriche.
- Vedere anche: abs per il confronto.
Esempi:
change(/host/system.uptime)<0 #la variazione di system uptime è stata negativa dall'ultimo valore (indicando un riavvio)
change(/host/system.cpu.load[all,avg1])>2 #il carico CPU (per un minuto) è aumentato di oltre 2 dall'ultimo valore
change(/host/vfs.fs.size[/,free])<-1G #lo spazio libero su disco è diminuito di oltre 1 GB tra i controlli
changecount(/host/key,(sec|#num)<:time shift>,<mode>)
Il numero di variazioni tra valori adiacenti entro il periodo di valutazione definito.
Tipi di valore supportati: Float, Integer, String, Text, Log.
Parametri:
- Vedere i parametri comuni
- mode (deve essere racchiuso tra doppi apici) - valori possibili: all - conta tutte le variazioni (predefinito); dec - conta le diminuzioni; inc - conta gli aumenti
Commenti:
- Per i tipi di valore non numerici, il parametro mode viene ignorato.
- Nei trigger, è utile per rilevare frequenti cambiamenti di stato (che indicano instabilità).
Esempi:
changecount(/host/icmpping,10m)>5 #ping status has changed more than 5 times in 10 minutes
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 #operational state of eth0 has changed more than 5 times in an hour
changecount(/host/proc.num[httpd],15m)>10 #the number of httpd processes has changed more than 10 times in 15 minutes
changecount(/host/key,#10,"inc") #the number of value increases (relative to the adjacent value) among the last 10 values
changecount(/host/key,24h,"dec") #the number of value decreases (relative to the adjacent value) for the last 24 hours until now
count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
Il numero di valori entro il periodo di valutazione definito.
Tipi di valore supportati: Float, Integer, String, Text, Log.
Parametri:
- Vedere i parametri comuni
- operator (deve essere tra virgolette doppie)
operatorsupportati:
eq - uguale (predefinito per integer, float)
ne - diverso
gt - maggiore
ge - maggiore o uguale
lt - minore
le - minore o uguale
like (predefinito per string, text, log) - corrisponde se contiene il pattern (con distinzione tra maiuscole e minuscole)
bitand - AND bit a bit
regexp - corrispondenza con distinzione tra maiuscole e minuscole dell'espressione regolare fornita inpattern
iregexp - corrispondenza senza distinzione tra maiuscole e minuscole dell'espressione regolare fornita inpattern - pattern - il pattern richiesto (gli argomenti stringa devono essere tra virgolette doppie)
Commenti:
- I valori float corrispondono con una precisione di 2.22e-16.
- like non è supportato come operator per valori integer.
- like e bitand non sono supportati come operator per valori float.
- Per i valori string, text e log sono supportati solo gli operator eq, ne, like, regexp e iregexp.
- Con bitand come operator, il quarto parametro
patternpuò essere specificato come due numeri, separati da '/': number_to_compare_with/mask. count() calcola l'"AND bit a bit" dal valore e dalla mask e confronta il risultato con number_to_compare_with. Se il risultato dell'"AND bit a bit" è uguale a number_to_compare_with, il valore viene conteggiato.
Se number_to_compare_with e mask sono uguali, è necessario specificare solo mask (senza '/'). - Con regexp o iregexp come operator, il quarto parametro
patternpuò essere un'espressione regolare ordinaria o globale (che inizia con '@'). Nel caso di espressioni regolari globali, la distinzione tra maiuscole e minuscole viene ereditata dalle impostazioni dell'espressione regolare globale. Ai fini della corrispondenza regexp, i valori float saranno sempre rappresentati con 4 cifre decimali dopo '.'. Si noti inoltre che, per numeri grandi, la differenza tra la rappresentazione decimale (memorizzata nel database) e quella binaria (utilizzata da Zabbix server) può influire sulla 4ª cifra decimale.
Esempi:
count(/host/icmpping,30m,,"0")>5 #il ping è fallito più di 5 volte in 30 minuti
count(/host/key,10m,"like","error") #il numero di valori negli ultimi 10 minuti fino ad ora che contengono 'error'
count(/host/key,10m,,12) #il numero di valori negli ultimi 10 minuti fino ad ora uguali a '12'
count(/host/key,10m,"gt",12) #il numero di valori negli ultimi 10 minuti fino ad ora maggiori di '12'
count(/host/key,#10,"gt",12) #il numero di valori entro gli ultimi 10 valori fino ad ora maggiori di '12'
count(/host/key,10m:now-1d,"gt",12) #il numero di valori tra 24 ore e 10 minuti fa e 24 ore fa da adesso che erano maggiori di '12'
count(/host/key,10m,"bitand","6/7") #il numero di valori negli ultimi 10 minuti fino ad ora che hanno '110' (in binario) nei 3 bit meno significativi
count(/host/key,10m:now-1d) #il numero di valori tra 24 ore e 10 minuti fa e 24 ore fa da adesso
countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
Il numero di valori univoci nel periodo di valutazione definito.
Tipi di valore supportati: Float, Integer, String, Text, Log.
Parametri:
- Vedere i parametri comuni
- operator (deve essere tra doppi apici).
operatorsupportati:
eq - uguale (predefinito per integer, float)
ne - diverso
gt - maggiore
ge - maggiore o uguale
lt - minore
le - minore o uguale
like (predefinito per string, text, log) - corrisponde se contiene il pattern (con distinzione tra maiuscole e minuscole)
bitand - AND bit a bit
regexp - corrispondenza con distinzione tra maiuscole e minuscole dell'espressione regolare fornita inpattern
iregexp - corrispondenza senza distinzione tra maiuscole e minuscole dell'espressione regolare fornita inpattern - pattern - il pattern richiesto (gli argomenti stringa devono essere tra doppi apici)
Commenti:
- I item float corrispondono con una precisione di 2.22e-16.
- like non è supportato come operator per valori integer.
- like e bitand non sono supportati come operator per valori float.
- Per valori string, text e log sono supportati solo gli operator eq, ne, like, regexp e iregexp.
- Con bitand come operator, il quarto parametro
patternpuò essere specificato come due numeri separati da '/': number_to_compare_with/mask. countunique() calcola l'"AND bit a bit" dal valore e dalla mask e confronta il risultato con number_to_compare_with. Se il risultato dell'"AND bit a bit" è uguale a number_to_compare_with, il valore viene conteggiato.
Se number_to_compare_with e mask sono uguali, è necessario specificare solo la mask (senza '/'). - Con regexp o iregexp come operator, il quarto parametro
patternpuò essere un'espressione regolare normale o globale (che inizia con '@'). Nel caso di espressioni regolari globali, la distinzione tra maiuscole e minuscole viene ereditata dalle impostazioni globali delle espressioni regolari. Ai fini della corrispondenza regexp, i valori float saranno sempre rappresentati con 4 cifre decimali dopo '.'. Si noti inoltre che, per numeri grandi, la differenza tra la rappresentazione decimale (memorizzata nel database) e quella binaria (utilizzata da Zabbix server) può influire sulla quarta cifra decimale.
Esempi:
countunique(/host/key,10m) #il numero di valori univoci negli ultimi 10 minuti fino ad ora
countunique(/host/key,10m,"like","error") #il numero di valori univoci negli ultimi 10 minuti fino ad ora che contengono 'error'
countunique(/host/key,10m,,12) #il numero di valori univoci negli ultimi 10 minuti fino ad ora uguali a '12'
countunique(/host/key,10m,"gt",12) #il numero di valori univoci negli ultimi 10 minuti fino ad ora maggiori di '12'
countunique(/host/key,#10,"gt",12) #il numero di valori univoci negli ultimi 10 valori fino ad ora maggiori di '12'
countunique(/host/key,10m:now-1d,"gt",12) #il numero di valori univoci tra 24 ore e 10 minuti fa e 24 ore fa rispetto ad ora che erano maggiori di '12'
countunique(/host/key,10m,"bitand","6/7") #il numero di valori univoci negli ultimi 10 minuti fino ad ora che hanno '110' (in binario) nei 3 bit meno significativi
countunique(/host/key,10m:now-1d) #il numero di valori univoci tra 24 ore e 10 minuti fa e 24 ore fa rispetto ad ora
find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
Trova una corrispondenza di valore entro il periodo di valutazione definito.
Tipi di valore supportati: Float, Integer, String, Text, Log.
Restituisce: 1 - trovato; 0 - altrimenti.
Parametri:
- Vedere i parametri comuni
- sec o #num (opzionale) - se non specificato, per impostazione predefinita viene usato il valore più recente
- operator (deve essere racchiuso tra doppi apici)
operatorsupportati:
eq - uguale (predefinito per integer, float)
ne - diverso
gt - maggiore di
ge - maggiore o uguale
lt - minore di
le - minore o uguale
like (predefinito per string, text, log) - corrisponde se contiene la stringa fornita inpattern(con distinzione tra maiuscole e minuscole)
bitand - AND bit a bit
regexp - corrispondenza con distinzione tra maiuscole e minuscole dell'espressione regolare fornita inpattern
iregexp - corrispondenza senza distinzione tra maiuscole e minuscole dell'espressione regolare fornita inpattern - pattern - il pattern richiesto (gli argomenti stringa devono essere racchiusi tra doppi apici); espressione regolare Perl Compatible Regular Expression (PCRE) se
operatorè regexp, iregexp
Commenti:
- Se viene elaborato più di un valore, viene restituito '1' se è presente almeno un valore corrispondente.
- like non è supportato come operatore per valori integer.
- like e bitand non sono supportati come operatori per valori float.
- Per i valori string, text e log sono supportati solo gli operatori eq, ne, like, regexp e iregexp.
- Con regexp o iregexp come operatore, il quarto parametro
patternpuò essere un'espressione regolare ordinaria o globale (che inizia con '@'). Nel caso di espressioni regolari globali, la distinzione tra maiuscole e minuscole viene ereditata dalle impostazioni dell'espressione regolare globale.
Esempi:
find(/host/key,10m,"like","error") #trova un valore che contiene 'error' negli ultimi 10 minuti fino ad ora
find(/host/agent.version,,"like","beta")=1 #Zabbix agent ha una versione beta, deve essere aggiornato
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #è stato rilevato un errore interno del server web
first(/host/key,sec<:time shift>)
Il primo valore (il più vecchio) entro il periodo di valutazione definito.
Tipi di valore supportati: Float, Integer, String, Text, Log.
Parametri:
- Vedere parametri comuni
Vedere anche last().
Esempio:
first(/host/key,1h) #recupera il valore più vecchio nell'ultima ora fino ad ora
firstclock(/host/key,sec<:time shift>)
Il timestamp del valore più vecchio all'interno del periodo di valutazione definito.
Tipi di valore supportati: Float, Integer, String, Text, Log.
Parametri:
- Vedere parametri comuni.
La funzione restituisce un errore se non sono stati raccolti dati nel periodo specificato.
Vedere anche lastclock().
Esempi:
firstclock(/host/key,1h) #recupera il timestamp del valore più vecchio nell'ultima ora
firstclock(/host/key,1h:now-24h) #recupera il timestamp del valore più vecchio nell'ultima ora di un giorno fa
fuzzytime(/host/key,sec)
Controlla di quanto il tempo dell'agent passivo differisce dal tempo del server/proxy Zabbix.
Tipi di valore supportati: Float, Integer.
Restituisce: 1 - la differenza tra il valore del passive item (come timestamp) e il timestamp del server/proxy Zabbix (l'orologio della raccolta del valore) è minore o uguale a sec secondi; 0 - altrimenti.
Parametri:
- Vedi parametri comuni.
Commenti:
- Solitamente utilizzata con l'item 'system.localtime' per verificare che l'ora locale sia sincronizzata con l'ora locale del server Zabbix. Nota che 'system.localtime' deve essere configurato come controllo passivo per Zabbix agent; in Zabbix agent 2 può essere configurato come controllo attivo.
- Può essere utilizzata anche con la chiave
vfs.file.time[/path/file,modify]per verificare che il file non sia stato aggiornato per molto tempo. - Questa funzione non è consigliata nelle espressioni di trigger complesse (con più item coinvolti), perché può causare risultati imprevisti (la differenza di tempo verrà misurata con la metrica più recente), ad esempio in
fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0.
Esempi:
fuzzytime(/host/system.localtime,5m)=0 #l'ora locale del client differisce dall'ora del server/proxy Zabbix di più di 5 minuti
fuzzytime(/host/system.localtime,5m)=0 and nodata(/host/system.localtime,10m)=0 #l'ora locale del client differisce dall'ora del server/proxy Zabbix di più di 5 minuti (assicurandosi al contempo che l'item non abbia smesso di riportare dati)
last(/host/key,<#num<:time shift>>)
Il valore più recente.
Tipi di valore supportati: Float, Integer, String, Text, Log.
Parametri:
- Vedere parametri comuni
- #num (opzionale) - l'N-esimo valore più recente
Commenti:
- Si noti che un periodo di tempo con cancelletto (#N) qui funziona in modo diverso rispetto a molte altre funzioni.
Ad esempio:
last(/host/key)è sempre uguale alast(/host/key,#1);last(/host/key,#3)- il terzo valore più recente (non gli ultimi tre valori). - Zabbix non garantisce l'ordine esatto dei valori se nella cronologia esistono più di due valori entro un secondo.
- Vedere anche first().
Esempi:
last(/host/key) #retrieve the last value
last(/host/key,#2) #retrieve the previous value
last(/host/key,#1)<>last(/host/key,#2) #last two values differ
lastclock(/host/key,<#num<:time shift>>)
Il timestamp dell'N-esimo valore più recente entro il periodo di valutazione definito.
Tipi di valore supportati: Float, Integer, String, Text, Log.
Parametri:
- Vedere i parametri comuni;
- #num (opzionale) - l'N-esimo valore più recente.
La funzione restituisce un errore se non sono stati raccolti dati nel periodo specificato o se non è stato raccolto alcun valore N-esimo.
Vedere anche firstclock().
Esempi:
lastclock(/host/key) #recupera il timestamp del valore più recente
lastclock(/host/key,#2) #recupera il timestamp del 2° valore più recente
now()-lastclock(/host/heartbeat.item)>300 #sono trascorsi più di 5 minuti dall'aggiornamento dell'item heartbeat
lastclock(/host/system.cpu.load[all,avg1])-lastclock(/host/system.cpu.load[all,avg1],#2)>300 #l'intervallo di aggiornamento tra gli ultimi due valori supera i 5 minuti
((now()-lastclock(/host/system.cpu.load[all,avg1])<120 and last(/host/system.cpu.load[all,avg1])>5)) #il valore della CPU è alto e il valore è recente (meno di 2 minuti)
logeventid(/host/key,<#num<:time shift>>,<pattern>)
Controlla se l'ID evento dell'ultima voce di log corrisponde a un'espressione regolare.
Tipi di valore supportati: Log.
Restituisce: 0 - non corrisponde; 1 - corrisponde.
Parametri:
- Vedi parametri comuni
- #num (opzionale) - l'N-esimo valore più recente
- pattern (opzionale) - l'espressione regolare che descrive il pattern richiesto, nello stile Perl Compatible Regular Expression (PCRE) (gli argomenti stringa devono essere racchiusi tra doppi apici)
Esempi:
logeventid(/host/eventlog[Security],,"4625")=1 #a log entry with ID matching "4625" (failed authentication) found
logeventid(/host/eventlog[System],,"6008|41")=1 #a log entry with ID matching "6008" or "41" found
logseverity(/host/key,<#num<:time shift>>)
Gravità del log dell'ultima voce di log.
Tipi di valore supportati: Log.
Restituisce: 0 - gravità predefinita; N - gravità (intero, utile per i log eventi di Windows: 1 - Informazione, 2 - Avviso, 4 - Errore, 7 - Controllo errori, 8 - Controllo riuscito, 9 - Critico, 10 - Dettagliato).
Parametri:
- Vedere i parametri comuni
- #num (opzionale) - l'N-esimo valore più recente
Zabbix ricava la gravità del log dal campo Information del log eventi di Windows.
Esempi:
logseverity(/host/log[/var/log/syslog],10m)>3 #a log entry with severity above "3" found
logseverity(/host/eventlog[System],10m)=4 #a log entry with severity equaling "Error" found
logsource(/host/key,<#num<:time shift>>,<pattern>)
Verifica se l'origine del log dell'ultima voce di log corrisponde a un'espressione regolare.
Tipi di valore supportati: Log.
Restituisce: 0 - non corrisponde; 1 - corrisponde.
Parametri:
- Vedere parametri comuni
- #num (opzionale) - l'N-esimo valore più recente
- pattern (opzionale) - l'espressione regolare che descrive il modello richiesto, nello stile Perl Compatible Regular Expression (PCRE) (gli argomenti stringa devono essere racchiusi tra doppi apici)
Normalmente utilizzato per i log eventi di Windows.
Esempi:
logsource(/host/eventlog[Application],,"MSSQLSERVER")=1 #trovata una voce di log con origine corrispondente a "MSSQLSERVER"
logsource(/host/eventlog[System],,"Service Control Manager")=1 #trovata una voce di log con origine corrispondente a "Service Control Manager"
logsource(/host/eventlog[System],,"Service Control Manager")=1 and logeventid(/host/eventlog[System],,"7031")=1 #trovata una voce di log con origine corrispondente a "Service Control Manager" e ID evento corrispondente a "7031"
logtimestamp(/host/key,<#num<:time shift>>)
Il timestamp del messaggio di log dell'N-esimo valore più recente di un item di log.
Tipi di valore supportati: Log.
Parametri:
- Vedi parametri comuni;
- #num (opzionale) - l'N-esimo valore più recente.
Commenti:
- Il calcolo dello spostamento temporale si basa sull'orario del valore dell'item, non sul timestamp del messaggio di log;
- La funzione restituisce un errore se:
- viene ricevuto un item di tipo non log;
- non sono stati raccolti dati nel periodo specificato;
- non è stato raccolto l'N-esimo valore;
- il messaggio di log non contiene un valore di timestamp.
Esempi:
logtimestamp(/host/key) #recupera il timestamp dell'ultimo messaggio di log
logtimestamp(/host/key,#2) #recupera il timestamp del 2° messaggio di log più recente
logtimestamp(/host/key,#3:now-1d) #recupera il timestamp del 3° messaggio di log più recente di un giorno fa
monodec(/host/key,(sec|#num)<:time shift>,<mode>)
Controlla se si è verificata una diminuzione monotona dei valori.
Tipi di valore supportati: Integer.
Restituisce: 1 - se tutti gli elementi nel periodo di tempo diminuiscono continuamente; 0 - altrimenti.
Parametri:
- Vedi parametri comuni
- mode (deve essere tra virgolette doppie) - weak (ogni valore è minore o uguale al precedente; predefinito) oppure strict (ogni valore è diminuito)
Esempi:
monodec(/host/system.swap.size[all,free],60s) + monodec(/host2/system.swap.size[all,free],60s) + monodec(/host3/system.swap.size[all,free],60s) #calcola in quanti host si è verificata una diminuzione della dimensione dello swap libero
monodec(/host/proc.num[nginx],10m,"strict")=1 #il numero di processi nginx è diminuito monotonamente nell'arco di 10 minuti
monoinc(/host/key,(sec|#num)<:time shift>,<mode>)
Verifica se si è verificato un aumento monotono dei valori.
Tipi di valore supportati: Integer.
Restituisce: 1 - se tutti gli elementi nel periodo di tempo aumentano continuamente; 0 - altrimenti.
Parametri:
- Vedere i parametri comuni
- mode (deve essere racchiuso tra doppi apici) - weak (ogni valore è maggiore o uguale al precedente; predefinito) oppure strict (ogni valore è aumentato)
Esempi:
monoinc(/host/system.localtime,#3,"strict")=0 #l'ora locale del sistema non è aumentata in modo costante
monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #trigger se il numero di file è rimasto invariato per 24 ore (si prevede che aumenti)
nodata(/host/key,sec,<mode>)
Verifica che non siano stati ricevuti dati.
Tipi di valore supportati: Integer, Float, Character, Text, Log.
Restituisce: 1 - se non sono stati ricevuti dati durante il periodo di tempo definito; 0 - altrimenti.
Parametri:
- Vedere i parametri comuni
- sec - il periodo non deve essere inferiore a 30 secondi perché il processo history syncer calcola questa funzione solo ogni 30 secondi;
nodata(/host/key,0)non è consentito - mode - se impostato su strict (tra doppi apici), questa funzione sarà insensibile alla disponibilità del proxy (vedere i commenti per i dettagli)
Commenti:
- i trigger 'nodata' monitorati dal proxy sono, per impostazione predefinita, sensibili alla disponibilità del proxy - se il proxy diventa non disponibile, i trigger 'nodata' non si attiveranno immediatamente dopo il ripristino della connessione, ma salteranno i dati per il periodo di ritardo.
Si noti che per i proxy passivi la soppressione viene attivata se la connessione viene ripristinata più di 15 secondi e non meno di 2 secondi dopo.
Per i proxy attivi la soppressione viene attivata se la connessione viene ripristinata più di 15 secondi dopo.
Per disattivare la sensibilità alla disponibilità del proxy, utilizzare il terzo parametro, ad esempio:
nodata(/host/key,5m,"strict"); in questo caso la funzione si attiverà non appena sarà trascorso il periodo di valutazione (cinque minuti) senza dati. - Questa funzione mostrerà un errore se, entro il periodo del 1° parametro:
- non ci sono dati e Zabbix server è stato riavviato
- non ci sono dati e la manutenzione è stata completata
- non ci sono dati e l'item è stato aggiunto o riabilitato. - Gli errori sono visualizzati nella colonna Info nella configurazione dei trigger.
- Questa funzione potrebbe non funzionare correttamente se ci sono differenze di orario tra Zabbix server, proxy e agent. Vedere anche: Requisito di sincronizzazione dell'ora.
Esempio:
nodata(/host/agent.ping,5m)=1 #trigger if no data has been received from Zabbix agent for 5 minutes
percentile(/host/key,(sec|#num)<:time shift>,percentage)
Il percentile P-esimo di un periodo, dove P (percentage) è specificato dal terzo parametro.
Tipi di valore supportati: Float, Integer.
Parametri:
- Vedere i parametri comuni
- percentage - un numero in virgola mobile compreso tra 0 e 100 (inclusi) con fino a 4 cifre dopo il separatore decimale
Esempi:
percentile(/host/net.if.in[eth0,bytes],1h,95)>1000000 #il 95° percentile dell'input di rete (byte/sec) nell'arco di 1 ora ha superato una soglia (ad esempio, 1 MB/s)
percentile(/host/system.cpu.util,5m,95)>80 #il 95° percentile della percentuale di utilizzo CPU in user-time ha superato 80
percentile(/host/icmppingsec[192.168.0.2],15m,95)>0.15 #la maggior parte delle misurazioni di latenza è inferiore a 150 ms, ma la coda superiore (top 5%) indica lag regolare
percentile(/host/net.if.in[eth0,bytes],1h,50) #calcola il 50° percentile (il valore mediano) del traffico di rete in ingresso per un'ora; questo produce un risultato diverso da avg() (la media), poiché percentile non considera i valori anomali
(percentile(/host/net.if.in[eth0,bytes],1h,50)+percentile(/host/net.if.in[eth0,bytes],1h,51))/2 #calcola il valore mediano preciso con un numero pari di valori per un'ora
rate(/host/key,sec<:time shift>)
L'aumento medio al secondo di un contatore monotonicamente crescente entro il periodo di tempo definito.
Tipi di valore supportati: Float, Integer.
Parametri:
- Vedere parametri comuni
Corrisponde funzionalmente a 'rate' di PromQL.
Esempi:
rate(/host/key,30s) #se l'aumento monotono in 30 secondi è 20, questa funzione restituisce 0.67.
rate(/host/net.if.in[eth0,bytes],5m)>500000 #la velocità del traffico in ingresso dell'interfaccia su eth0 ha superato 500 KB/s negli ultimi 5 minuti
rate(/host/app.requests.count,1m)>100 #il contatore delle richieste è aumentato di oltre 100 richieste al secondo nell'ultimo minuto
Vedere tutte le funzioni supportate.