Schema di soglia

La regola di soglia viene definita dallo schema di soglia. Essa raccoglie un gruppo di eventi selezionati in un intervallo di tempo e determina, dopo che è stato ricevuto ogni evento, se viene soddisfatta una condizione di soglia. Essa è una regola stateful.

Panoramica

Lo schema di soglia raccoglie gli eventi in un certo periodo di tempo fino a che non viene soddisfatto un valore di soglia. Il periodo è indicato da una finestra definita dall'elemento <timeWindow> nella lingua della regola.

Lo schema di soglia fornisce le seguenti tre opzioni per un tipo di soglia:
soglia di conteggio eventi
Con questo tipo di soglia, è possibile definire il numero di eventi che devono rispondere ai criteri di selezione eventi in un certo periodo di tempo. Il valore di soglia definito viene confrontato con il numero degli eventi accettati. Quando il conteggio degli eventi è uguale al limite definito all'interno della finestra di tempo, la soglia viene soddisfatta.

Questo tipo di soglia può essere utile per un controllo molto semplice del conteggio eventi. Ad esempio, esso risponde alla domanda: "Impostare 5 eventi di errore di collegamento in un minuto?"

Questa soglia viene definita dall'elemento <eventCountThreshold>. L'elemento <eventCountThreshold> specifica anche uno dei seguenti due possibili modi di intervallo di tempo per la finestra di tempo:
intervallo fisso
Un intervallo fisso inizia quando viene ricevuto il primo evento che risponde ai criteri di selezione evento e termina quando si verifica una delle condizioni di seguito riportate.
  • La regola raggiunge la soglia nella durata di tempo specificata.
  • La durata di tempo specificata è trascorsa.
intervallo di scorrimento
Un intervallo scorrevole inizia quando viene ricevuto il primo evento che risponde ai criteri di selezione evento. Tuttavia quando la regola non raggiunge la soglia e la durata specificata è trascorsa, la finestra di tempo regola l'ora di inizio sull'ora di ricezione evento per un nuovo "primo" evento che è in genere l'evento successivo che viene accettato. L'intervallo scorrevole continua a regolarsi in questo modo fino a che non si verifica una delle seguenti condizioni:
  • La regola raggiunge la soglia nella durata di tempo specificata.
  • Dopo che viene ricevuto l'evento che avvia la finestra di tempo, non vengono ricevuti eventi susseguenti all'interno della durata di tempo specificata.
L'evento che apre la finestra di tempo (diventa il nuovo "primo" evento) è l'evento con un'ora di ricezione che risponde a questi criteri: l'ora di ricezione, aggiunta alla durata dell'intervallo di tempo, è successiva all'ora corrente. Di seguito sono riportati i criteri nel formato di un'equazione:
ora di ricezione evento + durata di intervallo
di tempo per la regola > ora corrente
Quando non è presente alcun evento di questo tipo, l'intervallo scorrevole non è in grado di regolare l'ora in alcun modo e l'intervallo termina.
soglia calcolata
Con questo tipo di soglia, è possibile scrivere il codice (o utilizzare il codice scritto da qualcun altro) che esegue un calcolo su ogni evento accettato e restituisce un valore di soglia calcolata che viene mantenuto in una variabile definita in precedenza. Questo valore di soglia calcolato viene poi confrontato con un valore di soglia definito per determinare se la soglia viene soddisfatta.

Di conseguenza, è possibile applicare un calcolo complesso per creare (o aggiornare) un valore di soglia calcolato, utilizzando possibilmente i dati salvati da eventi precedenti. Inoltre, il programma di scrittura eventi può impostare il valore di soglia definito indipendentemente dalla logica che calcola il valore di soglia elaborato.

Questo tipo di soglia può essere utile per l'aggregazione e il confronto di un valore con un valore di soglia definito. Ad esempio, può essere utilizzato per calcolare la somma dell'importo delle vendite ad un certo cliente in un dato periodo di tempo e per confrontare questa somma con un valore di soglia definito.

Questa soglia viene definita dall'elemento <computedThreshold>.

soglia booleana
Con questo tipo di soglia, è possibile scrivere il codice (o utilizzare il codice scritto da qualcun altro) che restituisce un valore true o false per ogni evento accettato. Se il valore è true la soglia è stata rispettata. Se il valore è false, la regola di soglia continua l'elaborazione fino a che il periodo non termina o finché non viene accettato un altro evento.

Questo tipo di soglia può essere utile per un controllo di una serie di valori. Ad esempio se l'uso CPU deve essere tra 30% e 80% sempre, questa soglia può verificare costantemente che l'uso rimanga all'interno di quell'intervallo.

Questa soglia viene definita dall'elemento <booleanThreshold>.

Condizioni in cui viene eseguita la risposta della regola

Con lo schema di soglia, la risposta di regola viene eseguita nei seguenti momenti:
  • Quando la soglia viene rispettata, come definito dall'elemento <onDetection>.
  • Quando vengono accettati uno o più eventi ma la soglia non viene rispettata nella finestra di tempo, come definito dall'elemento <onTimeOut>.

Esempio d'uso di questo schema di regola

Un esempio d'uso di uno schema di soglia è una regola che funziona in questo modo:
Se vengono originati 4 eventi di server non raggiungibile dalla stessa sottorete all'interno di un intervallo di tempo di scorrimento di 30 secondi, la regola esegue un'azione per controllare lo stato di un router.
Riferimenti correlati
Riepilogo della regola di soglia (Threshold)