Sysdig para Ops

posted in: Soluções | 2

Oi Pessoal,

Queremos mostrar para vocês hoje como é possível analisar seu ambiente Docker e ver a saúde de seus containers de forma fácil e bem prática, conheça nesse post o Sysdig. O Sysdig é uma ferramenta escrita em Lua que vem como uma opção, principalmente para quem é de operações, para realizar algum troubleshooting em seu sistema. Ele trás de forma rápida e fácil todas as informações que você precisa saber, não havendo mais a necessidade de executar dois, três comandos para ter uma noção do que está acontecendo, com o Sysdig em um único comando você já terá visibilidade do que é importante você saber e do que pode estar ocorrendo em seu sistema. O Sysdig também é multiplataforma, então é possível instalar ele tanto em Windows, quanto Linux e Mac, e claro, ele suporta containers, ótimo! 😉 Veja abaixo um mini tutorial que montamos para você:

1 – Instalação:

Simples, se for em um host Linux você pode utilizar o comando abaixo:

curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

Você ainda pode baixar os repositório e utilizar sua ferramenta para instalação (yum, apt-get e afins), que saber como? Da uma olhada aqui e veja também como instalar o Sysdi em Windows e Mac.

2 – Utilização:

Mas claro o que nos interessa é saber como mais como está o uso de recursos do meu host, e descobrir qual container está utilizando mais em relação aos outros, ou ainda ver como está a saúde do meu ambiente Docker, mas como o Sysdig faz isso? Ele fica ‘ouvindo’ as chamadas de sistema e com base nessas informações monta os reports para você, veja na imagem abaixo como ele trabalha tanto com Docker quanto com LXC puro:

Perceba que o Kernel envia para o Sysdig todas as informações que foram processadas por ele, seja de acesso a memória, disco, rede, processador, etc. e com base nisso o Sysdig consegue mapear qual processo está vinculado a qual arquivo, ou quanto de trafego está sendo gerado por um container.

Veja abaixo o exemplo de alguns comandos que pode lhe ser muito uteis (existe um lista bem grande disponível, vamos colocar aqui apenas os essenciais e extremamente úteis para fazer um troubleshooting em seu ambiente Docker):

  • Listagem dos containters existentes:
    sysdig -c lscontainers
  • Top por containers que mais utilizam CPU:
    sysdig -c topcontainers_cpu
  • Você ainda por visualizar quais processos estão consumindo mais recursos dentro de cada container, para isso:
    sysdig -pc -c topprocs_cpu

O retorno desse comando será algo parecido com este gif:

 

topproc_cpu

  • Você pode ainda filtrar a saída do comando pelo nome de seu container:
    sysdig -pc -c topprocs_cpu container.name contains wordpress
  • Quer ver quanto de rede um container está utilizando?
    sysdig -pc -c topcontainers_net
  • E qual processo dentro de cada container está utilizando mais rede?
    sysdig -pc -c topprocs_net
  • Quais portas estão trafegando mais?
    sysdig -pc -c topconns
  • Consigo filtrar por nome de container também?
    sysdig -pc -c topconns container name=wordpress
  • Eu consigo saber quais containers estão utilizando mais I/O em meu host?
    sysdig -c topcontainers_file
  • Consigo saber qual processo dentro do container está fazendo isso?
    sysdig -pc -c topprocs_file
  • E quais arquivos realmente estão sendo mais lidos ou escritos?
    sysdig -pc -c topfiles_bytes

 

Ufa, já é um começo certo? Existem muitas outras opções disponíveis, como por exemplo agregar logs de todos os containers em uma única visualização, com o Sysdig isso é simples de se fazer, quer ver mais? Acessa a Wiki dele, ela é rica em informações: http://www.sysdig.org/wiki

Por hoje era isso, fique por dentro das novidades aqui do Blog e se você ainda não viu, montamos um fórum aqui no blog, acessa o link ai em cima e poste a sua dúvida ou dificuldade, assim tanto nós quantos outras pessoas da comunidade Docker podem te ajudar 😉 e claro nos ajude divulgando o MundoDocker, Abraço!

Entusiasta Open Source, seu principal foco é ir atrás de ideias novas e torna-las realidade através de soluções simples e eficientes, o menos é mais, e o dividir é multiplicar.
  • Eduardo Hernacki

    Eu gosto muito da ideia do SysDig, mas acho ele complicado de gerenciar porque ele recompila o Kernel do Linux adicionando os seus módulos personalizados.

    Vou esperar eles lançarem uma versão instalável via RPM ou DEB para utilizá-lo, até porque não quero ter que reinstalar o SysDig a cada update de Kernel.

  • Julio Cézar

    Pra isso existe o docker, para dockerizá-lo. Não precisa ficar dependente de kernel