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.:
publicpara 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.