3.1 Comando docker stats
O Docker fornece uma ferramenta integrada para monitorar containers em tempo real — o comando docker stats
. Esse comando permite acompanhar as principais métricas de desempenho dos containers, como uso de CPU, memória, rede e disco. Bora ver como usar o docker stats pra entender o estado e desempenho dos seus containers.
O comando docker stats
fornece estatísticas dinâmicas sobre o funcionamento dos containers em tempo real. Ele exibe as seguintes métricas pra cada container:
- CPU %: porcentagem de uso da CPU pelo container.
- MEM USAGE / LIMIT: uso de memória do container e o limite configurado.
- MEM %: porcentagem de uso de memória pelo container.
- NET I/O: tráfego de rede (entrada e saída).
- BLOCK I/O: quantidade de operações de entrada/saída no disco.
- PIDS: número de processos rodando dentro do container.
Uso básico do comando docker stats
Rodar o comando docker stats
sem parâmetros exibe as métricas pra todos os containers em execução:
docker stats
Exemplo de saída do comando docker stats
:
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
Monitorando um container específico
Você pode acompanhar as métricas de um container específico, informando o nome ou ID dele:
docker stats my_nginx
3.2 Configurações do comando docker stats
Parâmetros do comando docker stats
O comando docker stats
suporta várias opções que permitem personalizar a saída de dados:
--all
ou-a
: mostrar métricas para todos os containers, incluindo os que estão parados.--no-stream
: exibir as métricas uma única vez e encerrar a execução do comando.--format
: ajustar a saída de dados usando templates.
Exemplo de uso do parâmetro --no-stream
Exibindo métricas uma vez para todos os containers:
docker stats --no-stream
Exemplo de uso do parâmetro --format
Saída de dados formatada:
docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"
Exemplo de saída:
CONTAINER ID CPU % MEM USAGE / LIMIT
d9b100f2f636 0.07% 1.24MiB / 1.952GiB
fa3f3f3f3f3f 2.13% 230.5MiB / 1.952GiB
3.3 Uso prático de docker stats
Exemplo 1: monitoramento da carga no servidor
Você pode usar o docker stats pra monitorar os containers no servidor e identificar os containers com alto consumo de CPU ou memória. Isso vai te ajudar a otimizar o uso dos recursos e melhorar a performance dos aplicativos.
docker stats
Exemplo 2: monitoramento de um container específico durante testes
Quando estiver testando novas versões dos aplicativos ou mudando configurações, você pode acompanhar as métricas de um container específico pra garantir que não haja impacto negativo na performance.
docker stats my_test_container
Exemplo 3: integração com sistemas de monitoramento
Você pode integrar a saída do docker stats
com sistemas de monitoramento externos, usando a opção --format
pra criar um formato de saída compatível com sua ferramenta de monitoramento.
docker stats --no-stream --format "{{.Container}}: CPU {{.CPUPerc}}, MEM {{.MemUsage}}"
Limitações do comando docker stats
Embora o docker stats
forneça métricas úteis em tempo real, ele tem algumas limitações:
- Métricas limitadas: o comando mostra apenas métricas básicas e não fornece informações detalhadas sobre o estado dos containers.
- Uso manual: o docker stats é conveniente pra uso manual, mas pra monitoramento automatizado e alertas, é melhor usar ferramentas especializadas como Prometheus e Grafana.
GO TO FULL VERSION