Zabbix no Ubuntu: monitore servidores e switches via SNMP
|

Zabbix no Ubuntu: monitore servidores e switches via SNMP

O Zabbix é a ferramenta open source mais usada para monitorar servidores, switches e links de rede em um único painel, com alertas antes que o usuário perceba o problema. Neste guia você instala o Zabbix Server 7.0 no Ubuntu 24.04 com banco MySQL e, na sequência, adiciona um switch de rede via SNMP — o caso mais comum em ambientes com switches TP-Link, Cisco ou qualquer equipamento gerenciável.

Por que Zabbix e não outra ferramenta

Zabbix não depende de agente para monitorar switches e appliances: ele fala SNMP nativamente, então qualquer equipamento gerenciável entra no monitoramento sem instalar nada nele. Para servidores Linux e Windows, o agente (Zabbix Agent 2) traz métricas mais profundas — CPU por núcleo, filas de disco, processos — que o SNMP não expõe. Na prática, dá para cobrir a rede inteira com as duas coletas combinadas, e o alerta chega no mesmo lugar independente da origem.

Pré-requisitos

  • Servidor Ubuntu 24.04 (ou 22.04) com pelo menos 2 vCPUs e 4 GB de RAM para ambientes de até ~100 hosts monitorados.
  • Acesso root ou sudo.
  • Um switch ou equipamento com SNMP habilitado, e a community string configurada nele (ex.: public para leitura, mas troque para algo próprio em produção).

Passo a passo: instalar o Zabbix Server 7.0

1. Atualize o sistema e adicione o repositório oficial

O pacote de repositório da Zabbix instala as chaves e a lista apt corretas — evite baixar pacotes soltos de terceiros, porque perde as atualizações de segurança automáticas.

sudo apt update && sudo apt upgrade -y
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-2+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_7.0-2+ubuntu24.04_all.deb
sudo apt update

2. Instale servidor, frontend e agente

Este guia usa Apache e MySQL/MariaDB por serem a combinação mais documentada e fácil de dar suporte depois — Nginx e PostgreSQL também são suportados, se já forem o padrão do seu ambiente.

sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent mariadb-server

3. Crie o banco de dados

O log_bin_trust_function_creators precisa ficar ativo só durante a importação do schema — ele permite criar as functions/triggers do Zabbix mesmo com binlog ativo. Desligue de novo assim que a importação terminar, para não abrir brecha de segurança permanente.

sudo mysql -uroot

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'TrocarEstaSenha123!';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
SET GLOBAL log_bin_trust_function_creators = 1;
QUIT;
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p'TrocarEstaSenha123!' zabbix

sudo mysql -uroot -e "SET GLOBAL log_bin_trust_function_creators = 0;"

4. Configure a senha do banco no Zabbix Server

sudo nano /etc/zabbix/zabbix_server.conf
# ajuste a linha:
DBPassword=TrocarEstaSenha123!

5. Habilite e inicie os serviços

sudo systemctl enable --now mariadb apache2 zabbix-server zabbix-agent
systemctl status zabbix-server --no-pager

6. Finalize pelo navegador

Acesse http://IP_DO_SERVIDOR/zabbix, siga o assistente (ele já detecta o PHP e o banco), informe usuário e senha criados no passo 3, e finalize a instalação. O login inicial é Admin / zabbix — troque a senha em Users → Admin → Change password antes de expor a interface para qualquer rede além da administrativa.

Como adicionar um switch via SNMP

Depois que o servidor está de pé, o próximo passo é trazer os equipamentos de rede para o monitoramento. SNMP funciona por polling (o Zabbix pergunta, o switch responde), então não precisa instalar nada no equipamento — só liberar a porta 161/UDP no firewall entre o Zabbix e o switch.

1. Habilite SNMP no switch

Na interface do equipamento (varia por fabricante), ative o agente SNMP, defina a community de leitura (v2c é o mais compatível com os templates prontos do Zabbix) e restrinja o acesso ao IP do servidor Zabbix, para não deixar a community exposta para qualquer host da VLAN.

