Marvin Pascale

[B.Log]

07 Agosto 2024

Beszel

Monitor Nella mia eterna ricerca di strumenti utili e innovativi per la gestione e il monitoraggio dei server, mi sono recentemente imbattuto in Beszel, un hub leggero e open-source progettato per il monitoraggio dei server. Questo progetto, sviluppato da Henrygd su GitHub, offre una soluzione flessibile e user-friendly per chi cerca di mantenere sotto controllo le prestazioni dei propri sistemi senza complicazioni.

Cosa offre Beszel?

Beszel è composto da due componenti principali: l’hub e l’agente. Il primo è un’applicazione web che funge da dashboard per visualizzare e gestire i sistemi monitorati, mentre il secondo è un servizio che raccoglie i dati dai server e li invia all’hub per l’elaborazione e la visualizzazione. Una delle caratteristiche che spiccano è la sua capacità di gestire e visualizzare dati storici sull’utilizzo di CPU e memoria, nonché metriche specifiche dei container Docker, come l’uso della CPU e della memoria per ogni container.

Funzionalità chiave

  • Monitoraggio Docker: Beszel è particolarmente utile per chi utilizza Docker, offrendo statistiche dettagliate sull’utilizzo delle risorse per ciascun container.
  • Avvisi personalizzabili: puoi impostare avvisi per monitorare l’utilizzo di CPU, memoria e disco, permettendo interventi tempestivi in caso di anomalie.
  • Sicurezza e accesso: supporta una vasta gamma di provider OAuth2, rendendo sicura l’autenticazione degli utenti. È possibile disabilitare l’autenticazione tramite password se necessario.
  • Backup automatici: i dati possono essere salvati e ripristinati da disco o da storage compatibile con S3.

Installazione e configurazione

L’installazione di Beszel è semplice e può essere effettuata sia tramite Docker Compose sia come pacchetti binari singoli. Il processo di configurazione dell’hub e dell’agente è ben documentato e prevede pochi passaggi: dalla creazione di un utente admin alla configurazione dei sistemi da monitorare tramite l’interfaccia web del hub.

Inoltre, per chi desidera una gestione ancora più integrata, Beszel può essere configurato come servizio di sistema su Linux tramite systemd, garantendo il suo avvio automatico all’accensione del sistema.

Vediamo insieme l’avvio dell’hub usando docker.

Creiamo la cartella /opt/docker/beszel/beszel_data e il file docker-compose.yml in /opt/docker/beszel/

version: "3"
services:
  beszel-hub:
    image: henrygd/beszel:latest
    ports:
      - "8090:8090"
    volumes:
      - /opt/docker/beszel/beszel_data:/data

Avviamo il nostro container con

# docker-compose up -d

Ora avvediamo all’interfaccia web dell’hub tramite il browser, collegandoti all’indirizzo http://[IP_SERVER]:8090 .

dashboard

Per quanto riguarda l’agent, dopo aver creato la chiave condivisa basterà scaricare l’eseguibile e creare il servizio così da poterlo gestire con systemd.

# mkdir -p /opt/beszel-agent/ && cd /opt/beszel-agent/
# curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel-agent_linux_amd64.tar.gz" | tar -xz -O beszel-agent | tee ./beszel-agent >/dev/null && chmod +x beszel-agent

Editiamo il file /etc/systemd/system/beszel-agent.service

[Unit]
Description=Beszel Agent Service
After=network.target

[Service]
ExecStart=/opt/beszel-agent/beszel-agent serve
WorkingDirectory=/opt/beszel-agent
User=beszel
Restart=always
Environment="KEY={YOUR_KEY}" "PORT=45876"

[Install]
WantedBy=multi-user.target

E lo avviamo assicurandoci che riparta al boot

# systemctl daemon-reload
# systemctl enable --now beszel-agent

Verifichiamo lo stato del servizio

# systemctl status beszel-agent

Conclusione

Beszel si presenta come una soluzione potente ma al contempo leggera, ideale per chi desidera un monitoraggio dei sistemi senza dover affrontare la complessità di soluzioni più pesanti come Grafana o Netdata. La sua flessibilità, unita alla facilità di configurazione, lo rende una scelta eccellente per gli appassionati di open source e gli amministratori di sistema alla ricerca di un controllo preciso delle risorse dei propri server.

Se sei interessato a esplorare Beszel, visita la pagina GitHub del progetto per maggiori dettagli e per contribuire allo sviluppo!


Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.

Risorse: