2 Intervalli personalizzati

Panoramica

È possibile creare regole personalizzate relative agli orari in cui un item viene controllato. I due metodi per farlo sono gli Intervalli flessibili, che consentono di ridefinire l'intervallo di aggiornamento predefinito, e la Pianificazione, tramite la quale il controllo di un item può essere eseguito in un momento specifico o in una sequenza di momenti specifici.

Intervalli flessibili

Gli intervalli flessibili consentono di ridefinire l'intervallo di aggiornamento predefinito per specifici periodi di tempo. Un intervallo flessibile è definito con Intervallo e Periodo, dove:

  • Intervallo – l'intervallo di aggiornamento per il periodo di tempo specificato. Sono supportati i suffissi di tempo, ad esempio 30s, 1m, 2h, 1d.
  • Periodo – il periodo di tempo in cui l'intervallo flessibile è attivo (vedere i periodi di tempo per una descrizione dettagliata del formato di Periodo)

Se più intervalli flessibili si sovrappongono, per il periodo di sovrapposizione viene utilizzato il valore di Intervallo più piccolo. Si noti che se il valore più piccolo degli intervalli flessibili sovrapposti è '0', non verrà eseguito alcun polling. Al di fuori degli intervalli flessibili viene utilizzato l'intervallo di aggiornamento predefinito.

Si noti che se l'intervallo flessibile è uguale alla durata del periodo, l'item verrà controllato esattamente una volta. Se l'intervallo flessibile è maggiore del periodo, l'item potrebbe essere controllato una volta oppure potrebbe non essere controllato affatto (pertanto tale configurazione non è consigliata). Se l'intervallo flessibile è inferiore al periodo, l'item verrà controllato almeno una volta.

Se l'intervallo flessibile è impostato su '0', l'item non viene sottoposto a polling durante il periodo dell'intervallo flessibile e riprende il polling in base all'Intervallo di aggiornamento predefinito una volta terminato il periodo. Esempi:

Interval Period Description
10 1-5,09:00-18:00 L'item verrà controllato ogni 10 secondi durante l'orario di lavoro.
0 1-7,00:00-7:00 L'item non verrà controllato durante la notte.
0 7-7,00:00-24:00 L'item non verrà controllato la domenica.
60 1-7,12:00-12:01 L'item verrà controllato alle 12:00 ogni giorno. Si noti che questo veniva utilizzato come soluzione alternativa per i controlli pianificati ed è consigliato utilizzare gli intervalli di pianificazione per tali controlli.

Intervalli di pianificazione

Gli intervalli di pianificazione vengono utilizzati per controllare gli item in momenti specifici. Mentre gli intervalli flessibili sono progettati per ridefinire l'intervallo predefinito di aggiornamento dell'item, gli intervalli di pianificazione vengono utilizzati per specificare una pianificazione di controllo indipendente, eseguita in parallelo.

Un intervallo di pianificazione è definito come: md<filter>wd<filter>h<filter>m<filter>s<filter> dove:

  • md - giorni del mese
  • wd - giorni della settimana
  • h - ore
  • m - minuti
  • s – secondi

<filter> viene utilizzato per specificare i valori per il relativo prefisso (giorni, ore, minuti, secondi) ed è definito come: [<from>[-<to>]][/<step>][,<filter>] dove:

  • <from> e <to> definiscono l'intervallo dei valori corrispondenti (inclusi). Se <to> viene omesso, il filtro corrisponde a un intervallo <from> - <from>. Se anche <from> viene omesso, il filtro corrisponde a tutti i valori possibili.
  • <step> definisce i salti del valore numerico all'interno dell'intervallo. Per impostazione predefinita <step> ha valore 1, il che significa che tutti i valori dell'intervallo definito corrispondono.

Sebbene le definizioni dei filtri siano facoltative, deve essere utilizzato almeno un filtro. Un filtro deve avere un intervallo oppure il valore <step> definito.

Un filtro vuoto corrisponde a '0' se non è definito alcun filtro di livello inferiore, oppure a tutti i valori possibili negli altri casi. Ad esempio, se il filtro delle ore viene omesso, corrisponderà solo l'ora '0', a condizione che anche i filtri dei minuti e dei secondi siano omessi; altrimenti, un filtro delle ore vuoto corrisponderà a tutti i valori delle ore.

