Há várias maneiras de monitorar os contêineres do Docker. Este blog explicará algumas opções simples e fáceis de usar:

  1. estatísticas da plataforma comando
  2. API remota do Docker
  3. cAdvisor
    1. Prometeu
    2. InfluxDB
  4. Plano de controle universal do Docker

Vamos dar uma olhada em cada uma delas.

Usaremos um Servidor Couchbase para coletar os dados de monitoramento. Vamos iniciar o servidor como:

arungupta/couchbase A imagem é explicada em github.com/arun-gupta/docker-images/tree/master/couchbase. Ele funciona:

  • Configura a memória para o serviço de índice e dados
  • Configura o servidor Couchbase para o serviço de índice, dados e consulta
  • Configura as credenciais de nome de usuário e senha

Agora vamos coletar dados de monitoramento.

estatísticas da plataforma

estatísticas da plataforma exibir uma transmissão ao vivo das estatísticas de uso de recursos do(s) contêiner(es) a seguir:

  • Uso da CPU %
  • Uso de memória, limite, uso de %
  • E/S de rede
  • E/S de disco

As estatísticas são atualizadas a cada segundo. Aqui está um exemplo de saída:

Por padrão, esse comando exibe estatísticas de todos os contêineres em execução. Uma lista de nomes ou IDs de contêineres pode ser especificada, separada por um espaço, para restringir o fluxo a um subconjunto de contêineres em execução. Por exemplo, estatísticas apenas para o contêiner
O contêiner do Couchbase pode ser visto como:

onde couchbase é o nome do contêiner. E o resultado é semelhante:

--no-stream pode ser especificada quando apenas o primeiro instantâneo é exibido e os resultados não são transmitidos. A opção Contêiner Docker Logentries pode ser usado para coletar
esses dados.

API remota do Docker

O daemon do Docker fornece um API REST remota. Essa API é usada pelo cliente para se comunicar com o mecanismo. Essa API também pode ser invocada por outras ferramentas, como
enrolar ou Cliente REST do Postman para Chrome.

Se você estiver criando daemons do Docker usando o Docker Machine no OSX Mavericks, fazer com que essa API funcione é um pouco complicado. Se você estiver no Mac, siga as instruções em Ativar a API remota do Docker para
garantir que o curl possa invocar essa API REST. A API que fornece estatísticas sobre o contêiner é /containers/{id}/stats ou /containers/{name}/stats.

Em seguida, mais estatísticas sobre o contêiner podem ser obtidas como:

O seguinte resultado (formatado) é exibido:

Há muito mais detalhes sobre memória, disco e rede. Um novo conjunto de métricas é enviado a cada segundo.

cAdvisor

cAdvisor ou Container Advisor fornecem métricas de host e contêineres. Ele é um daemon em execução que coleta, agrega, processa e exporta informações sobre os contêineres em execução. Vamos iniciar o cAdvisor
contêiner:

O painel do cAdvisor mostra apenas os dados dos últimos 60 segundos. No entanto, vários back-ends, como o Prometheus e o InfluxDB,
que permite o armazenamento, a recuperação e a análise de longo prazo.

Uso Ferramenta de consulta do Couchbase para se conectar ao servidor Couchbase:

Invocar um Consulta N1QL:

O cAdvisor armazena apenas um minuto de dados e aqui está uma captura do painel:
cadvisor-cpu-usage

E uso de memória:

cadvisor-total-memory-usage

Há muitas ferramentas que podem usar os dados gerados pelo cAdvisor e exibi-los em um bom painel. Mais detalhes estão disponíveis em github.com/google/cadvisor/tree/master/docs.

Plano de controle universal do Docker

O Docker Universal Control Plane (DUCP) permite gerenciar e implantar aplicativos distribuídos Dockerizados, tudo de dentro do firewall. Ele se integra aos principais sistemas, como LDAP/AD, para gerenciar usuários e fornece uma interface para que as equipes de operações de TI
implementar e gerenciar. RBAC, integração SSO com o Docker Trusted Registry, interface de usuário da Web simples e fácil de usar são alguns dos principais recursos. Leia mais Visão geral do produto para uma completa
conjunto de recursos.

Plano de controle universal do Docker com a máquina do Docker é a maneira mais fácil de experimentar isso em seu computador local. As instruções são muito detalhadas e funcionam imediatamente. Veja a seguir
algumas imagens após a implantação de uma imagem do Couchbase.

A instalação do DUCP consiste em um controlador DUCP e um ou mais hosts. Eles são configurados em um Docker Swarm cluster. Em seguida, os contêineres são iniciados nesses clusters:

Docker Universal Control Plane Image
O mapeamento de portas é facilmente definido:
Docker Universal Control Port Mapping
Quando o contêiner estiver em execução, as estatísticas de monitoramento poderão ser vistas:
Docker Universal Control Monitoring Stats
E, finalmente, o belo painel de instrumentos:

Docker Universal Control Plane Dashboard

A pacote de clientes é fornecido e mostra as informações sobre o cluster do Docker Swarm como:

Há muitas ferramentas que fornecem dados de monitoramento:

estatísticas da plataforma e API remota do Docker são, sem dúvida, os mais fáceis de lhe dar uma primeira visão geral de
seus dados de monitoramento.

E, a partir daí, tudo fica mais interessante!

Autor

Postado por Arun Gupta, vice-presidente de defesa do desenvolvedor, Couchbase

Arun Gupta é o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experiência na liderança de equipes multifuncionais para desenvolver e executar estratégias, planejamento e execução de conteúdo, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e é membro fundador da equipe Java EE. Gupta é autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experiência em palestras em mais de 40 países sobre diversos tópicos e é um JavaOne Rock Star há três anos consecutivos. Gupta também fundou o capítulo Devoxx4Kids nos EUA e continua a promover a educação tecnológica entre as crianças. Autor de vários livros sobre tecnologia, corredor ávido, viajante do mundo inteiro, campeão de Java, líder de JUG, membro do NetBeans Dream Team e capitão do Docker, ele pode ser facilmente acessado em @arungupta.

Deixar uma resposta