![Configurando o servidor Squid Proxy com acesso restrito e configurando clientes para usar proxy](/f/01811c1069b85a9d7c46cd09205f1d90.png?width=100&height=100)
Docker é indiscutivelmente um dos mais queridos DevOps ferramentas que agilizam o desenvolvimento, implantação e envio de aplicativos dentro de contêineres.
O conceito de conteinerização envolve o aproveitamento de imagens de contêiner. Estes 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 configuração arquivos.
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 de 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 utilização do CPU, utilização de memória, tamanho do contêiner e utilização de largura de banda para mencionar alguns. Além disso, você pode reunir registros em tempo real que são úteis para depurar e alertar a equipe de TI quando aumentar a escala.
Zabbix é uma ferramenta popular de monitoramento de infraestrutura de TI que monitora quase todos os elementos do seu ambiente, incluindo dispositivos físicos, como servidores e dispositivos de rede, como roteadores e comuta. Ele 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 em Linux.
Aqui está o que você precisa antes de começar:
Primeiro, certifique-se de que você tem dois nós - O primeiro nó é o servidor Zabbix. Este é o nó a partir do qual monitoraremos o controle remoto Docker servidor. Temos um artigo sobre:
O segundo nó é o Docker servidor no qual Docker está instalado. Este é o nó de onde executaremos os contêineres do Docker e monitoraremos a atividade do contêiner.
Em seguida, certifique-se de ter acesso SSH ao seu Docker nó do servidor com um usuário sudo já configurado.
Com sua configuração no lugar, agora você pode arregaçar as mangas!
Monitorar Docker contêineres no servidor remoto, você precisa instalar um Agente Zabbix, que é um agente de monitoramento implementado em um nó de destino para monitorar ativamente as métricas do sistema e outros aplicativos.
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-release/zabbix-release_5.4-1+ubuntu20.04_all.deb. $ sudo dpkg -i zabbix-release_5.4-1 + ubuntu20.04_all.deb. $ sudo apt update. $ sudo apt install zabbix-agent2 Em 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-release_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-release_5.4-1% 2Bdebian10_all.deb. $ sudo apt update. $ sudo apt install zabbix-agent2.
Por padrão, o Zabbix agente está definido para enviar métricas para o Zabbix servidor no mesmo host em que está instalado. Uma vez que 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 para onde as métricas são enviadas, a porta usada para conexões e muito mais. Na maior parte, as configurações padrão funcionarão bem.
Para configurar o Zabbix agente para enviar métricas para o Zabbix servidor, localize a diretiva que está configurada para enviar métricas para o endereço de loopback ou, simplesmente, o mesmo sistema host.
Servidor = 127.0.0.1.
Defina o endereço para refletir o endereço do servidor Zabbix
Server = zabbix-server-IP.
Além disso, navegue até o 'Verificações ativas'Seção e mude a diretiva para apontar para o endereço IP do servidor Zabbix.
ServerActive = zabbix-server-IP.
Certifique-se também de ajustar o nome do host do servidor Docker de acordo. O nome do host do meu servidor Docker é Ubuntu20.
Nome do host = Ubuntu20.
Em seguida, salve as alterações e saia do arquivo de configuração do Zabbix.
Para que o agente Zabbix fique de olho nos contêineres do Docker, você precisa adicionar o usuário Zabbix, que é instalado por padrão, ao grupo do docker.
$ sudo usermod -aG docker zabbix.
Para aplicar as alterações feitas ao arquivo de configuração, reinicie o serviço do agente Zabbix e habilite-o para iniciar na inicialização do sistema.
$ sudo systemctl reinicie o zabbix-agent2. $ sudo systemctl enable zabbix-agent2.
Confirme o status de execução do agente Zabbix da seguinte maneira.
$ sudo systemctl status zabbix-agent2.
Agente Zabbix escuta na porta 10050. Se você tem um Firewall UFW ou Firewalld em execução, considere abrir a porta da seguinte maneira.
No Firewall UFW $ sudo ufw allow 10050 / tcp. $ sudo ufw reload No Firewalld $ sudo firewall-cmd --add-port = 10050 / tcp --permanent. $ sudo firewall-cmd --reload.
Excelente! Estamos agora 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 monitorar contêineres Docker.
Para monitorar um host remoto, você precisa adicioná-lo ao Zabbix painel do servidor por meio de um navegador. O Zabbix fornece uma miríade de modelos para vários serviços e aplicativos. Vincularemos o modelo apropriado ao host Docker para monitorar especificamente os contêineres. Mas primeiro, acesse a página de login do servidor Zabbix.
http://zabbix-server-ip/zabbix.
Depois de fazer login, navegue até a barra lateral direita e clique em ‘Configuração' então 'Hospedeiros’.
No canto superior direito, clique em ‘Criar host’.
Preencha os detalhes do Docker servidor como o nome de anfitrião & visível nome. Para grupos, digite 'Grupos Docker'(Cada host deve estar associado a um grupo).
Abaixo de 'InterfacesCom o rótulo ', clique em'Adicionar’E no menu que aparece selecione‘Agente’.
Em seguida, preencha o endereço IP privado do servidor Docker e verifique se a porta está definida para 10050.
Em seguida, clique no Modelos guia, e no campo ‘Vincular novos modelosSeção ', especifique'Docker by Zabbix agent 2’. Em seguida, clique no botão ‘Adicionar' botão.
Ao clicar no botão Adicionar, o host Docker remoto será adicionado automaticamente conforme indicado.
Neste ponto, o servidor Zabbix agora está monitorando seu servidor Docker. Na próxima etapa, implantaremos um contêiner e verificaremos quais métricas podem ser monitoradas.
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 lançar um contêiner.
Neste exemplo, vamos puxar um Ubuntu imagem do contêiner e crie um contêiner chamado docker_test_container. Em seguida, obteremos acesso ao shell usando o -isto
opção. Todo o comando para as operações é o seguinte.
$ sudo docker run --name docker_test_container -it ubuntu bash.
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 do servidor. Clique em 'Monitoramento' então 'Hospedeiros’. Clique no nome do seu servidor Docker e na opção de menu que aparece, selecione ‘Dados mais recentes’.
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.
Você também pode visualizar os gráficos das várias métricas de contêiner clicando no botão ‘gráficos'Opções do servidor Docker no'Hospedeiros' página. Abaixo você pode ver as métricas de uso de CPU e memória.
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 significa que encerramos o contêiner com um código de erro 2. Isso é registrado nos metadados do contêiner. Para visualizar o alerta, navegue até a barra lateral esquerda e clique em ‘Monitoramento' então 'Painel’.
O alerta é exibido abaixo.
Para retificar 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.