Ehi, sta succedendo qualcosa ...

Lo stato di cose attuale

Quindi sei arrivato così lontano nella serie, bello. Hai il tuo cluster Elasticsearch, i tuoi beat che inviano dati e hai configurato Kibana con graziose dashboard. Va tutto bene, ma è un sabato sera e un cattivo aggiornamento del sistema ha fatto crollare uno dei tuoi nodi e gli altri due gestiscono a malapena il carico.

Prima alcuni retroscena

ODFE viene fornito con il plug-in di avviso preinstallato. Questo ci consente di impostare avvisi quando vengono soddisfatte determinate condizioni.

Esistono tre modi per impostare gli avvisi in ODFE: grafici visivi, query di estrazione e rilevatore di anomalie.

Il primo è abbastanza autoesplicativo, quindi ci concentreremo sulle query di estrazione. Il rilevatore di anomalie è un argomento interessante ma fuori dagli scopi di questa serie.

Gli avvisi hanno tre sezioni importanti: monitoraggi, trigger e azioni. Un monitor è una query che viene eseguita ogni un determinato periodo di tempo, ogni monitor ha un numero di trigger. Un trigger è una condizione che viene valutata in base alla risposta della query di estrazione del monitor. Quando una condizione di trigger restituisce true, verrà eseguita una serie di azioni.

In parole povere:

  • Monitor: quante email non lette ho?
  • Trigger: e-mail> 5
  • Azione: invia un messaggio slack

Prima di iniziare, dobbiamo impostare una destinazione per le notifiche. Nella sezione Altre informazioni utili troverai un collegamento per aggiungere un'app Webhook in arrivo a Slack. Prendi nota dell'URL del webhook.

Vai alla sezione Avvisi, vai alla scheda Destinazioni e clicca su "Aggiungi destinazione". Dagli un nome, seleziona "Slack" come tipo e incolla l'URL del tuo webhook lì.

ODFE ha recentemente rilasciato notifiche e-mail e supporta anche webook personalizzati per altre app di messaggistica come i team.

Al termine, fare clic su "Crea".

Configurazione di un monitor

Per iniziare con gli avvisi abbiamo bisogno di una query. Una query Elastcsearch di base ha un aspetto simile a questo:

Media dell'utilizzo della memoria negli ultimi 5 minuti

Fortunatamente, non è necessario scrivere tutto questo per ogni query. La sezione di visualizzazione è fondamentalmente un editor di query visuale.

Poiché quello che vogliamo è un numero semplice, possiamo usare la visualizzazione metrica. Cambia l'aggregazione in "media", seleziona "system.memory.actual.used.pct" come campo, fai clic su Aggiorna e il gioco è fatto.

Ora dobbiamo ottenere la query. Vicino al pulsante "Salva", ci sarà un pulsante "ispeziona". Fare clic e modificare l'opzione in alto a destra con il nome "Visualizza: Dati" in "Visualizza: Richieste" facendo clic su di essa e selezionando l'opzione dal menu a discesa. Kibana ti mostrerà tre schede: Statistiche (molto utili per misurare le prestazioni delle query), Richiesta e Risposta. Fare clic su Richiedi e quindi sull'icona di copia nella sezione in alto a destra della scheda della richiesta.

Vai avanti e incolla quella query nel tuo editor di codice preferito.

Ora possiamo procedere con la creazione di un avviso. Vai alla sezione Avvisi e fai clic sulla scheda Monitor. Fare clic su crea monitor, assegnargli un nome e selezionare "Definisci utilizzando query di estrazione" dal menu a discesa "Metodo di definizione".

Nel menu a discesa dell'indice, digita "metricbeat- *" e premi Invio. Questo dividerà lo spazio sottostante in due. A sinistra definirai una query ea destra vedrai la risposta dopo aver cliccato su "Esegui".

Sostituisci la query esistente con quella ottenuta dalla visualizzazione e fai clic sul pulsante "Esegui" nell'angolo in alto a destra.

La tua risposta dovrebbe essere simile a questa:

Il problema con questo è che se lo esegui tra un'ora, il risultato sarà lo stesso. Questo perché nella nostra query di estrazione le date sono statiche.

Ecco il nostro problema:

Tempo statico

Per risolvere questo problema, modifica la query in modo che abbia un aspetto simile a questo:

Tempo dinamico

Quindi, se premi più volte il pulsante "Esegui", vedrai che il valore cambia.

Scorri verso il basso e fai clic su "Crea", questo ti porterà alla schermata "Crea trigger".

Creazione di un trigger

Per iniziare, impostare il nome del trigger e selezionare un livello di gravità (questo è arbitrario). Di seguito vedrai la risposta per la query di monitoraggio e appena sotto la risposta avrai la condizione di trigger . Per impostazione predefinita, la condizione di trigger sarà "ctx.results [0] .hits.total.value> 0".

