Ep 33: Monitoraggio dei container Docker con Checkmk
[0:00:00] | Oggi diamo un'occhiata più da vicino ai nostri container Docker. |
[0:00:13] | Oggi i container sono ovunque. Eseguono servizi web in tutto il mondo, girano su diverse piattaforme e sono diventati molto importanti per le operazioni IT odierne. |
[0:00:23] | In questo video vedremo da vicino come Checkmk può monitorare i container Docker in esecuzione su un tipico host Docker. Senza ulteriori indugi, iniziamo subito. |
[0:00:35] | Ok, per riassumere rapidamente ciò che faremo. Creeremo una regola che configura il plug-in di Docker, quindi prepareremo e aggiorneremo gli agenti, in modo che il nostro host Docker riceva l'agente aggiornato con la giusta configurazione. |
[0:00:50] | Dobbiamo eseguire un altro passaggio manuale sull'host Docker, una piccola installazione. |
[0:00:54] | Come ultimo componente aggiuntivo opzionale, utilizzeremo il DCD, che è una funzione enterprise, disponibile anche nell'edizione gratuita, per creare automaticamente i container Docker come host in Checkmk. Vediamo quindi come funziona. |
[0:01:10] | Per cominciare, cerchiamo il plug-in Docker. Si chiama Docker node and containers e si trova nella sezione Regole dell'agente. |
[0:01:22] | Creiamo una nuova regola e non dobbiamo modificare nessuna impostazione. Vogliamo tutte le informazioni che possiamo ottenere qui, quindi lascerò tutte le caselle di controllo spuntate. |
[0:01:34] | L'unica cosa che cambierò per motivi di presentazione è il nome dell'host usato per i container, che sarà il nome del container stesso. |
[0:01:42] | Questa è una cosa che probabilmente non vorrete fare in produzione, perché i nomi dei container possono entrare in conflitto. Può capitare di avere lo stesso nome di container due volte, e creare un host in Checkmk con lo stesso hostname due volte semplicemente non funziona. Quindi, è qualcosa che voglio solo mostrare. |
[0:01:58] | Voglio mostrare l'utilizzo per evidenziare cosa succede. In un ambiente di produzione, potreste voler usare l'ID o l'ID lungo. |
[0:02:07] | Poiché ho un solo host nel mio ambiente demo, lo selezionerò manualmente. In un ambiente di produzione, probabilmente avrete un tag host che dice che l'host è un host Docker e quindi assegnerete automaticamente il plug-in Docker a tutti gli host che avete. |
[0:02:24] | Quindi, salverò questo. Attivo rapidamente le modifiche e ora preparo gli agenti. |
[0:02:34] | In questo ambiente, ho già predisposto gli aggiornamenti automatici degli agenti, il che significa che dopo che gli agenti sono stati preparati e firmati, ci vogliono solo pochi istanti perché l'agente si aggiorni ed esegua il plug-in di Docker e poi avremo i servizi Docker. |
[0:02:51] | Ma c'è un ulteriore passo da compiere. Andiamo quindi alla riga di comando e vi mostrerò cosa si deve fare. |
[0:03:00] | Ok, ora stiamo guardando il nostro host Docker e dobbiamo installare la libreria Docker per Python, in modo che il nostro agente sia in grado di parlare con il demone Docker sul sistema. |
[0:03:11] | Questo si può fare facilmente eseguendo pip3 install docker. Una volta installato con successo, non c'è altro da fare. All'inizio dobbiamo fare qualcosa sull'host Docker. |
[0:03:27] | È tutto qui. Come detto, l'agente si aggiornerà da solo, quindi possiamo tornare alla nostra istanza Checkmk. Cerchiamo il nostro host e andiamo alla configurazione del servizio. |
[0:03:44] | E dopo qualche istante, se facciamo una nuova scansione, troveremo i servizi Docker. Bene, ecco i nostri servizi. Ora possiamo vedere i container in esecuzione sul server, la build cache, lo storage utilizzato per i container, le immagini e i volumi Docker. |
[0:04:05] | E otteniamo un servizio che ci dice lo stato generale del nodo Docker, se tutto è sano e su quale host è in esecuzione. Quindi, premerò accetta tutto. Questo aggiunge i servizi al nostro host. |
[0:04:20] | Ora attiverò le modifiche, in modo che diventino attive e vengano monitorate. Ora possiamo dare un'altra occhiata. Ci vorranno alcuni istanti perché le informazioni vengano recuperate e lo abbiamo già visto nell'anteprima. |
[0:04:38] | Ora vorrei esaminare due aspetti: la configurazione del DCD, di cui ho parlato prima, è una funzione enterprise. |
[0:04:50] | Ma ciò che fa il DCD è il demone di configurazione dinamica o, nel menu Setup, si chiama semplicemente Gestione dinamica dell'host. |
[0:04:59] | Il suo compito è quello di prendere le informazioni fornite dall'host Docker sui container e di creare gli host per i container in Checkmk stesso. Vediamo quindi come si fa. |
[0:05:13] | Aggiungerò una connessione qui. Gli darò un nome descrittivo. Voglio scegliere Docker perché è abbastanza buono. Non spiegherò tutto in dettaglio. |
[0:05:24] | Stiamo usando i dati piggyback. Vogliamo aggiungere un nuovo elemento e questo ci dice dove saranno creati gli host e come saranno configurati. |
[0:05:33] | In questo caso si tratta di un sito molto semplice. Sto semplicemente creando l'host nella mia cartella principale, perché non ha molta importanza. Naturalmente, in un ambiente di produzione, lo farete in una cartella dedicata. |
[0:05:45] | Possiamo usare questa configurazione predefinita, che in realtà dice solo a Checkmk di non cercare di interrogare un agente per effettuare call SNMP o ping al container. |
[0:05:54] | Perché ovviamente non tutti i contenitori sono accessibili attraverso la rete IP. Quindi, in questo caso, utilizziamo solo i dati provenienti dall'host Docker per valutare lo stato del contenitore. |
[0:06:07] | Vogliamo cancellare automaticamente gli host senza dati di piggyback. Ciò significa che se un contenitore viene cancellato, ovviamente, è probabilmente qualcosa che si intende fare, quindi si vuole che venga rimosso dal monitoraggio, questa è l'opzione. |
[0:06:20] | Potremmo anche limitare gli host aggiunti se i container seguono un certo concetto di denominazione. Ad esempio, sarebbe possibile filtrare qui e aggiungere solo certi container, ma non vogliamo usarlo qui. |
[0:06:34] | Naturalmente, durante la creazione vogliamo fare una scoperta dei servizi, il che significa che non solo otteniamo l'host, ma anche tutti i servizi che sono rilevanti per il container sul container stesso. |
[0:06:45] | L'ultima cosa da fare, piuttosto importante, è limitare gli host di origine. Perché altrimenti Checkmk userebbe tutti i dati di piggyback che arrivano al server Checkmk. E non importa se si tratta di un host container, di un server vSphere o di qualsiasi altra cosa. |
[0:07:00] | Quindi, voglio assicurarmi di limitare questo a localhost, che è il nostro host Docker, in questo esempio. In questo modo, vengono utilizzati solo quei dati e possiamo lasciare le altre opzioni come predefinite. |
[0:07:15] | Ora salvo la configurazione e applico rapidamente la modifica. E se tutto ha funzionato, vediamo questo. Il DCD è stato eseguito direttamente dopo aver attivato le modifiche. |
[0:07:29] | E ha già creato i nostri due host container. Se aggiorniamo la pagina, il DCD abilita automaticamente le modifiche. |
[0:07:38] | Abbiamo già i nostri container Docker monitorati in Checkmk. Diamo ora un'occhiata all'aspetto. |
[0:07:48] | Per Docker, abbiamo due dashboard integrate. Una è quella dei nodi Docker, che si riferisce ai server Docker. Se diamo un'occhiata, non è niente di speciale. Ma è un elenco semplice per vedere quali host stanno eseguendo container Docker. |
[0:08:03] | E vediamo anche lo stato dei container, quanti sono in esecuzione, in pausa, fermi e cose del genere. La seconda dashboard integrata ci mostra i container Docker e possiamo vedere tutti i container che abbiamo, lo stato del servizio. E se i dati sono presenti, l'utilizzo della CPU, la memoria utilizzata e il tempo di attività dei container. |
[0:08:27] | Se diamo un'occhiata più da vicino a uno di questi, vediamo i servizi creati per il container, che sono servizi piuttosto basilari, come l'utilizzo della memoria. |
[0:08:37] | La parte più importante è lo stato del container Docker, perché questo stato è usato anche per determinare lo stato dell'host del container. |
[0:08:44] | Quindi, se il container non fosse in esecuzione, verrebbe fermato. E questo verrebbe usato per determinare che il container è inattivo in Checkmk. |
[0:08:54] | Bene, questo è tutto per il monitoraggio dei container Docker, abbastanza semplice, ovviamente, che si adatta a centinaia di host e migliaia di container. E avete visto che è stato davvero facile metterlo in funzione. |
[0:08:54] | Con questo concludo il video e vi ringrazio per la visione. Assicuratevi di abbonarvi per non perdere nessun video futuro. A presto. |
Vuoi saperne di più su Checkmk? Partecipa al nostro webinar "Introduzione a Checkmk".