CodeGym /Corsi /Docker SELF /Strumenti di monitoraggio integrati

Strumenti di monitoraggio integrati

Docker SELF
Livello 21 , Lezione 2
Disponibile

3.1 Comando docker stats

Docker offre uno strumento integrato per monitorare i container in tempo reale — il comando docker stats. Questo comando permette di tracciare le principali metriche di performance dei container, come l'utilizzo di CPU, memoria, rete e disco. Diamo un'occhiata a come usare docker stats per ottenere una panoramica dello stato e delle prestazioni dei tuoi container.

Il comando docker stats fornisce statistiche dinamiche sul funzionamento dei container in tempo reale. Mostra le seguenti metriche per ogni container:

  • CPU %: percentuale di utilizzo della CPU da parte del container.
  • MEM USAGE / LIMIT: utilizzo della memoria da parte del container e limite impostato.
  • MEM %: percentuale di utilizzo della memoria da parte del container.
  • NET I/O: traffico di rete (in entrata e in uscita).
  • BLOCK I/O: numero di operazioni di input/output del disco.
  • PIDS: numero di processi eseguiti all'interno del container.

Uso base del comando docker stats

Eseguendo il comando docker stats senza parametri si visualizzano le metriche per tutti i container in esecuzione:

Terminale


docker stats 

Esempio di output del comando docker stats:

Terminale


CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
d9b100f2f636   my_nginx            0.07%     1.24MiB / 1.952GiB    0.06%     1.68kB / 0B       0B / 12.3MB       2
fa3f3f3f3f3f   my_postgres         2.13%     230.5MiB / 1.952GiB   11.52%    2.12MB / 2.05MB   85.6MB / 45.2MB   10

Monitoraggio di un container specifico

Puoi monitorare le metriche di un container specifico specificando il suo nome o ID:

Terminale


docker stats my_nginx 

3.2 Impostazioni del comando docker stats

Parametri del comando docker stats

Il comando docker stats supporta diverse opzioni che permettono di configurare l'output dei dati:

  • --all o -a: mostra le metriche per tutti i container, inclusi quelli fermati.
  • --no-stream: mostra le metriche una sola volta e termina l'esecuzione del comando.
  • --format: personalizza l'output dei dati utilizzando template.

Esempio di utilizzo del parametro --no-stream

Output delle metriche una sola volta per tutti i container:

Terminal

docker stats --no-stream

Esempio di utilizzo del parametro --format

Output formattato dei dati:

Terminal

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"

Esempio di output:

Terminal

CONTAINER ID   CPU %     MEM USAGE / LIMIT
d9b100f2f636   0.07%     1.24MiB / 1.952GiB
fa3f3f3f3f3f   2.13%     230.5MiB / 1.952GiB

3.3 Utilizzo pratico di docker stats

Esempio 1: monitoraggio del carico sul server

Puoi utilizzare docker stats per monitorare i container sul server e identificare quelli con un alto utilizzo della CPU o della memoria. Questo ti aiuterà a ottimizzare l'uso delle risorse e migliorare le prestazioni delle applicazioni.

Terminal

docker stats

Esempio 2: monitoraggio di un container specifico durante i test

Quando testi nuove versioni delle applicazioni o cambi le configurazioni, puoi monitorare le metriche di un container specifico per assicurarti che non ci siano impatti negativi sulle prestazioni.

Terminal

docker stats my_test_container

Esempio 3: integrazione con sistemi di monitoraggio

Puoi integrare l'output di docker stats con sistemi di monitoraggio esterni utilizzando l'opzione --format per creare un formato di output compatibile con il tuo strumento di monitoraggio.

Terminal

docker stats --no-stream --format "{{.Container}}: CPU {{.CPUPerc}}, MEM {{.MemUsage}}"

Limitazioni del comando docker stats

Anche se docker stats fornisce metriche utili in tempo reale, ha alcune limitazioni:

  • Metriche limitate: il comando mostra solo metriche principali e non fornisce informazioni dettagliate sullo stato dei container.
  • Uso manuale: docker stats è comodo da utilizzare manualmente, ma per un monitoraggio automatizzato e allarmi è meglio utilizzare strumenti specializzati come Prometheus e Grafana.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION