Monitoramento de Containers

José Barbosa
Aug 24, 2016 · 3 min read

Na última quarta-feira (17/08) aconteceu o DevOps & Tests Hack Nights uma iniciativa do Angelo Belchior, Renato Groff e Joel Rodrigues, e eu marquei presença palestrando sobre Monitoramento de Containers. Nesse post quero compartilhar um pouco do que mostrei na minha palestra.

Não vou entrar em detalhes aqui, mas a palestra foi gravada e você pode conferir o vídeo no final desse post. Agora se você não conhece nadinha de Docker recomendo à você, antes de prosseguir, conferir o blog da Lambda3 que tem um monte de artigos bem legais sobre Docker.

Monitorando containers

Rodar um container é fácil, mante-lo rodando que é a parte difícil.

A premissa básica do desenvolvimento de software é que em algum momento algo vai dar errada, cedo ou tarde algo não irá funcionar corretamente e você terá mergulhar na longa empreitada de debugar e descobrir o que está acontecendo. Quem nunca! Agora, uma abordagem que pode te ajudar e salvar horas de trabalho é fazer o monitoramento da sua aplicação.

Monitoramento da a você a visibilidade sobre sua infraestrutura e aplicação. Não vá para produção sem instrumentação e/ou monitoramento.

Para começar a monitorar os seus containers, pode pode usar as tools que apresento abaixo, também falei sobre elas na palestra. Todas são muito simples de usar, sinta-se à vontade para escolher o que preferir :)

1. Docker Stats — A base de tudo

O Docker possui uma API para você saber como está a saúde de um container, basta você digitar o comando abaixo para ver um pequeno resumo sobre o consumo dos containers. Essa API também é a base para outras ferramentas de monitoramento.

$ docker stats

O resultado deverá ser algo parecido com isso:

docker stats

2. cAdvisor — A solução simples

Criado pelo Google para monitorar containers o cAdvisor é um projeto open-source, que coleta dados dos seus containers e exibe em uma página HTML com alguns gráficos. O Google já usa o cAdisor faz alguns anos para monitorar seus próprios containers.

O cAdvisor é usado pelo Google para monitorar containers

Existe uma imagem no Docker Hub, fazendo com que seu uso seja simples como rodar qualquer outro container, você pode usar o comando abaixo para iniciar o monitoramento:

$ sudo docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest

3- cAdvisor + InfluxDB + Grafana — O combo bem elaborado

Conheci essas ferramentas na palestra do Brian Christner na Docker Con EU, nela ele explica como criar um dashboard onde as informações do cAdvisor são enviadas para o InfluxDB e consumidas pelo Grafana.

O InfluxDB é um banco dedicado para armazenar dados em séries temporais, já o Grafana é um projeto open-source para montar dashboards.

Um dashboard de monitoramento visualizado no Grafana

Se você se interessou pelo assunto não deixe de conferir os slides e a gravação da palestra.

Slides da palestra.
Gravação da palestra, minha palestra começa aos 2h47m.

O que vocês acharam? Vocês monitoram seus containers? Não deixem de comentar!

PS: Não deixem de conferir o blog do meu parceiro Nicolas Takashi http://ntakashi.net/ ele também marcou presença no Devops Tests Hack Nights.

Abraços, até a próxima.

José Barbosa

Written by

Full stack developer that believe in the agile principles at @lambdatres. I tweet about software development, agile, space, productivity and other stuff.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade