Como configurar o monitoramento de infraestrutura com Zabbix

10 min de leitura Infraestrutura
Como configurar o monitoramento de infraestrutura com Zabbix

Introdução

Manter a disponibilidade de serviços e a performance de servidores é o maior desafio de qualquer profissional de TI ou dono de PME. O downtime não causa apenas frustração, mas prejuízos financeiros diretos e perda de confiança dos clientes. Para evitar que você seja o último a saber que um serviço caiu, é fundamental implementar uma estratégia de monitoramento proativo.

Neste tutorial, vamos aprender como configurar o Zabbix, uma das ferramentas de monitoramento de infraestrutura mais robustas e utilizadas no mercado mundial. O Zabbix permite que você tenha uma visão centralizada de toda a sua rede, coletando métricas essenciais como:

  • Disponibilidade de hosts: Saber se o servidor ou o switch está online.
  • Uso de recursos: Monitorar carga de CPU, consumo de memória RAM e espaço em disco.
  • Serviços de rede: Verificar o status de bancos de dados (MySQL/PostgreSQL), servidores web (Apache/Nginx) e protocolos (HTTP, SMTP, ICMP).
  • Alertas em tempo real: Receber notificações automáticas antes que um problema se torne uma crise.

Ao final deste guia, você terá uma base sólida para transformar sua gestão de infraestrutura de um modelo reativo (apagar incêndios) para um modelo preventivo (antecipar falhas).

Pré-requisitos

Para garantir uma implementação bem-sucedida do Zabbix e evitar falhas de dependência ou performance durante o monitoramento da sua infraestrutura, certifique-se de atender aos seguintes requisitos:

1. Servidor para o Zabbix Server (Hardware e OS):

  • Sistema Operacional: Uma distribuição Linux estável (recomendamos Ubuntu 22.04 LTS ou Debian 11/12).
  • Recursos de Hardware: Mínimo de 2 vCPUs, 4GB de RAM e 40GB de disco (para ambientes pequenos). Para monitoramento de grandes parques de servidores, escalabilidade vertical será necessária.
  • Acesso: Privilégios de root ou usuário com permissão sudo.

2. Dependências de Software e Rede:

  • Banco de Dados: Instalação de um motor de banco de dados robusto, preferencialmente MySQL ou PostgreSQL.
  • Servidor Web: Apache ou Nginx para a interface gráfica (Frontend).
  • Conectividade: Liberação das portas 10050 (Zabbix Agent) e 10051 (Zabbix Server) no firewall (iptables/ufw) para permitir a comunicação entre os hosts.

3. Agentes de Monitoramento:

  • Os servidores, bancos de dados ou switches que serão monitorados devem permitir a instalação do Zabbix Agent ou possuir suporte a protocolos como SNMP.

Aviso de Risco: A configuração incorreta de regras de firewall pode impedir a coleta de dados ou, em casos extremos, expor portas de gerenciamento desnecessariamente à internet. Sempre utilize regras restritivas permitindo apenas IPs conhecidos.

Instalação do Servidor

Para este tutorial, utilizaremos uma base Ubuntu 22.04 LTS. O Zabbix exige um conjunto de componentes conhecido como stack LAMP (Linux, Apache, MySQL/MariaDB e PHP). Siga os passos abaixo para configurar o servidor Zabbix:

  1. Repositório Zabbix: Primeiro, instale o repositório oficial para garantir a versão mais recente do software.
    wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
    sudo dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
    sudo apt update
  2. Instalação dos pacotes: Instale o servidor, o frontend web, o agente e os módulos necessários para o banco de dados.
    sudo apt install zabbix-server-mysql zabbai-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent mysql-server
  3. Configuração do Banco de Dados: Acesse o MySQL para criar o banco de dados e o usuário dedicado ao Zabbix.
    sudo mysql -u root -p
    CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
    CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'sua_senha_forte';
    GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
    SET GLOBAL log_bin_trust_function_creators = 1;
    EXIT;
  4. Importação do Schema: Importe as tabelas iniciais para o banco recém-criado.
    zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
  5. Ajuste de senha no Config: Edite o arquivo /etc/zabbix/zabbix_server.conf e localize a linha DBPassword para inserir a senha definida no passo 3.
  6. Reinicialização dos Serviços:
    sudo systemctl restart zabbix-server zabbix-agent apache2
    sudo systemctl enable zabbix-server zabbix-agent apache2

Configuração de Agentes

Após instalar o servidor Zabbix, o próximo passo é instalar o Zabbix Agent nas máquinas que você deseja monitorar (clientes). O agente é o responsável por coletar métricas locais, como uso de CPU, memória e disco, e enviar ao servidor.

