Monitoramento Simples com Zabbix na VPS Linux

9 min de leitura VPS Linux
Monitoramento Simples com Zabbix na VPS Linux

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.

  1. Bem-vindo: Clique em Next para prosseguir.
  2. 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.timezone no PHP.
  3. Configuração do Banco de Dados: Insira o nome do banco (zabbix_db), tipo (MySQL), host (localhost) e usuário/senha definidos anteriormente.
  4. Detalhes do Servidor Zabbix: Defina o nome visível para o seu servidor no monitoramento.
  5. 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:

  1. Server=127.0.0.1: Se o agente e o servidor estão na mesma máquina, use 127.0.0.1. Se estiverem em máquinas diferentes, insira o IP do Zabbix Server.
  2. ServerActive=127.0.0.1: Similar ao anterior, define onde o agente envia dados ativamente.
  3. 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.

  1. Faça login na interface web do Zabbix.
  2. Navegue até Configuration > Hosts.
  3. Clique em Create host.
  4. No campo Host name, insira exatamente o mesmo nome definido no arquivo zabbix_agentd.conf do servidor.
  5. No campo Groups, selecione ou crie um grupo (ex: "Linux Servers").
  6. No campo Interfaces, adicione a interface do tipo "Agent" com o IP da máquina monitorada e a porta padrão 10050.
  7. 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.
  8. 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_db e 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.

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