I valori validi di <from> e <to> per il rispettivo prefisso del filtro sono:

Prefix Description <from> <to>
md Giorni del mese 1-31 1-31
wd Giorni della settimana 1-7 1-7
h Ore 0-23 0-23
m Minuti 0-59 0-59
s Secondi 0-59 0-59

Il valore <from> deve essere minore o uguale al valore <to>. Il valore <step> deve essere maggiore o uguale a 1 e minore o uguale a <to> - <from>.

I valori a una sola cifra per giorni del mese, ore, minuti e secondi possono essere preceduti da 0. Ad esempio, md01-31 e h/02 sono intervalli validi, ma md01-031 e wd01-07 non lo sono.

In Zabbix frontend, più intervalli di pianificazione vengono inseriti in righe separate. Nella API di Zabbix, vengono concatenati in una singola stringa con un punto e virgola ; come separatore.

Se un orario corrisponde a più intervalli, viene eseguito una sola volta. Ad esempio, wd1h9;h9 verrà eseguito una sola volta il lunedì alle 9:00.

Esempi:

Interval Will be executed
m0-59 ogni minuto
h9-17/2 ogni 2 ore a partire dalle 9:00 (9:00, 11:00 ...)
m0,30 or m/30 ogni ora alle hh:00 e hh:30
m0,5,10,15,20,25,30,35,40,45,50,55 or m/5 ogni cinque minuti
wd1-5h9 ogni lunedì-venerdì alle 9:00
wd1-5h9-18 ogni lunedì-venerdì alle 9:00,10:00,...,18:00
h9,10,11 or h9-11 ogni giorno alle 9:00, 10:00 e 11:00
md1h9m30 ogni 1° giorno di ogni mese alle 9:30
md1wd1h9m30 ogni 1° giorno di ogni mese alle 9:30 se è lunedì
h9m/30 ogni giorno alle 9:00, 9:30
h9m0-59/30 ogni giorno alle 9:00, 9:30
h9,10m/30 ogni giorno alle 9:00, 9:30, 10:00, 10:30
h9-10m30 ogni giorno alle 9:30, 10:30
h9m10-40/30 ogni giorno alle 9:10, 9:40
h9,10m10-40/30 ogni giorno alle 9:10, 9:40, 10:10, 10:40
h9-10m10-40/30 ogni giorno alle 9:10, 9:40, 10:10, 10:40
h9m10-40 ogni giorno alle 9:10, 9:11, 9:12, ... 9:40
h9m10-40/1 ogni giorno alle 9:10, 9:11, 9:12, ... 9:40
h9-12,15 ogni giorno alle 9:00, 10:00, 11:00, 12:00, 15:00
h9-12,15m0 ogni giorno alle 9:00, 10:00, 11:00, 12:00, 15:00
h9-12,15m0s30 ogni giorno alle 9:00:30, 10:00:30, 11:00:30, 12:00:30, 15:00:30
h9-12s30 ogni giorno alle 9:00:30, 9:01:30, 9:02:30 ... 12:58:30, 12:59:30
h9m/30;h10 (sintassi specifica API) ogni giorno alle 9:00, 9:30, 10:00
h9m/30
h10 (aggiungere questa come un'altra riga nel frontend)
ogni giorno alle 9:00, 9:30, 10:00
Allineamento dei fusi orari per proxy e agent

Si noti che i proxy e gli agent di Zabbix utilizzano i rispettivi fusi orari locali durante l'elaborazione degli intervalli di pianificazione.

Per questo motivo, quando gli intervalli di pianificazione vengono applicati agli item monitorati da Zabbix proxy o agli item attivi dell'agent, si consiglia di impostare il fuso orario dei rispettivi proxy o agent uguale a quello del server Zabbix; in caso contrario, la queue potrebbe segnalare in modo errato i ritardi degli item.

Il fuso orario per Zabbix proxy o agent può essere impostato utilizzando la variabile d'ambiente TZ nel file unit di systemd:

[Service]
...
Environment="TZ=Europe/Amsterdam"