2. Crie o host no Zabbix

Em Data collection → Hosts → Create host, preencha:

  • Host name: nome do switch (ex.: sw-acesso-01).
  • Host groups: crie ou use um grupo como “Switches”.
  • Interfaces: adicione uma interface do tipo SNMP com o IP do switch, porta 161.

3. Configure a community via macro

Na aba Macros do host, defina {$SNMP_COMMUNITY} com o valor configurado no equipamento. Usar macro em vez de digitar a community direto no template evita ter que editar cada template se a community mudar — só atualiza a macro do host.

4. Vincule o template de rede

Na aba Templates, adicione Template Net Network Generic Device SNMPv2 (ou o template específico do fabricante, se existir na biblioteca oficial). Esse template já traz itens de tráfego por interface, status de link e descoberta automática de portas via LLD (Low-Level Discovery) — não precisa cadastrar porta por porta na mão.

5. Confirme a coleta

Depois de salvar, vá em Monitoring → Latest data, filtre pelo host criado e confira se os itens começam a preencher valor em até 1–2 minutos (o intervalo padrão de coleta SNMP). Se ficar em branco, os culpados mais comuns são: porta 161/UDP bloqueada no firewall, community errada na macro, ou SNMP desabilitado no equipamento.

Boas práticas para não afogar o painel de alertas

  • Configure severidade nos triggers antes de ligar notificação por e-mail ou webhook — sem isso, todo evento vira “Warning” e o time aprende a ignorar o alerta.
  • Use Maintenance windows para silenciar alertas durante manutenção programada, em vez de desligar o host inteiro do monitoramento.
  • Ajuste o intervalo de coleta SNMP para 60–120 segundos em links de acesso; 10–30 segundos só se justifica em uplinks críticos, porque polling agressivo em muitos hosts sobrecarrega o próprio Zabbix Server.

Perguntas frequentes

Zabbix precisa de agente instalado no switch?
Não. Switches, appliances e impressoras de rede normalmente só têm SNMP, sem espaço para instalar um agente. O Zabbix Agent 2 é usado em servidores Linux/Windows, onde dá métricas mais detalhadas do sistema operacional.

SNMPv2 é seguro o suficiente?
SNMPv2c trafega a community em texto claro, então restrinja por ACL/firewall a origem que pode consultar a porta 161 e evite reaproveitar a mesma community em toda a rede. Onde o equipamento suportar, SNMPv3 (com autenticação e criptografia) é a opção mais segura para produção.

Dá para monitorar dezenas de switches sem sobrecarregar o servidor?
Dá, mas em redes grandes vale distribuir a coleta com um Zabbix Proxy por site ou segmento, em vez de o servidor central falar SNMP direto com cada equipamento remoto.

Por que usar MySQL/MariaDB em vez de PostgreSQL?
Os dois são suportados oficialmente e a escolha é mais sobre o que sua equipe já opera. MySQL/MariaDB tende a ter mais tutoriais e ferramentas de administração familiares para quem já mexe com WordPress ou aplicações PHP.

O template genérico SNMP funciona em qualquer switch?
Funciona para métricas básicas (tráfego por porta, status de link, uptime), porque usa OIDs padrão do MIB-II. Para métricas específicas do fabricante (temperatura, PoE, stack), procure primeiro um template dedicado na biblioteca oficial do Zabbix antes de customizar o genérico.

Conclusão

Com o Zabbix Server de pé e o primeiro switch respondendo via SNMP, o próximo passo natural é replicar o cadastro de host para os demais equipamentos e servidores da rede, agrupando por função (core, acesso, servidores) para organizar dashboards e regras de alerta por criticidade. É esse inventário centralizado — não o alerta isolado — que transforma monitoramento em visibilidade real da infraestrutura.

Gostou? Compartilhe.

Posts Similares

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *