Como monitorar os recipientes do docker com a ferramenta de monitoramento Zabbix

Como monitorar os recipientes do docker com a ferramenta de monitoramento Zabbix

Docker é sem dúvida um dos mais queridos DevOps Ferramentas que otimizam o desenvolvimento, implantação e envio de aplicativos dentro de contêineres.

O conceito de contêinerização implica alavancar imagens de contêineres. São pacotes executáveis ​​pequenos, leves e independentes que incluem tudo o que é necessário para executar um aplicativo, incluindo o código -fonte, bibliotecas e dependências e arquivos de configuração.

Ao fazer isso, o aplicativo pode ser executado em quase qualquer ambiente de computação; Infraestrutura de TI tradicional, nuvem e uma infinidade de sabores Linux / Unix.

O monitoramento dos contêineres ajuda as equipes de operação a identificar problemas subjacentes e resolvê -los em tempo hábil. O monitoramento de contêineres abrange a captura de métricas básicas, como uso da CPU, utilização da memória, tamanho do contêiner e utilização de largura de banda para mencionar alguns. Além disso, você pode reunir toras em tempo real que são úteis para depurar e alertar a equipe de TI quando ampliar.

Zabbix é uma ferramenta popular de monitoramento de infraestrutura de TI que fica de olho em quase todos os elementos do seu ambiente, incluindo dispositivos físicos, como servidores e dispositivos de rede, como roteadores e interruptores. Também pode monitorar aplicativos, serviços e bancos de dados.

Neste guia, mostraremos como você pode monitorar Docker Recipientes usando o Zabbix Ferramenta de monitoramento no Linux.

Requisitos

Aqui está o que você precisa antes de começar:

Primeiro, verifique se você tem dois nós - o primeiro nó é o servidor Zabbix. Este é o nó do qual monitoraremos o controle remoto Docker servidor. Temos um artigo sobre:

  • Como instalar o Zabbix no Rocky Linux e Almalinux
  • Como instalar a ferramenta de monitoramento Zabbix no Debian 11/10
  • Como instalar o Zabbix no Rhel 8
  • Como instalar o Zabbix no Ubuntu

O segundo nó é o Docker servidor em qual Docker está instalado. Este é o nó de onde executaremos os contêineres do Docker e monitoraremos a atividade do contêiner.

  • Como instalar o Docker no Rocky Linux e Almalinux
  • Como instalar e usar o Docker no Ubuntu 20.04
  • Como instalar o Docker em Centos e Rhel 8/7

Em seguida, verifique se você tem acesso SSH ao seu Docker Nó do servidor com um usuário sudo já configurado.

Com sua configuração no lugar, agora você pode rolar as mangas!

Etapa 1: Instale o Zabbix-Agent no Linux

Monitorar Docker Recipientes no servidor remoto, você precisa instalar um Agente Zabbix, que é um agente de monitoramento implantado em um nó de destino para monitorar ativamente as métricas do sistema e outras aplicações.

Primeiro, você precisa instalar o Zabbix repositório no Docker nó.

----------- No Ubuntu 20.04 ----------- $ sudo wget https: // repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-lançamento/zabbix-ralease_5.4-1+Ubuntu20.04_All.Deb $ sudo dpkg -i zabbix -ralease_5.4-1+Ubuntu20.04_All.Deb $ sudo apt update $ sudo apt install zabbix-agent2 ----------- Na distro baseada em Rhel ----------- $ sudo rpm -uvh https: // repo.zabbix.com/zabbix/5.4/RHEL/8/X86_64/ZABBIX-RELEASE-5.4-1.EL8.Noarch.rpm $ sudo dnf update $ sudo dnf install zabbix-agent ----------- No Debian 11 ----------- $ sudo wget https: // repo.zabbix.com/zabbix/5.4/Debian/Pool/Main/Z/Zabbix-Release/Zabbix-Release_5.4-1%2bdebian11_all.Deb $ sudo dpkg -i zabbix -ralease_5.4-1%2bdebian11_all.Deb $ sudo apt update $ sudo apt install zabbix-agent2 ----------- No Debian 10 ----------- $ sudo wget https: // repo.zabbix.com/zabbix/5.4/Debian/Pool/Main/Z/Zabbix-Release/Zabbix-Release_5.4-1%2bdebian10_all.Deb $ sudo dpkg -i zabbix -ralease_5.4-1%2bdebian10_all.Deb $ sudo apt update $ sudo apt install zabbix-agent2 

Etapa 2: Configurar Zabbix-Agent no Linux

Por padrão, o Zabbix Agente deve enviar métricas para o Zabbix servidor no mesmo host está instalado. Como nosso objetivo é monitorar Docker Contêineres no servidor remoto, algumas configurações adicionais são necessárias.

Portanto, acesse o Zabbix Arquivo de configuração do agente.

$ sudo vim/etc/zabbix/zabbix_agent2.conf 

O arquivo de configuração contém configurações que especificam o endereço onde as métricas são enviadas, a porta usada para conexões e muito mais. Na maioria das vezes, as configurações padrão funcionarão muito bem.

Para configurar o Zabbix agente para enviar métricas para o Zabbix Servidor, localize a diretiva configurada para enviar métricas para o endereço de loopback ou simplesmente colocar o mesmo sistema host.

Servidor = 127.0.0.1 

Defina o endereço para refletir o endereço do servidor Zabbix

Servidor = zabbix-server-ip 

Além disso, navegue para o 'Verificações ativas'Seção e altere a diretiva para apontar para o endereço IP do servidor Zabbix.

