Auto-Hospedagem com Beszel: Monitore Toda Sua Frota de VPS
Depois de ter mais de um servidor, você precisa de visibilidade - e precisa dela sem pagar por ferramentas SaaS de monitoramento ou rodar uma stack de observabilidade pesada. O Beszel preenche essa lacuna de forma eficiente. É um painel leve de monitoramento de servidores auto-hospedado que agrega métricas do sistema de várias máquinas em uma única interface. Este artigo aborda por que o Beszel se destaca, como configurá-lo para ambientes com múltiplos servidores e como fazer ele funcionar em produção.
Por que escolher o Beszel para Monitoramento Self-Hosted?
A maioria das soluções de monitoramento auto-hospedadas se divide em duas categorias: muito simples (apenas verificações de uptime) ou excessivamente complexas (stacks completas de Prometheus + Grafana). O Beszel fica no meio - fornece métricas acionáveis do sistema sem exigir que você aprenda PromQL ou lide com uma plataforma de observabilidade de múltiplos containers.
Vantagens principais:
- Pegada de recursos mínima: O hub roda com 512 MB de RAM. Os agentes usam menos de 10 MB de RAM cada.
- Sem dependências externas: Baseado em SQLite, não requer Postgres ou Redis.
- Arquitetura Hub + Agent: Um hub, servidores monitorados ilimitados.
- Interface padrão limpa: Gráficos de CPU, memória, I/O de disco e rede - sem necessidade de configuração.
- Roda em qualquer lugar: VPS, homelab, bare metal, Raspberry Pi.
VPS Recomendado para Rodar o Hub do Beszel
| Provedor | Preço | RAM | Armazenamento | Característica de destaque |
|---|---|---|---|---|
| Hetzner Cloud | 4,15 EUR/mês | 4 GB | 40 GB NVMe | Melhor valor na UE |
| Contabo VPS | 5,99 EUR/mês | 8 GB | 200 GB NVMe | Maior retenção de armazenamento |
| Linode (Akamai) | 5 USD/mês | 1 GB | 25 GB SSD | Acessível globalmente |
| Vultr | 6 USD/mês | 1 GB | 25 GB SSD | 32 locais |
| DigitalOcean | 6 USD/mês | 1 GB | 25 GB SSD | Configuração mais fácil |
Casos de Uso de Monitoramento
1. Monitoramento da Frota de Homelab
Se você roda várias instâncias de VPS, um NAS e um servidor local, o Beszel oferece uma visão unificada. Instale o agente em cada máquina e visualize todas as métricas a partir de uma única URL. Sem necessidade de SSH em cada máquina para verificar se um disco está ficando cheio.
2. Supervisão de VPSs de Produção
Homelabbers que executam apps como Nextcloud, Gitea ou Mastodon podem usar o Beszel para correlacionar picos de uso de CPU ou memória com eventos de tráfego. Os gráficos históricos facilitam identificar tendências de recursos antes que se tornem outages.
3. Monitoramento de Servidores de Build CI/CD
Se você usa Woodpecker CI, Drone ou Gitea Actions, jobs de build podem aumentar o uso de CPU e memória. O Beszel permite ver exatamente quando os jobs de build estão sobrecarregando seu servidor e fazer ajustes de dimensionamento.
4. Monitoramento de VPN e Dispositivos de Rede
Agents podem rodar em nós do WireGuard ou headscale, reportando throughput de rede e saúde do sistema sem expor esses servidores à internet pública.
Configuração Multi-Servidor
Arquitetura
[Servidor Monitorado 1] -- beszel-agent --> [VPS do Hub Beszel:8090]
[Servidor Monitorado 2] -- beszel-agent --> [VPS do Hub Beszel:8090]
[Servidor Monitorado N] -- beszel-agent --> [VPS do Hub Beszel:8090]
O hub é seu VPS central. Cada servidor monitorado roda o agente, que coleta métricas locais e as reporta ao hub.
Implantando o Hub
docker run -d \
--name beszel \
--restart unless-stopped \
-p 8090:8090 \
-v beszel_data:/beszel_data \
henrygd/beszel
Implantando Agents em Escala
Para cada servidor monitorado, gere uma chave no dashboard do Beszel (Add Server) e execute:
docker run -d \
--name beszel-agent \
--restart unless-stopped \
--network host \
-e KEY="<chave-específica-do-servidor>" \
henrygd/beszel-agent
Você pode automatizar a implantação dos agents por toda sua frota com Ansible. Exemplo de tarefa:
- name: Implantar agente do Beszel
community.docker.docker_container:
name: beszel-agent
image: henrygd/beszel-agent:latest
restart_policy: unless-stopped
network_mode: host
env:
KEY: "{{ beszel_agent_key }}"
Alertas e Notificações
O Beszel suporta alertas via webhook. Você pode configurar limites para:
- Uso de CPU (exemplo: alerta quando > 85% sustentado)
- Uso de memória (exemplo: alerta quando > 90%)
- Uso de disco (exemplo: alerta quando > 80%)
Configurando um Alerta no Discord
- No seu servidor Discord, vá para Configurações do Servidor > Integrações > Webhooks e crie um webhook novo.
- Copie a URL do webhook.
- No Beszel, acesse Configurações > Notificações, adicione um novo webhook e cole a URL.
- Configure os limites de alerta por servidor no painel de configurações do servidor.
Configurando um Alerta no Slack
Use o mesmo fluxo de webhook - crie um webhook de entrada na app do Slack, copie a URL e adicione nas configurações de notificação do Beszel.
Integrações
Reverse Proxy com Caddy
monitor.seudominio.com {
reverse_proxy localhost:8090
}
Caddy gerencia HTTPS automáticos via Let’s Encrypt.
Backup com Restic
Como o Beszel usa SQLite, os backups são simples:
restic -r s3:s3.amazonaws.com/seu-bucket backup /var/lib/docker/volumes/beszel_data/_data/
Agende com cron:
0 3 * * * restic -r s3:s3.amazonaws.com/seu-bucket backup /var/lib/docker/volumes/beszel_data/_data/ --quiet
Companheiro do Uptime Kuma
O Beszel gerencia métricas do sistema; o Uptime Kuma cuida da verificação de saúde dos serviços. Rodando ambos no mesmo VPS, você tem uma cobertura completa - o Beszel aponta se um servidor está com dificuldades, o Uptime Kuma informa se um serviço específico está fora do ar.
Desempenho e Retenção
O banco de dados SQLite do Beszel cresce conforme você adiciona servidores e aumenta o período de retenção. Estimativas aproximadas:
- 1 servidor, retenção padrão: ~50 MB/ano
- 10 servidores, retenção padrão: ~500 MB/ano
- 50 servidores, retenção padrão: ~2,5 GB/ano
O NVMe de 200 GB da Contabo suporta tranquilamente uma frota grande por anos, sem precisar restringir os dados históricos.
FAQs
É seguro expor o Beszel na internet pública?
Use HTTPS via um reverse proxy e configure uma senha forte de admin. O Beszel atualmente não suporta autenticação multiusuário ou OIDC, portanto, o acesso mais seguro é via VPN ou reverse proxy com autenticação adicional (ex.: Authelia ou basicauth do Caddy).
O Beszel pode substituir Grafana + Prometheus para monitoramento básico?
Para métricas do sistema em uma frota pequena ou média (menos de 100 servidores), sim. O Beszel cobre as métricas principais que a maioria dos homelabbers precisa, sem a complexidade operacional de um stack completo de Prometheus. Para métricas personalizadas, agregação de logs ou pipelines de alerta, uma stack baseada em Prometheus é mais adequada.
Como faço para atualizar o Beszel?
Baixe a última imagem e recrie o container:
docker pull henrygd/beszel:latest
docker compose down && docker compose up -d
Seus dados permanecem no volume nomeado.
Auto-hospedar com o Beszel é uma das maneiras mais eficientes de manter visibilidade sobre uma frota distribuída de VPSs sem sobrecarga operacional. Para mais recomendações de VPS, consulte nossa comparação completa.