O monitoramento proativo é a espinha dorsal de qualquer infraestrutura confiável. Em um ambiente de VPS Linux, onde os recursos são compartilhados e as falhas podem impactar diretamente a disponibilidade do seu serviço, ter visibilidade em tempo real não é apenas uma conveniência, é uma necessidade crítica. O Zabbix se destaca como uma solução open-source robusta, escalável e altamente configurável para esse propósito. Este tutorial guiará você pelo processo de instalação e configuração básica do Zabbix Server e Agent em ambientes populares como Ubuntu, Debian e Rocky Linux.
1. Preparação do Ambiente e Requisitos
Antes de iniciar a instalação, é fundamental garantir que o seu servidor esteja atualizado e que as portas necessárias estejam acessíveis. O Zabbix utiliza comunicação bidirecional: o servidor envia comandos para os agentes (se necessário) e os agentes enviam dados de métricas para o servidor. Para uma configuração básica de monitoramento ativo ou passivo, você precisará liberar a porta TCP 10051 no servidor Zabbix e, opcionalmente, a porta 10050 se os agentes iniciarem conexões ativas.
Além disso, certifique-se de ter acesso SSH com privilégios de root ou sudo ao seu VPS. A conexão segura via SSH é o canal padrão para administração remota e transferência inicial de arquivos de configuração.
- Servidor Zabbix (pode ser a mesma VPS onde o monitoramento será feito, em ambientes de baixa carga).
- Cliente(s) Zabbix Agent (pode ser a mesma máquina ou servidores remotos).
- DNS configurado corretamente para resolução de nomes, facilitando a gestão de múltiplos hosts.
2. Instalação do Zabbix Server e Banco de Dados
O primeiro passo é instalar o servidor Zabbix e o banco de dados relacional que armazenará todas as métricas coletadas. O Zabbix suporta MySQL/MariaDB, PostgreSQL e SQLite (este último apenas para testes). Para produção, recomendamos fortemente o uso do MariaDB ou PostgreSQL.
2.1. Instalando no Ubuntu/Debian
No ecossistema Debian, o processo envolve adicionar o repositório oficial do Zabbix e então instalar os pacotes. Abaixo, utilizamos a versão LTS 6.4 como exemplo, mas verifique sempre a documentação oficial para a versão mais recente.
# Atualize o sistema
sudo apt update && sudo apt upgrade -y
# Instale dependências necessárias
sudo apt install -y wget gnupg2 curl
# Adicione o repositório oficial do Zabbix (exemplo para Ubuntu 22.04)
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
# Atualize os pacotes disponíveis
sudo apt update
Agora, instale o servidor Zabbix com suporte ao banco de dados MySQL/MariaDB:
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-agent
2.2. Instalando no Rocky Linux/AlmaLinux
No ecossistema RHEL/Rocky, o processo é similar, utilizando o gerenciador de pacotes dnf.
# Atualize o sistema
sudo dnf update -y
# Adicione o repositório do Zabbix
sudo dnf install -y https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm
sudo dnf clean all
# Instale os pacotes necessários
sudo dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
Nota: No Rocky Linux, é comum usar Nginx ou Apache como servidor web para a interface web. O pacote acima instala o Nginx por padrão.
3. Configuração do Banco de Dados
Após a instalação dos pacotes do servidor, é necessário configurar o banco de dados. Vamos utilizar o MariaDB/MySQL como exemplo, dado seu amplo uso em VPS Linux.
# Entre no console do MySQL/MariaDB
sudo mysql -u root -p
Dentro do prompt do MySQL, execute os seguintes comandos para criar o banco de dados e o usuário dedicado ao Zabbix:
CREATE DATABASE zabbix_db CHARACTER SET UTF8MB4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'senha_forte_aqui';
GRANT ALL PRIVILEGES ON zabbix_db.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Agora, importe o esquema inicial e os dados. O caminho do arquivo de importação varia conforme a distribuição:
# Para Debian/Ubuntu
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix_db
# Para Rocky Linux/RHEL
zcat /usr/share/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix_db
O sistema solicitará a senha definida anteriormente para o usuário zabbix.
4. Configuração do Zabbix Server
Edite o arquivo de configuração principal do servidor para definir as credências do banco de dados e outras opções críticas.
sudo nano /etc/zabbix/zabbix_server.conf
Localize a linha DBPassword= e insira a senha que você definiu no passo anterior:
DBPassword=senha_forte_aqui
Salve o arquivo (Ctrl+O, Enter) e saia (Ctrl+X). Em seguida, inicie os serviços do Zabbix Server e Agent.
# Ubuntu/Debian
sudo systemctl restart zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
# Rocky Linux
sudo systemctl restart zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
5. Configuração da Interface Web
A interface web do Zabbix permite a gestão gráfica dos hosts, criação de triggers e visualização de dashboards.
5.1. Configurando o Servidor Web (Apache/Nginx)
Se estiver usando Ubuntu/Debian com Apache, verifique se o arquivo de configuração do Zabbix está incluído no Apache:
sudo ln -s /etc/zabbix/apache.conf /etc/apache2/conf-enabled/zabbix.conf
sudo systemctl restart apache2
Se estiver usando Rocky Linux com Nginx, edite o arquivo de configuração do Nginx para definir o server_name e os paths corretos:
sudo nano /etc/nginx/conf.d/zabbix.conf
Descomente a linha server_name e insira o IP ou domínio da sua VPS. Além disso, certifique-se de que as permissões do diretório /usr/share/zabbix estejam corretas.
5.2. Finalizando a Instalação via Navegador
Acesse o endereço http://ip-do-servidor/zabbix ou https://dominio.com/zabbix. Você será recebido pelo assistente de instalação.
- Bem-vindo: Clique em Next para prosseguir.
- Pré-requisitos: Verifique se todos os itens estão com status "OK". Se houver falhas, corrija-as antes de continuar. Preste atenção especial às configurações de
date.timezoneno PHP. - Configuração do Banco de Dados: Insira o nome do banco (
zabbix_db), tipo (MySQL), host (localhost) e usuário/senha definidos anteriormente. - Detalhes do Servidor Zabbix: Defina o nome visível para o seu servidor no monitoramento.
- Resumo: Revise as configurações e clique em Next.
Ao finalizar, você será redirecionado para a tela de login. As credências padrão são User: Admin (maiúsculo) e Password: zabbix.
6. Configuração do Zabbix Agent
O agente é o componente leve instalado nos servidores monitorados (ou na própria VPS se ela for monitorada). Ele coleta métricas locais como CPU, memória, disco e rede.
Edite o arquivo de configuração do agente:
sudo nano /etc/zabbix/zabbix_agentd.conf
Realize as seguintes alterações críticas:
Server=127.0.0.1: Se o agente e o servidor estão na mesma máquina, use127.0.0.1. Se estiverem em máquinas diferentes, insira o IP do Zabbix Server.ServerActive=127.0.0.1: Similar ao anterior, define onde o agente envia dados ativamente.Hostname=NomeDoSeuServidor: Defina um nome único e identificável para este host no Zabbix. Este nome deve ser exclusivo no sistema.
Salve as alterações e reinicie o serviço:
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
7. Adicionando o Host na Interface Web
Agora que a infraestrutura está rodando, vamos adicionar o monitoramento propriamente dito.
- Faça login na interface web do Zabbix.
- Navegue até Configuration > Hosts.
- Clique em Create host.
- No campo Host name, insira exatamente o mesmo nome definido no arquivo
zabbix_agentd.confdo servidor. - No campo Groups, selecione ou crie um grupo (ex: "Linux Servers").
- No campo Interfaces, adicione a interface do tipo "Agent" com o IP da máquina monitorada e a porta padrão
10050. - Vá até a aba Templates, clique em "Select", procure por "Linux by Zabbix agent" (ou similar, dependendo da versão) e selecione o template de monitoramento básico.
- Clique em Add.
Aguarde alguns minutos. O status do host mudará de "Disabled" para "Enabled" e, eventualmente, os ícones de conexão (verde/vermelho) indicarão se o agente está respondendo corretamente.
8. Segurança e Boas Práticas
Embora o Zabbix seja uma ferramenta poderosa, ele deve ser protegido rigorosamente, pois possui acesso profundo à infraestrutura.
- Mude a Senha do Admin: Imediatamente após o login, altere a senha padrão do usuário Admin em Administration > Users.
- Habilite HTTPS: Nunca exponha a interface web do Zabbix via HTTP puro. Configure certificados SSL/TLS (Let's Encrypt é uma opção gratuita e popular) no Apache ou Nginx.
- Faça Backups: Configure backups regulares do banco de dados
zabbix_dbe dos arquivos de configuração em/etc/zabbix. - Firewall: Restrinja o acesso à porta
10051(Server) apenas aos IPs dos seus proxies ou servidores de gerenciamento, se aplicável. A porta do agente (10050) deve ser acessível apenas pelos servidores que precisam coletar dados.
Conclusão
Com estes passos, você estabeleceu uma base sólida de monitoramento em sua VPS Linux. O Zabbix oferece milhares de templates prontos e permite a criação de alertas complexos via email, Slack ou Telegram. A partir daqui, explore as funcionalidades de "Discovery" para adicionar novos hosts automaticamente e configure triggers para ser notado sobre quedas de serviço antes que seus usuários percebam.
Lembre-se: monitoramento não é apenas sobre coletar dados, mas sobre transformá-los em ações preventivas. Mantenha suas versões do Zabbix atualizadas para garantir correções de segurança e novas funcionalidades.