Ep. 32: Lavorare con la Agent Bakery in Checkmk

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

[0:00:00] Benvenuti nel canale Checkmk. Oggi, daremo un'occhiata più da vicino all'Agent bakery.
[0:00:15] L'agent bakery è una funzione enterprise disponibile anche nella nostra edizione gratuita e si occuperà di tutti i vostri pacchetti di agenti.
[0:00:23] In particolare, creerà pacchetti di agenti su misura per il sistema monitorato, in modo da avere tutti i plugin e la configurazione necessari su quello specifico sistema monitorato.
[0:00:34] Ciò significa che, ad esempio, se si utilizza un tag host per identificare un server come server MySQL, è possibile creare una regola basata su questo tag host che abilita il plugin MySQL per tutti gli host con quel tag host.
[0:00:49] L'agent bakery raccoglierà quindi questa configurazione e creerà automaticamente un pacchetto di installazione che potrete installare su Linux e che conterrà il plugin e la relativa configurazione, per cui non dovrete occuparvi di ulteriori configurazioni.
[0:01:06] Questo funziona per tutti i plug-in che Checkmk fornisce. Naturalmente, se dovete prendere questi pacchetti e installarli manualmente su centinaia o migliaia di host, non è semplice, per questo abbiamo previsto gli aggiornamenti automatici degli agenti.
[0:01:27] L'aggiornamento automatico dell'agente consentone di avere un plugin che sarà integrato nell'agente e che preleverà gli aggiornamenti dal server Checkmk ogni volta che sarà disponibile una nuova versione del software o una modifica della configurazione.
[0:01:40] È altamente configurabile, ma l'idea generale è che gli agenti si aggiornino da soli, in modo che non dobbiate occuparvene voi, e non importa se avete decine o centinaia o migliaia di host dove questo sia necessario.
[0:01:52] Naturalmente, bisogna pensare anche alla sicurezza, perché se si sta installando software su centinaia e migliaia di server, si vuole essere sicuri che non ci sia codice arbitrario.
[0:02:04] Quando il plugin di aggiornamento dell'agente preleva questi pacchetti di installazione, verifica la firma crittografica e si assicura che la chiave sia affidabile e che la firma sia valida prima di installare effettivamente il pacchetto.
[0:02:22] Quindi, se qualcuno cercasse di iniettare un software arbitrario, non verrebbe installato. Inoltre, consigliamo vivamente di eseguire gli aggiornamenti dell'agente solo tramite HTTPS, in modo che anche il livello di trasporto sia crittografato.
[0:02:39] Bene, questo è quanto per la teoria. Vediamo ora come configurarlo. L'Agent Bakery si trova ovviamente nel menu Impostazioni. In realtà non si chiama mai "agent bakery" all'interno di Checkmk, ma si trova in questa sezione.
[0:02:55] Quindi, se andiamo lì, vediamo la configurazione predefinita perché questo è un sito nuovo. Non ci sono modifiche e possiamo vedere che possiamo ottenere pacchetti di installazione per tutte le diverse piattaforme che supportiamo.
[0:03:07] Vediamo quali host riceveranno l'agente e un hash che è l'identificatore univoco della configurazione dell'agente. Questo è tutto ciò che c'è da vedere nel bakery puro.
[0:03:21] Se cambiamo la configurazione all'interno del sito, otterremo pacchetti di agenti diversi e lo vedremo in pochi istanti dopo aver configurato la regola di aggiornamento. Iniziamo quindi con gli aggiornamenti automatici.
[0:03:34] Troviamo la configurazione pertinente nel writer dell'agente, in fondo c'è la voce aggiornamenti automatici. Quando ci spostiamo lì, possiamo vedere un elenco di prerequisiti che dobbiamo soddisfare prima di poter effettivamente abilitare gli aggiornamenti automatici. Iniziamo creando una chiave di firma.
[0:03:55] Possiamo semplicemente aggiungere una chiave e darle una descrizione. Questa è la chiave_principale. Dobbiamo assegnarle una passphrase. Ne uso una iniziale e la creiamo. Questa è la tipica coppia di chiavi pubbliche e private. Quindi, abbiamo semplicemente una chiave pubblica e una privata.
[0:04:15] La chiave privata è protetta da una passphrase che, come ho detto, protegge gli aggiornamenti automatici da interazioni dannose. Perché solo le persone che conoscono la passphrase potranno creare agenti e distribuirli.
[0:04:33] Torniamo ora alla panoramica degli aggiornamenti automatici e vediamo che il passo successivo è la configurazione del plugin di aggiornamento. Andiamo avanti e facciamolo.
[0:04:46] Anche questo è basato su regole, e si possono creare diverse regole per diversi casi d'uso. Oppure si potrebbero creare diverse regole che configurano solo alcune parti dell'aggiornamento dell'agente, anche questo sarebbe possibile.
[0:04:58] Ma per iniziare creeremo solo una regola globale. Vogliamo abilitare il plugin. Dobbiamo fornire alcune informazioni sul server di aggiornamento. Il resto delle informazioni è già compilato, quindi il nome del sito e, in questo caso, HTTPS.
[0:05:18] Ora dobbiamo aggiungere il certificato per la verifica HTTPS. Questo è necessario se il sistema operativo non conosce il certificato radice della PKI, ad esempio, o il certificato utilizzato dal server Checkmk.
[0:05:35] Oppure se si utilizza un certificato self-signed, soprattutto in questo caso, è necessario fornire il certificato qui. Se si tratta di un certificato di una CA pubblica, ad esempio. Oppure, il certificato radice della vostra PKI è noto al sistema operativo, allora potete saltare questo passaggio e non è necessario fornire queste informazioni.
[0:05:58] Aggiungiamo ora il nostro certificato. L'ho già copiato negli appunti, quindi posso semplicemente incollarlo. Dobbiamo decidere un intervallo per il controllo dell'aggiornamento. L'impostazione predefinita è di 1 ora. Per questa demo, la imposterò a 1 minuto, in modo da vedere rapidamente gli aggiornamenti.
[0:06:10] Quando si distribuiscono inizialmente gli agenti, sarebbe opportuno impostare qualcosa tra i 3 e i 5 minuti, in modo che gli aggiornamenti non richiedano troppo tempo.
[0:06:23] Per un ambiente di produzione in cui gli agenti vengono distribuiti e resi operativi e la configurazione non subisce molte modifiche, potrebbe essere opportuno scegliere 1 ora, o forse 6 ore, 12 ore, a seconda della velocità con cui è necessario aggiornare la configurazione degli agenti.
[0:06:39] Sta a voi decidere che grandezza scegliere. Non dovrebbe essere troppo piccola, perché in questo modo si crea un carico inutile sul server Checkmk.
[0:06:48] Se si dispone di un proxy tra i sistemi monitorati e il server Checkmk, è possibile configurarlo qui. Infine, ma non meno importante, abbiamo le chiavi di firma che l'agente accetterà, come ho spiegato in precedenza.
[0:07:01] Qui abbiamo la chiave principale, quindi sceglierò questa. E con questo abbiamo finito la configurazione. Non utilizzerò alcuna condizione perché questa è la mia regola globale.
[0:07:11] La salverò qui. Ora vediamo la panoramica di ciò che abbiamo configurato. Per il momento va bene così. Attiviamo rapidamente queste modifiche e poi potremo andare avanti e preparare i nostri agenti per la prima volta.
[0:07:26] Eccoci qui. Si vedono due pulsanti accesi, perché Checkmk si è accorto che abbiamo modificato una parte della configurazione, in particolare la regola di aggiornamento, e ora ci dice che dobbiamo preparare gli agenti o prepararne di nuovi perché la configurazione è cambiata e alcuni host riceveranno un nuovo agente.
[0:07:46] Quindi, procediamo con il bake e la firma. Uso la mia passphrase memorizzata, faccio clic su back e firma. Ora i nuovi pacchetti di agenti vengono creati in background.
[0:07:56] Questo è quanto, abbastanza rapidamente a seconda delle dimensioni dell'installazione e del numero di host. Questo processo richiede alcuni secondi, ma è abbastanza efficiente e non dovrebbe durare troppo a lungo.
[0:08:08] Ora possiamo vedere che è stata creata una configurazione che contiene la regola di aggiornamento dell'agente con tutta la configurazione e vediamo che il nostro localhost dovrebbe ricevere questo agente.
[0:08:18] Quindi, andiamo avanti e installiamo l'agente sul nostro localhost su questo server Checkmk. Quello che potremmo fare è scaricare il pacchetto qui sul nostro client e caricarlo di nuovo sul server. Questo sarebbe l'approccio manuale e quello che si fa di solito.
[0:08:33] Nel mio caso, trattandosi del server Checkmk, posso semplicemente passare alla riga di comando e installare l'agente direttamente dal sito. E ora sul server Checkmk, posso semplicemente fare un dpkg -i e andare al mio sito. Quindi, omd/sites. Questo è il sito: /var/check_mk/agents/.
[0:09:01] Qui ci sono tutti i pacchetti dell'agente che avete già visto nell'interfaccia utente. Poiché questo è un sistema Ubuntu, voglio avere il pacchetto Linux Debian.
[0:09:10] Ecco la cartella dei pacchetti. E se diamo un'occhiata qui, ci sono 2 configurazioni di agenti, che abbiamo appena visto.
[0:09:16] Userò quella creata appositamente con l'agent updater e andrò avanti con l'installazione. Ora vediamo che l'installazione è riuscita.
[0:09:27] L'agente è installato. Ora ci sono solo due passi da fare prima che gli aggiornamenti automatici funzionino davvero.
[0:09:34] La prima cosa da fare è registrare l'agente con il server Checkmk, in modo da renderlo noto al server Checkmk e farli comunicare.
[0:09:45] Ecco cosa faremo adesso. Per questo, abbiamo bisogno del cmk- update-agent, della parola chiave register e di fornire il nome dell'host così come appare in Checkmk.
[0:09:59] Quindi, se si utilizzano FQDN, per esempio, o qualsiasi altro nome maiuscolo o minuscolo, l'importante è che il nome dietro il -H corrisponda al nome in Checkmk.
[0:10:10] Nel mio caso, è localhost, quindi va bene. Ora devo solo fornire un utente che sia autorizzato a registrare questo host.
[0:10:18] In questo ambiente, sto usando solo cmkadmin. Potreste avere un utente specifico per questo nel vostro ambiente. Ma è il minimo indispensabile da fornire. E ora posso premere invio.
[0:10:29] Mi viene chiesta la password dell'utente. Se la fornisco, vedo che mi sono registrato con successo per la distribuzione dell'agente, il che è fantastico. Ora, dal lato client, abbiamo finito.
[0:10:40] Ora c'è solo un ultimo passo da compiere dall'interfaccia utente. Quindi, se torniamo qui, andiamo ancora una volta agli aggiornamenti automatici e possiamo vedere che quasi tutti gli argomenti sono stati completati. Quindi, abbiamo fatto il bake e firmato gli agenti.
[0:10:58] Abbiamo appena registrato un agente per gli aggiornamenti automatici e ora dobbiamo solo abilitare l'interruttore principale, che impedisce a Checkmk di eseguire tutti gli aggiornamenti.
[0:11:07] Ora sono abilitati, quindi tutti i prerequisiti sono soddisfatti. E possiamo effettivamente eseguire gli aggiornamenti automatici. Se ora passo alla riga di comando per accelerare il processo e chiamo semplicemente l'agent updater con il flag verbose, possiamo vedere che l'agent updater parla con il server Checkmk, recupera il pacchetto dell'agent adatto e aggiorna l'agent.
[0:11:26] Questo è il risultato. Tornando ancora una volta all'interfaccia utente della pagina dell'aggiornamento automatico, possiamo ora passare a un report.
[0:11:42]