Siga os passos abaixo para configurar um servidor Linux (Ubuntu/Debian) como monitorado:

  1. Instalação do Agente: No servidor que será monitorado, execute o comando para instalar o pacote:
    sudo apt update && sudo apt install zabbix-agent -y
  2. Configuração do arquivo .conf: Edite o arquivo de configuração principal para apontar para o IP do seu servidor Zabbix:
    sudo nano /etc/zabbix/zabbix_agentd.conf
  3. Ajuste dos parâmetros: Dentro do arquivo, localize e altere as seguintes linhas:
    • Server: Insira o IP do seu Servidor Zabbix.
    • ServerActive: Insira o IP do seu Servidor Zabbix.
    • Hostname: Defina um nome único para esta máquina (deve ser idêntico ao nome que você cadastrar na interface web do Zabbix).
  4. Reinicie o serviço: Aplique as alterações com o comando:
    sudo systemctl restart zabbix-agent && sudo systemctl enable zabbix-agent

Importante: Certifique-se de que a porta 10050 (comunicação do agente) esteja liberada no firewall do servidor monitorado para permitir o acesso do servidor Zabbix.

Configuração de Alertas

Após instalar os agentes, o próximo passo crítico é garantir que a equipe de TI seja notificada antes que um incidente se torne um downtime. No Zabbix, isso é feito através da tríade: Trigger (Gatilho), Action (Ação) e Media Type (Tipo de Mídia).

Siga este passo a passo para configurar alertas via E-mail:

  1. Configurar o Media Type: No menu Administration → Media types, localize o "Email". Configure o servidor SMTP da sua empresa, o campo "Email from" e as credenciais de autenticação.
  2. Configurar o Usuário: Vá em Administration → Users, selecione seu usuário e, na aba Media, adicione o seu endereço de e-mail e selecione o tipo "Email" criado anteriormente.
  3. Criar a Action: No menu Configuration → Actions (selecione "Trigger actions"), clique em Create action.
    • Na aba Action, dê um nome (ex: "Alerta de CPU Alta").
    • Na aba Conditions, adicione uma condição como Trigger severity >= Warning.
    • Na aba Operations, defina o que deve acontecer. Em Operations, clique em Add e selecione o usuário para receber a notificação.

Dica de Especialista: Para infraestruturas críticas, considere configurar o Escalonamento (Escalation). Assim, se o problema não for resolvido em 10 minutos, o Zabbix pode enviar uma segunda notificação para um nível superior da gerência.

Verificação de Monitoramento

Após a instalação e configuração, é fundamental validar se os dados estão fluindo corretamente do agente para o servidor Zabbix. Não basta o serviço estar "rodando"; os dados de performance precisam aparecer no dashboard.

Siga estes passos para garantir que seu monitoramento está operacional:

  1. Verificação no Dashboard: Acesse a interface web do Zabbix, vá em Monitoring → Hosts. Verifique se o host configurado aparece na lista e se o ícone Availability (ZBX) está em verde.
  2. Validação de Dados em Tempo Real: Selecione o host e clique em Latest data. Filtre por um item específico (ex: system.cpu.load) e verifique se os valores estão sendo atualizados conforme o intervalo de coleta (Update Interval) definido.
  3. Teste de Gatilho (Trigger): Para testar o fluxo de alertas, force uma condição de erro. No servidor monitorado, você pode simular um uso alto de CPU com o comando:
    stress --cpu 1 --timeout 60s
    Acompanhe se o Zabbix gera o evento de Problem na aba Problems.
  4. Checagem de Logs: Se os dados não aparecerem, verifique o log do servidor Zabbix para identificar falhas de comunicação:
    tail -f /var/log/zabbix/zabbix_server.log

Dica de Especialista: Se o ícone ZBX estiver vermelho, verifique se a porta 10050 está liberada no firewall do host destino e se o arquivo zabbix_agentd.conf possui o IP correto do servidor no parâmetro Server=.

Troubleshooting

Ao configurar o Zabbix, é comum encontrar obstáculos de conectividade ou permissão. Se o seu host aparece como "Unavailable" (indisponível) no dashboard, siga este roteiro de diagnóstico:

  1. Verificação de Conectividade e Portas: O erro mais comum é o firewall bloqueando a comunicação. Certifique-se de que a porta 10050 (Zabbix Agent) está aberta no destino e a 10051 (Zabbix Server) está aberta na origem. Teste a conexão usando o comando:
    telnet [IP_DO_SERVIDOR] 10050
  2. Análise de Logs: O log é sua principal ferramenta. Verifique o log do servidor para erros de comunicação e o log do agente para erros de permissão ou configuração:
    • No Servidor: tail -f /var/log/zabbix/zabbix_server.log
    • No Agente: tail -f /var/log/zabbix/zabbix_agentd.log
  3. Configuração do Server IP: No arquivo zabbix_agentd.conf, confirme se o parâmetro Server contém o IP correto do seu Zabbix Server. Se o IP mudar, o agente recusará a conexão por segurança.
  4. Status do Serviço: Verifique se os processos estão rodando corretamente com o comando:
    systemctl status zabbix-server zabbiente-agent

Dica de Especialista: Se o erro persistir, utilize o utilitário zabbix_get para testar a coleta de uma métrica simples diretamente do servidor:

zabbix_get -s [IP_DO_AGENTE] -p 10050 -k agent.version
Compartilhar: Link copiado!
Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000