Self-hosting con Beszel: Monitora tutta la tua flotta VPS
Quando gestisci più di un server, hai bisogno di visibilità — senza pagare strumenti SaaS di monitoraggio né far girare uno stack di osservabilità pesante. Beszel colma questo divario in modo elegante. È un pannello di monitoraggio self-hosted e leggero che aggrega le metriche di sistema di più macchine in un’unica interfaccia. Questo articolo spiega perché Beszel si distingue, come configurarlo per ambienti multi-server e come renderlo pronto per la produzione.
Perché Beszel per il monitoraggio self-hosted?
La maggior parte delle soluzioni di monitoraggio self-hosted rientra in due categorie: troppo semplici (solo controlli di uptime) o troppo complesse (stack Prometheus + Grafana completi). Beszel sta nel mezzo — fornisce metriche di sistema utili senza dover imparare PromQL né mantenere una piattaforma di osservabilità multi-container.
Vantaggi principali:
- Impronta risorse minima: Hub su 512 MB di RAM. Gli agenti usano meno di 10 MB di RAM ciascuno.
- Nessuna dipendenza esterna: Basato su SQLite, nessun Postgres o Redis richiesto.
- Architettura Hub + Agente: Un hub, server monitorati illimitati.
- UI pulita di default: Grafici CPU, memoria, I/O disco e rete — senza configurazione.
- Gira ovunque: VPS, homelab, bare metal, Raspberry Pi.
VPS consigliato per l’hub Beszel
| Provider | Prezzo | RAM | Storage | Punto di forza |
|---|---|---|---|---|
| Hetzner Cloud | 4,15 EUR/mese | 4 GB | 40 GB NVMe | Miglior rapporto qualità /prezzo UE |
| Contabo VPS | 5,99 EUR/mese | 8 GB | 200 GB NVMe | Massima retention storage |
| Linode (Akamai) | 5 USD/mese | 1 GB | 25 GB SSD | Economico, globale |
| Vultr | 6 USD/mese | 1 GB | 25 GB SSD | 32 location |
| DigitalOcean | 6 USD/mese | 1 GB | 25 GB SSD | Onboarding più semplice |
Casi d’uso del monitoraggio
1. Monitoraggio flotta homelab
Se gestisci diverse istanze VPS, un NAS e un server locale, Beszel ti dà una vista centralizzata. Installa l’agente su ogni macchina e consulta tutte le metriche da un unico URL. Niente più SSH su ogni server per verificare se un disco si sta riempiendo.
2. Supervisione VPS di produzione
I self-hoster che fanno girare app come Nextcloud, Gitea o Mastodon possono usare Beszel per correlare i picchi di CPU o memoria con eventi di traffico. I grafici storici facilitano l’identificazione dei trend di risorse prima che diventino interruzioni.
3. Monitoraggio server di build CI/CD
Se usi Woodpecker CI, Drone o Gitea Actions, i job di build possono generare picchi di CPU e memoria. Beszel ti mostra esattamente quando i build sovraccaricano il server e aiuta nelle decisioni di rightsizing.
4. Monitoraggio appliance VPN e rete
Gli agenti possono girare su nodi WireGuard o headscale, riportando throughput di rete e stato del sistema senza esporre quei server a internet.
Configurazione multi-server
Architettura
[Server monitorato 1] -- beszel-agent --> [Hub Beszel VPS:8090]
[Server monitorato 2] -- beszel-agent --> [Hub Beszel VPS:8090]
[Server monitorato N] -- beszel-agent --> [Hub Beszel VPS:8090]
L’hub è il tuo VPS centrale. Ogni server monitorato esegue l’agente, che raccoglie le metriche locali e le invia all’hub.
Distribuire l’hub
docker run -d \
--name beszel \
--restart unless-stopped \
-p 8090:8090 \
-v beszel_data:/beszel_data \
henrygd/beszel
Distribuire gli agenti su larga scala
Per ogni server monitorato, genera una chiave nel pannello Beszel (Aggiungi server), poi esegui:
docker run -d \
--name beszel-agent \
--restart unless-stopped \
--network host \
-e KEY="<chiave-specifica-del-server>" \
henrygd/beszel-agent
Per automatizzare con Ansible:
- name: Deploy Beszel agent
community.docker.docker_container:
name: beszel-agent
image: henrygd/beszel-agent:latest
restart_policy: unless-stopped
network_mode: host
env:
KEY: "{{ beszel_agent_key }}"
Avvisi e notifiche
Beszel supporta avvisi basati su webhook. Soglie configurabili:
- Utilizzo CPU (es. avviso quando > 85% sostenuto)
- Utilizzo memoria (es. avviso quando > 90%)
- Utilizzo disco (es. avviso quando > 80%)
Configurare un avviso Discord
- Nel tuo server Discord: Impostazioni server > Integrazioni > Webhook — creare un nuovo webhook.
- Copiare l’URL del webhook.
- In Beszel: Impostazioni > Notifiche — aggiungere nuovo webhook e incollare l’URL.
- Configurare le soglie di avviso per server nel pannello delle impostazioni del server.
Configurare un avviso Slack
Stesso flusso — creare un webhook in entrata nella directory app di Slack, copiare l’URL e aggiungerlo nelle impostazioni notifiche di Beszel.
Integrazioni
Reverse proxy con Caddy
monitor.tuodominio.it {
reverse_proxy localhost:8090
}
Caddy gestisce automaticamente HTTPS tramite Let’s Encrypt.
Backup con Restic
Poiché Beszel usa SQLite, i backup sono semplici:
restic -r s3:s3.amazonaws.com/il-tuo-bucket backup /var/lib/docker/volumes/beszel_data/_data/
Pianificare con cron:
0 3 * * * restic -r s3:s3.amazonaws.com/il-tuo-bucket backup /var/lib/docker/volumes/beszel_data/_data/ --quiet
Uptime Kuma come complemento
Beszel gestisce le metriche di sistema; Uptime Kuma gestisce i controlli di salute dei servizi. Farli girare insieme sullo stesso VPS offre copertura completa — Beszel indica se un server è in difficoltà , Uptime Kuma indica se un servizio specifico è offline.
Performance e retention dei dati
Il database SQLite di Beszel cresce con il numero di server e le finestre di retention. Stime approssimative:
- 1 server, retention default: ~50 MB/anno
- 10 server, retention default: ~500 MB/anno
- 50 server, retention default: ~2,5 GB/anno
I 200 GB NVMe di Contabo gestiscono anche flotte grandi per anni senza dover eliminare i dati storici.
Domande frequenti
È sicuro esporre Beszel a internet?
Usa HTTPS tramite un reverse proxy e imposta una password amministratore robusta. Poiché Beszel non supporta autenticazione multi-utente o OIDC, si consiglia l’accesso tramite VPN o reverse proxy con autenticazione aggiuntiva (es. Authelia o basicauth di Caddy).
Beszel può sostituire Grafana + Prometheus per il monitoraggio di base?
Per le metriche di sistema su una flotta piccola o media (meno di 100 server), sì. Beszel copre le metriche essenziali di cui la maggior parte dei self-hoster ha bisogno senza la complessità operativa di uno stack Prometheus completo. Per metriche personalizzate, aggregazione di log o pipeline di alerting avanzate, uno stack basato su Prometheus è più appropriato.
Come aggiorno Beszel?
Scaricare l’ultima immagine e ricreare il container:
docker pull henrygd/beszel:latest
docker compose down && docker compose up -d
I dati persistono nel volume con nome.
Il self-hosting con Beszel è uno dei modi più efficienti per mantenere visibilità su una flotta VPS distribuita. Per ulteriori raccomandazioni VPS, consulta il nostro confronto completo.