Ep. 7 (parte 1): Lavorare con le regole e impostare le soglie in Checkmk

Per caricare questo video di YouTube è necessario accettare i cookie pubblicitari.

[0:00:00] Bentornati al canale Checkmk e in questo episodio tratteremo un argomento un po' più complesso, ovvero come si possono parametrizzare gli host e i servizi, ad esempio impostando delle soglie e come si possono utilizzare queste soglie con una delle caratteristiche di Checkmk con cui si distingue dagli altri prodotti, ovvero la configurazione basata su regole.
[0:00:22] Poiché questo episodio è un po' più esteso, lo divideremo in tre parti e in questa prima parte vi mostrerò come lavorare con le regole e come impostare le soglie. Nel secondo episodio, daremo un'occhiata ai tag host e a come utilizzarli per creare regole più complesse e nel terzo episodio, esamineremo le cartelle e come utilizzarle per raggruppare gli host e creare una configurazione più elegante e chiaramente strutturata.
[0:01:01] In questo episodio vedremo come impostare i parametri per i servizi.
[0:01:05] Cosa sono questi parametri?
Un parametro è, ad esempio, la soglia che utilizziamo per indicare quando un server deve passare allo stato di Attenzione o Critico. Checkmk ha molte di queste soglie preconfigurate, ma spesso si desidera modificarle per adattarle meglio alla propria installazione o al proprio ambiente.
[0:01:27] Prendiamo ad esempio il controllo del file system, dove a volte potreste volere che il servizio vada in 'Attenzione' quando viene utilizzato l'80% dello spazio di archiviazione disponibile, mentre in altri casi potreste voler impostare la soglia al 95%.
[0:01:39] Ma ci sono altri parametri, ad esempio la frequenza con cui Checkmk deve controllare lo stato di un determinato servizio o la finestra temporale in cui si desidera che vengano inviate le notifiche. Ma prima di tutto, vediamo come impostare le soglie per far sì che un server diventi Warning o Critical. A tale scopo, utilizzeremo come esempio il carico della CPU. Creiamo una regola specifica per questo host.
[0:02:05] Ogni regola ha una sezione generale con una descrizione e un commento. Questi campi sono tutti opzionali, quindi non è necessario riempirli. Alla mia regola darò un nome: "Carico CPU del server di monitoraggio".
[0:02:26] Ogni regola ha un valore e delle condizioni. Cominciamo con il valore. Queste sono le soglie effettive in cui un servizio deve diventare Warning o Critical.
[0:02:38] In questo caso, il valore è ancora quello predefinito, quindi 5 e 10. Ma cambiamo il valore. Ma cambiamo il valore: voglio un avviso quando ci sarà un processo in esecuzione per ogni core e voglio che passi a critico quando ci saranno tre processi.
[0:02:57] Il prossimo passo è la condizione. A prima vista potrebbe sembrare un po' complesso, ma è più facile di quanto sembri. Checkmk ha precompilato l'host esplicito perché abbiamo creato un host esplicito per questo host. Non ho intenzione di modificarla, ma solo di salvarla. E naturalmente attiviamo la modifica.
[0:03:30] Ora vediamo se ha funzionato, quindi torniamo a tutti gli host del nostro server di monitoraggio e apriamo ancora una volta i parametri per il servizio.
[0:03:44] Si vede che la regola 1 nella directory principale è applicata a questo servizio e si vedono i valori impostati. Ma come facciamo a sapere se ciò che abbiamo configurato funziona? Per farlo, eseguirò un semplice trucco sulla riga di comando. Creerò un ciclo infinito: while true; do true; done &.
[0:04:09] Questo farà in modo che un processo venga eseguito continuamente e aumenterà il carico esattamente di uno. Il carico è il numero di processi attualmente attivi su un core. Se ripeto questo processo e guardo in alto, vedrete che ora ci sono parecchi processi di shell in esecuzione e la media del carico sta lentamente aumentando, ci vorrà un po' di tempo e questo primo numero è la media del carico dell'ultimo minuto.
[0:04:51] Il secondo numero è la media degli ultimi cinque minuti e l'ultimo numero è la media degli ultimi 15 minuti. Se ora torno all'interfaccia utente, si vede che il servizio è ancora a posto.
[0:05:05] Questo è dovuto all'intervallo di controllo, ma possiamo riprogrammare il servizio Checkmk in modo che il servizio passi a 'Warning'. Ora si vede che lo stato passa a WARN. Se clicco sul nome del servizio, passiamo ai dettagli e possiamo vedere nel grafico che il carico della cpu ha iniziato ad aumentare.
[0:05:28] Si possono anche vedere le soglie. La linea gialla indica la soglia di avviso e la linea rossa la soglia critica. Qui vedete due e sei, ma abbiamo configurato uno e tre. Il motivo è che configuriamo le soglie per core e questa macchina virtuale ha due core, quindi tutti i valori sono moltiplicati per 2.
[0:05:49] Riduciamo ancora il carico della CPU. Fermiamo i processi che abbiamo creato.
[0:05:56] Lo facciamo semplicemente usando "fg" per portare il processo in primo piano e ora lo fermiamo premendo Ctrl+C. Ripetiamo l'operazione.
[0:06:19] Ok, ora controlliamo "top", per essere sicuri che non ci sia nulla in esecuzione.
[0:06:23] Ok, tutti i processi sono stati fermati e il carico della CPU dovrebbe ridursi lentamente. Ora creeremo una seconda regola, ma questa volta per un file system. La differenza è che c'è un solo servizio di carico della CPU su un host, mentre per un file system ce ne possono essere diversi.
[0:06:43] Ecco perché quando si crea una regola è necessario specificare esattamente per quale file system si sta creando una regola. In questo esempio, creeremo una regola per il file system principale del nostro server di monitoraggio. Quindi, ancora una volta, andiamo ai servizi dell'host del server Checkmk.
[0:07:02] Questa volta daremo un'occhiata al servizio di file system, che è il file system principale di questo server. Ancora una volta andiamo ai parametri del servizio. Si può già notare che questo set di regole è un po' più complicato del precedente.
[0:07:22] Il set di regole si chiama: Filesystem (spazio utilizzato e crescita) ed è qui che impostiamo i parametri per il file system. Facciamo quindi clic su di esso. Ora ci troviamo di fronte a una vista molto simile a quella precedente; l'unico cambiamento è che il pulsante ora dice "Crea regola specifica per il punto di montaggio:". In questo modo si crea una regola specifica per l'host "checkmk_server" dove il punto di mount è "/".
[0:07:55] Creiamo quindi questa regola. Questa volta lascerò le proprietà vuote perché sono facoltative, imposterò solo il valore e le condizioni. Se guardate le condizioni, vedrete che sono già precompilate: l'host è "checkmk_servers" e il punto di mount è "/", e poi vedrete il segno "$". Il segno "$" è presente perché utilizza un'espressione regolare e il segno "$" significa "fine della stringa".
[0:08:28] Se non avessimo questo segno "$" qui, significherebbe che questa regola verrebbe applicata a ogni servizio di file system sull'host "checkmk_server" in cui il punto di mount inizia con "/". Si tratta di ogni punto di mount, quindi si applicherebbe a ogni singola regola del file system su questo host. Ora diamo un'occhiata al valore, in modo da vedere che c'è molto di più qui, perché il servizio di file system è abbastanza potente e si possono fare molte cose con esso. Ma spesso si desidera utilizzare i livelli del primo elemento per il file system. Con questo possiamo impostare soglie per una percentuale della capacità di archiviazione attualmente utilizzata.
[0:09:18] Si può usare anche per lo spazio libero rimanente, ma per ora mi limiterò allo spazio usato. Quindi imposterò valori piuttosto bassi, in modo da poter vedere se lo stato del servizio passerà a WARN o Critical. Impostiamo quindi 2 e 5, per esempio. Ora salviamo e, come sempre, attiviamo le modifiche.
[0:09:51] Ora torniamo ai servizi dell'host. Quindi "checkmk_server" e poi riprogrammiamo il controllo per vedere se si aggiorna. Ok, ora si vede che questo servizio è già Critico. Si possono anche vedere le soglie del servizio. Quindi 2% e 5% per le soglie di Attenzione e Critico.
[0:10:24] Ok, ora vogliamo creare una terza regola, ma questa volta per le interfacce di rete, quindi le schede di rete sui server o le porte degli switch e le connessioni di rete su switch e router. In Checkmk sono coperti dallo stesso controllo chiamato interfaccia seguito dal nome dell'interfaccia o dal numero della porta. Voglio anche creare una regola che si applichi a più servizi e vi mostro come funziona. Andiamo allo switch che abbiamo aggiunto nella puntata precedente, switch1.
[0:10:54] Vedete che ci sono già diverse interfacce. Prendiamone una, ad esempio la numero 17. Ancora una volta andiamo ai parametri di questo servizio. Il set di regole per questo servizio si chiama Interfacce di rete e porte di switch, quindi facciamo clic su di esso.
[0:11:15] Questa schermata dovrebbe sembrarvi familiare.
[0:11:19] Ma questa volta il pulsante dice crea regola 4 specifica per la porta. In questo modo si creerà una regola per un servizio sull'host switch1 e su una porta specifica chiamata 00017. Quindi creiamola. Ancora una volta si vedono alcune informazioni precompilate nell'area delle condizioni, quindi si vede che l'host switch1 e la porta sono già preconfigurati. Se dovessi deselezionare la specifica della porta, questa regola si applicherebbe a tutti i servizi di interfaccia sull'host switch1. E se deseleziono anche questa, la regola si applicherà a tutti i servizi di interfaccia di tutti gli host.
[0:12:14] Alla voce valori, ancora una volta sono presenti molte opzioni, ma noi utilizzeremo "Larghezza di banda utilizzata (traffico minimo o massimo)". Selezioniamo quindi questa casella e possiamo aggiungere più elementi.
[0:12:29] È quindi possibile aggiungere un elemento e poi configurare se si tratta di traffico in entrata o in uscita per valori superiori o inferiori. Selezionando inferiore si può, ad esempio, configurare la regola per avvisare quando non c'è traffico sull'interfaccia, ma io la imposterò per il traffico in uscita e per i valori superiori. Si possono anche impostare livelli assoluti in bit o byte al secondo, ma noi ci atterremo a "livelli percentuali".
[0:13:02] Impostiamo l'avviso al 10% e al 20% e la criticità al 10%.
[0:13:18] Salviamo la regola e attiviamo le modifiche. Ma cosa succede quando si creano due regole per un servizio? C'è un principio molto semplice in Checkmk: la prima regola che soddisfa le condizioni stabilisce lo stato del servizio, mentre tutte le regole successive vengono semplicemente ignorate. È possibile utilizzare questo principio per creare una regola generale per tutti i servizi di un tipo specifico e poi crearne una per un'eccezione. Dopodiché, è sufficiente assicurarsi che l'eccezione sia collocata prima della regola generale. Lasciate che vi mostri un esempio. Torniamo allo switch e questa volta vogliamo creare una regola diversa per l'interfaccia con la porta 18. Quindi, ancora una volta, andiamo ai parametri del servizio.
[0:14:22] Si vede che c'è già una regola in questo set di regole. Ora creiamone una seconda, quindi ne creerò un'altra. Ma in base alle condizioni, lascerò la porta 18.
[0:14:38] L'unica cosa che cambierò è che imposterò di nuovo valori diversi in "Larghezza di banda utilizzata". Questa volta, i valori superiori in uscita saranno ancora una volta impostati all'80 e al 90%. Salviamo il tutto. Come si può vedere, ora abbiamo due regole. Il colore all'inizio di ogni riga indica quale regola è attualmente applicata. Il colore verde significa che le condizioni sono soddisfatte e che si stanno applicando i parametri, mentre il colore giallo significa che le condizioni sono soddisfatte ma i parametri sono già stati applicati da una regola precedente e questo non è ciò che vogliamo, perché vogliamo che la nostra eccezione sia considerata prima della regola generale. Dobbiamo quindi cambiare l'ordine e possiamo farlo semplicemente trascinando la riga su questa icona a forma di freccia. Spostiamola prima della regola generale e ora possiamo vedere che la nostra regola di eccezione è verde e sta applicando i parametri, mentre la regola generale non viene applicata. Ora possiamo attivare le modifiche.
[0:16:02] Ora torniamo allo switch e guardiamo un altro servizio. Scegliamo ad esempio questo sulla porta 5. Andiamo di nuovo ai parametri di questo servizio e torniamo al set di regole. Ora voglio mostrarvi un altro modo per accedere alle regole. Non attraverso un servizio specifico, ma attraverso il menu di configurazione.
[0:16:30] Andiamo quindi al menu di configurazione e nella casella di ricerca digitiamo "rules". Ora si vedono diverse categorie di regole: regole per il monitoraggio dell'host, regole per l'inventario hardware e software, regole per il monitoraggio dei servizi con cui abbiamo appena lavorato, regole per la scoperta dei servizi, regole per gli agenti e regole SNMP. Ma stiamo cercando una regola di monitoraggio dell'host e precisamente il "comando di controllo dell'host".
[0:17:01] Vogliamo trovare una soluzione per il seguente caso: supponiamo di voler controllare lo stato di un host ma di non essere in grado di eseguire un ping su quell'host; il normale controllo per verificare la disponibilità di un host è un ping. Ora cambiamo questo metodo in una connessione TCP sulla porta 80. Per farlo andiamo al comando di controllo dell'host, vedete che c'è già una regola su docker, ma non entriamo nel merito.
[0:17:28] Creiamo semplicemente una nuova regola. Per ora lasciamo le condizioni così come sono, si potrebbe configurare un tag host per applicarlo solo su un host specifico, ma parleremo dei tag host nella prossima parte. Per ora, cambiamo il ping intelligente in una connessione TCP sulla porta 80 e salviamolo. Dovremmo essere in grado di usare la connessione TCP per vedere se un host è attivo o meno. In generale, si può dire che in Checkmk tutto ciò che viene configurato per gli host e i servizi si basa su regole. E ora sapete come configurarle da soli.
[0:18:13] Nella prossima parte, daremo un'occhiata ai tag host e a come è possibile utilizzarli per creare regole da applicare, ad esempio, a tutti i server Linux contemporaneamente. Questo è tutto per la prima parte; se vi è stato utile, vi preghiamo di lasciare un like al video e di iscrivervi al canale. Ci vediamo nella seconda parte.

Vuoi saperne di più su Checkmk? Partecipa al nostro webinar "Introduzione a Checkmk".

Registrati adesso

Altri Video di Checkmk