Serveractive = zabbix-server-ip 

Certifique -se de ajustar também o nome do host do servidor Docker de acordo. O nome do host do meu servidor Docker é Ubuntu20.

HostName = Ubuntu20 

Em seguida, salve as alterações e saia do arquivo de configuração do Zabbix.

Para o agente Zabbix ficar de olho nos recipientes do Docker, você precisa adicionar o usuário do Zabbix, que é instalado por padrão, ao grupo Docker.

$ sudo userMod -AG Docker Zabbix 

Para aplicar as alterações feitas no arquivo de configuração, reinicie o serviço Zabbix-Agent e permita que ele inicie na inicialização do sistema.

$ sudo systemctl reiniciar zabbix-agent2 $ sudo systemctl atabille zabbix-agent2 

Confirme o status de execução do agente Zabbix da seguinte forma.

$ sudo Systemctl status zabbix-agent2 
Verifique o status do agente Zabbix

Zabbix Agent escuta na porta 10050. Se você tem um firewall ou firewalld da UFW, considere abrir a porta como segue.

----------- No Firewall da UFW ----------- $ sudo ufw permitir 10050/tcp $ sudo ufw recarregar ----------- No firewalld ----------- $ sudo firewall-cmd --add-port = 10050/tcp-permanente $ sudo firewall-cmd--reload 

Ótimo! Agora estamos na metade do caminho. O agente Zabbix agora pode enviar o Docker Métricas de contêiner para o servidor Zabbix.

Na próxima etapa, adicionaremos o Docker servidor para o Zabbix interface da web e recipientes para docker de monitor.

Etapa 3: Adicione o Docker ao Zabbix Server para monitoramento

Para monitorar um host remoto, você precisa adicioná -lo ao Zabbix Painel do servidor através de um navegador. O Zabbix fornece inúmeros modelos para vários serviços e aplicativos. Vincularemos o modelo apropriado ao host do Docker para monitorar especificamente os contêineres. Mas primeiro, acesse a página de login do Zabbix Server.

http: // zabbix-server-ip/zabbix 
Zabbix Login

Depois de fazer login, navegue até a barra lateral direita e clique em 'Configuração' então 'Anfitriões'.

Configuração do host Zabbix

No canto superior direito, clique em 'Crie host'.

Zabbix Criar host

Preencha os detalhes do Docker servidor como o nome de anfitrião & visível nome. Para grupos, digite 'Grupos Docker'(Todo host deve estar associado a um grupo).

Abaixo de 'Interfaces'Rótulo Clique em'Adicionar'E no menu que aparece selecionado'Agente'.

Adicionar host ao monitoramento Zabbix

Em seguida, preencha o endereço IP privado do Docker Server e verifique se a porta está definida como 10050.

Adicionar servidor Docker ao Zabbix

Em seguida, clique no Modelos guia, e no 'Vincular novos modelos'Seção, especifique'Docker por Zabbix Agent 2'. Em seguida, clique no 'Adicionar' botão.

Link Zabbix Modelo ao Docker

Ao clicar no botão Adicionar, o host do Docker remoto será automaticamente adicionado conforme indicado.

Monitoramento do Docker do Zabbix

Neste ponto, o servidor Zabbix agora está monitorando seu servidor Docker. Na próxima etapa, implantaremos um contêiner e verifique quais métricas podem ser monitoradas.

Etapa 4: Monitorando as métricas do Docker no monitoramento Zabbix

Para começar a monitorar Docker Métricas, vamos lançar um contêiner de teste. Então, volte para o seu Docker servidor e inicie um contêiner.

Neste exemplo, vamos puxar um Ubuntu imagem de contêiner e crie um recipiente chamado Docker_test_container. Então ganharemos acesso de shell usando o -isto opção. Todo o comando para as operações é o seguinte.

$ sudo docker run -nome docker_test_container -it ubuntu bash 
Crie a imagem do contêiner ubuntu no Docker

Você pode tentar algo ambicioso, como instalar pacotes de software como Apache ou Mariadb Para gerar algumas métricas, como utilização da CPU e tráfego de rede.

Agora volte para o Zabbix Painel de servidor. Clique em 'Monitoramento' então 'Anfitriões'. Clique no nome do seu servidor Docker e na opção de menu que aparece, selecione 'Dados mais recentes'.

Hosts de monitoramento do Zabbix

Após alguns minutos de implantação do contêiner, o servidor Zabbix detectará o contêiner e começará a preencher algumas estatísticas.

Zabbix Monitoring Docker Host

Você também pode ver os gráficos das várias métricas de contêiner clicando no 'Gráficos'Opções do servidor Docker no'Anfitriões' página. Abaixo você pode ver as métricas de uso da CPU e memória.

Desempenho do Docker de Monitoramento Zabbix

Para simular a falha do contêiner, sairemos inesperadamente do contêiner executando o comando abaixo no shell do contêiner.

# saída 2 

Isso implica que terminamos o contêiner com um código de erro de 2. Isso é registrado dentro dos metadados do contêiner. Para ver o alerta, navegue até a barra lateral esquerda e clique em 'Monitoramento' então 'Painel'.

O alerta é exibido abaixo.

Avisões do Docker de Zabbix

Para corrigir o erro, basta iniciar o contêiner novamente.

$ sudo docker start docker_test_container 

E isso nos leva ao final deste guia. Nós o orientamos em um procedimento passo a passo de como você pode monitorar Docker Recipientes usando o Zabbix ferramenta de monitoramento.