Per ora ci concentreremo su tutto ciò che va dopo "ctx.results [0]". La query predefinita valuta se la quantità di documenti letti dalla query è maggiore di 0. Questo non ci serve, abbiamo bisogno dell'utilizzo della memoria. Come puoi vedere la nostra risposta ha il campo aggregations.1. Valore che è quello che vogliamo, quindi cambia la tua condizione di trigger in questo:

"Ctx.results [0] .aggregations.1.value> 0"

Scorri un po 'verso il basso e fai clic sul pulsante "Esegui" e guarda la risposta della condizione di trigger cambiare in "vera". Ora imposta il valore dopo il segno ">" su qualcosa come 0,8 per l'80%, perché la memoria sarà sempre superiore allo 0%.

Impostazione di un'azione

Sotto il pulsante "Esegui" potrai configurare le azioni. Qui puoi notificare una destinazione con un messaggio.

Innanzitutto, dai un nome all'azione e seleziona la destinazione che hai creato in precedenza. Digita un oggetto per il messaggio e scorri un po 'verso il basso. Qui vedrai l'anteprima del messaggio.

Vogliamo includere variabili nei nostri messaggi, quindi non abbiamo bisogno di creare un trigger per ogni server che abbiamo. Per includere una variabile dalla risposta nel messaggio, utilizzare il seguente modello:

Messaggio di esempio per l'utilizzo della memoria

Nella parte destra dello schermo c'è un pulsante "Invia messaggio di prova" per testare la tua destinazione.

Infine, per evitare un flusso di notifiche quando qualcosa va storto, fai clic sulla casella di controllo "Abilita limitazione delle azioni" e inserisci un numero ragionevole di minuti di attesa prima di inviare un'altra notifica.

Per concludere, clicca su crea.

Prossimi passi

Nella prossima e ultima puntata di questa serie esamineremo alcune impostazioni di prestazioni e disponibilità e condividerò alcune cose che ho imparato nel modo più duro.

Vedi altri articoli correlati .

Altre informazioni utili

Webhook in entrata Slack

Suggested posts

Migrazione di Solr a Opensearch

Migrazione di 100 milioni di documenti da solr a opensearch

Migrazione di Solr a Opensearch

Abbiamo utilizzato solr per i nostri casi d'uso di ricerca/feed/autosuggestione/personalizzazione dell'e-commerce. Sfide con il cluster solr ELK ora viene fornito con una licenza premium elastica.

Creazione di un sistema di rilevamento delle anomalie del modello senza supervisione su larga scala - Parte 2

Costruire modelli ML con osservabilità su larga scala

Creazione di un sistema di rilevamento delle anomalie del modello senza supervisione su larga scala - Parte 2

Di Rajeev Prabhakar, Han Wang, Anindya Saha Nel nostro blog precedente abbiamo discusso le diverse sfide che abbiamo dovuto affrontare per il monitoraggio dei modelli e la nostra strategia per affrontare alcuni di questi problemi. Abbiamo accennato brevemente all'uso dei punteggi z per identificare le anomalie.

Related posts

L'assassinio di Jordan Neely e il problema del razzismo "patriottico".

Gli Stati Uniti possono fare il passo essenziale per non equiparare il comportamento razzista all'essere un buon americano?

L'assassinio di Jordan Neely e il problema del razzismo "patriottico".

[Avviso di attivazione: questo saggio include schermate di persone che elogiano l'assassino di Jordan Neely.] I funzionari delle forze dell'ordine hanno finalmente - e forse con riluttanza - accusato Daniel Penny, l'uomo che ha soffocato Jordan Neely fino alla sua morte, per quell'omicidio.

L'arte è sempre apolitica?

L'arte è sempre apolitica?

Ieri abbiamo chiuso le porte dell'Eurovision Song Contest di quest'anno con un gran finale scintillante e caotico in cui la cantante svedese Loreen ha portato a casa il trofeo, diventando la prima donna a vincere due volte e riportando la corona alla Svezia 50 anni dopo che gli ABBA hanno vinto la competizione con "Waterloo". Hanno continuato a diventare uno dei più grandi artisti nel canone della musica pop.

Perché alcuni freelance stanno fingendo le loro vite

Perché alcuni freelance stanno fingendo le loro vite

Recentemente sono stato su Linkedin, il social network professionale più grande del mondo, e ho trovato post di designer freelance che seguo che hanno attirato la mia attenzione. Tutti hanno postato foto dagli aeroplani, sulla spiaggia con i loro laptop, dalle piscine e dagli uffici con viste mozzafiato.

Niente più password: come le passkey sostituiranno la tua password

Niente più password: come le passkey sostituiranno la tua password

Per evitare ambiguità verranno utilizzati i seguenti termini; Autenticatore; Il telefono cellulare utilizzato per effettuare il login Sito web; Il sito Web o l'applicazione che l'utente sta utilizzando per effettuare la richiesta di accesso al Servizio; Il fornitore che fornisce il servizio dato, ad es