Troubleshooting
Docker
Infradel Team
Quem somos
Infradel:
● Objetivo: Consultoria para migração de projetos
do modelo centralizado para cloud, com automação
e auto-serviço.
● Membros:
○ Rafael Gomes (PoA - Brasil)
○ Rafael Nunes (PoA - Brasil)
○ Augusto Amaral (PoA - Brasil)
○ Fernando Laimer (PoA - Brasil)
○ Ronak Jain (Belo Horizonte - Brasil)
○ Chris Briesemeister ( Chicago - EUA)
○ Ben Cornelius ( Chicago - EUA)
○ Freddy Coronel ( Quito - Equador)
● Principais tecnologias
○ Cloud (AWS)
○ Automação de infra (Ansible, Cloudformation)
○ Testes de infraestrutura (ServerSpec, Behave)
○ Container (Docker)
○ Programação (Python e Ruby)
Quem sou eu
Rafael Gomes:
● Soteropolitano
● Apaixonado por compartilhamento
● Consultor na Thoughtworks
● Blog: techfree.com.br
● Twitter/github: @gomex
● Áreas de interesse/foco:
○ Cultura DevOps
○ Cloud
○ Entrega contínua
○ Automação de infraestrutura
○ Teste de infraestrutura
○ Monitoramento
O que estou fazendo de relevante agora
Livro:
http://tinyurl.com/docker-devel
● Pague quanto quiser,
inclusive nada
● Não precisa saber
nada de Docker
● Licenciado com
Creative Commons
Conhece docker?
Container, baleia, isso faz algum sentido pra ti?
https://telegram.me/dockerbr
Motivações
● Precisamos ter uma visão
do todo
● Precisamos da
possibilidade de uma
analise aprofundada
Troubleshootings
Motivações:
● Analisar problema no
contexto de containers é
diferente
● Precisamos ter visibilidade
sobre o que acontece no
container e qual seu nome
Comandos básicos
Visualizando os containers
container1
# docker ps
container2
container3
Visualizando os containers
container1
# docker logs container3
container2
container3
dados da console do
container
Visualizando os containers
container1
# docker stats container3
container2
container3
Monitoria de uso dos
recursos
Analisando mais..
Conhece?
Deveria conhecer… "Capitão planeta" dos sysadmins
Usando sysdig
Não precisa instalar nada
docker run -it --rm --name=sysdig --privileged=true 
--volume=/var/run/docker.sock:/host/var/run/docker.sock 
--volume=/dev:/host/dev 
--volume=/proc:/host/proc:ro 
--volume=/boot:/host/boot:ro 
--volume=/lib/modules:/host/lib/modules:ro 
--volume=/usr:/host/usr:ro 
sysdig/sysdig
Consumo de processamento
container1
sysdig -pc -c topprocs_cpu
container2
container3
Processos na rede
container1
sysdig -pc -c topprocs_net
container2
container3
Conexões de rede
container1
sysdig -pc -c topconns
container2
container3
Analisar tráfego de rede
container1
sysdig -A -cecho_fds
container.name=container3
and fd.port=80 container2
container3
Atividade no disco
container1
sysdig -pc -c topprocs_file
container2
container3
Atividade no disco por arquivo
container1
sysdig -pc -c topfiles_bytes
container2
container3
Segurança! Comandos digitados
container1
sysdig -pc -c spy_users
container2
container3
Segurança! Logs!
container1
sysdig -pc -cspy_logs
container2
container3
Segurança! Logs específicos
container1
sysdig -pc -cspy_logs
container.name=container3
container2
container3
Caminho de um troubleshooting
log
container
containers
stats
container
Top processos
Top processos - Rede Atividade no diso
Segurança
Causa raiz
Dúvidas?
Rafael Gomes:
twitter.com/gomex
rgomes@thoughtworks.com
techfree.com.br
slideshare.net/linux.rafa
Obrigado!

Troubleshooting docker