Ci sono diversi report sullo stato degli aggiornamenti degli agenti. In caso di errori o di qualcosa che non vada bene, ne sarete informati in questa vista.

[0:11:52] E c'è una vista in basso che mostra tutti gli host registrati, indipendentemente dallo stato in cui si trovano. Diamo un'occhiata qui.
[0:12:00] Quando rimuoviamo il filtro, possiamo vedere questo host, il nostro host locale. Come prima informazione vediamo lo stato dell'host.
[0:12:12] Vediamo quando ha contattato il server per l'ultima volta e quando è stato effettuato l'ultimo download, che a questo punto è lo stesso perché abbiamo appena eseguito il comando. Vediamo l'ultimo errore che si è verificato durante l'installazione dell'agente. Vediamo lo stato dell'agente, quindi quale hash deve essere installato e quale hash è installato.
[0:12:29] C'è un servizio che controlla lo stato di aggiornamento e ci dirà nel monitoraggio se qualcosa non va. E otteniamo l'output del controllo dell'aggiornamento, che fornisce ulteriori dettagli sul processo di aggiornamento.
[0:12:42] Come avete visto, la vista si è appena aggiornata. Ora possiamo vedere l'agente. L'agente di destinazione è lo stesso dell'agente installato. Ottimo.
[0:12:49] Ma vediamo ancora l'ultimo errore e un avviso che indica che c'è stato un errore. Il motivo è che il controllo degli aggiornamenti in Checkmk è asincrono e ci vorranno alcuni istanti prima che il server di Checkmk si accorga che lo stato è effettivamente corretto.
[0:13:03] Quindi, se si riscontrano problemi subito dopo la registrazione dell'host, basta prendere un caffè, ad esempio, attendere 5 minuti e poi si vedrà che tutto è stato cancellato.
[0:13:14] Se invece non vi trovate in uno stato completamente OK, allora potrebbe esserci qualcosa che non va e dovreste indagare. Vediamo che adesso anche l'ultimo errore è scomparso.
[0:13:24] Come ho detto, ora tutto è aggiornato e il server Checkmk lo conferma.
[0:13:29] Con questo si conclude il video di oggi, vi ringrazio per la visione. Assicuratevi di abbonarvi al canale, ci vediamo presto.

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

Registrati adesso

Altri Video di Checkmk