Strumenti di monitoraggio open source: uptime, status page, metriche ed errori
In breve
- Il monitoraggio open source copre quattro compiti: controlli di uptime (SolidPing), status page (Kener), metriche dei server (Beszel, Komari) e tracciamento degli errori (GlitchTip, Rustrak).
- Tutti e sei usano licenze approvate dall'OSI: MIT per Kener, Beszel, Komari e GlitchTip, AGPL-3.0 per SolidPing e GPL-3.0 per Rustrak.
- GlitchTip e Rustrak accettano eventi dagli SDK client di Sentry, quindi per cambiare basta puntare il DSN verso la tua istanza.
- Nodion ha anche controlli di uptime integrati per qualsiasi URL o app, a partire da ogni 30 secondi, con avvisi via email, Slack, Discord e altri canali.
“Monitoraggio” indica quattro attività diverse: verificare che il tuo sito risponda, informare gli utenti su cosa sta succedendo con una status page, tenere d'occhio i server sottostanti e intercettare gli errori generati dal tuo codice. Per ognuna esistono strumenti open source. I sei qui sotto sono disponibili nel catalogo di Nodion con deploy in un clic e girano ciascuno in una tua istanza.
Una regola vale per tutti: esegui lo strumento di monitoraggio in un luogo diverso da quello che controlla, ad esempio in un'altra regione. Altrimenti un solo disservizio mette fuori uso sia l'app sia lo strumento che dovrebbe segnalarlo.
In sintesi
| Strumento | Compito | Licenza | Gira con |
|---|---|---|---|
| SolidPing | Controlli di uptime, status page, turni di reperibilità | AGPL-3.0 | PostgreSQL, object storage |
| Kener | Status page e incidenti | MIT | PostgreSQL, Valkey |
| Beszel | Metriche di server e container | MIT | Volume |
| Komari | Metriche leggere per i server | MIT | Volume (SQLite) |
| GlitchTip | Tracciamento degli errori, più semplici controlli di uptime | MIT | PostgreSQL, volume, Email Zone |
| Rustrak | Tracciamento degli errori con un solo processo leggero | GPL-3.0 | PostgreSQL, volume |
Come li abbiamo scelti
- Svolge bene una delle quattro attività: controlli di uptime, status page, metriche dei server o tracciamento degli errori.
- Gira in una tua istanza da un'immagine di un container.
- Licenza open source approvata dall'OSI, verificata sul file LICENSE di ogni progetto.
- Risorse contenute: i preset richiedono al massimo 1 GB di memoria.
1. SolidPing: controlli di uptime
SolidPing è un monitor di uptime completo in un unico binario Go. I suoi controlli vanno ben oltre HTTP: TCP, UDP, ICMP, DNS, certificati SSL e domini, mail server, gRPC, database, code di messaggi e altro ancora. I controlli possono partire da worker in più regioni, e gli agenti privati controllano risorse all'interno della tua rete tramite un WebSocket in uscita (vedi il README). In più ci sono status page, incidenti che inviano un solo avviso per disservizio invece di uno per controllo, finestre di manutenzione, turni di reperibilità con escalation e notifiche su Slack, Discord, email, webhook, PagerDuty, ntfy e altri.
Licenza: AGPL-3.0. File di licenza, sito del progetto.
Su Nodion: un processo web con PostgreSQL e un bucket di object storage. Accedi con admin@solidping.io e solidpass; SolidPing ti fa impostare una nuova password al primo accesso. Fallo subito dopo il primo deploy, prima di condividere l'URL: queste credenziali predefinite sono pubbliche, quindi chi accede per primo prende il controllo dell'istanza.
2. Kener: status page
Kener si concentra sulla pagina che vedono i tuoi utenti. Crea status page personalizzate con il tuo logo, i tuoi colori e il tuo CSS, modalità chiara e scura, e widget e badge di stato da incorporare altrove. Gli incidenti hanno una timeline con gli aggiornamenti, e le finestre di manutenzione vengono annunciate in anticipo. Kener esegue anche controlli propri (API, ping, TCP, DNS, SSL, SQL e heartbeat), invia notifiche via email, webhook, Slack o Discord, e una sola istanza può servire più status page.
Licenza: MIT. File di licenza, sito del progetto.
Su Nodion: un processo web con PostgreSQL e Valkey, con l'URL dell'app già impostato come origin di Kener. Alla prima apertura, Kener mostra un modulo di configurazione per nome, email e password del proprietario.
3. Beszel: metriche dei server
Beszel tiene d'occhio le macchine invece degli URL. Un piccolo agente su ogni server invia all'hub metriche su CPU, memoria, uso e I/O del disco, rete, temperature e uso della GPU, oltre alle statistiche dei container Docker o Podman; l'hub conserva lo storico e invia gli avvisi. Supporta più utenti, login OAuth e OIDC e backup automatici su disco o su storage compatibile S3.
Licenza: MIT. File di licenza, sito del progetto.
Su Nodion: il preset esegue l'hub come un processo web con un volume da 10 GB. Gli agenti non fanno parte del deploy: installali sulle macchine che vuoi monitorare. Possono collegarsi all'hub in uscita tramite WebSocket. Alla prima visita ti viene chiesto di creare l'account amministratore.
4. Komari: metriche leggere per i server
Komari è un monitor per server ancora più piccolo. Gli agenti inviano dati su CPU, memoria, disco, rete e uptime, e la dashboard mostra dati in tempo reale ogni secondo e grafici con lo storico. Temi e plugin ne cambiano l'aspetto. L'area di amministrazione include anche un terminale web per i server collegati, quindi proteggi il login di amministrazione come faresti con una password di root.
Licenza: MIT. File di licenza, sito del progetto.
Su Nodion: un processo web con SQLite su un volume da 10 GB. Accedi come admin con la password generata che trovi nella variabile ADMIN_PASSWORD della scheda Environment. Gli agenti si ricollegano all'URL dell'app via HTTPS, quindi non serve aprire altre porte in entrata.
5. GlitchTip: tracciamento degli errori
GlitchTip è un error tracker compatibile con gli SDK client di Sentry: punta il DSN dell'SDK che usi già verso la tua istanza, ed eccezioni, messaggi di log e violazioni della Content Security Policy arrivano in un unico posto. Elenca anche le richieste e le chiamate al database più lente, e ha un semplice monitoraggio dell'uptime: fa il ping del tuo sito, o attende un heartbeat da un job pianificato, e avvisa via email o webhook.
Licenza: MIT. File di licenza, sito del progetto.
Su Nodion: un processo web con PostgreSQL, un volume da 10 GB per gli upload e un'Email Zone per la posta in uscita. Alla prima apertura registri il primo utente.
6. Rustrak: tracciamento degli errori
Anche Rustrak parla il protocollo di Sentry, quindi per un SDK Sentry già in uso basta cambiare il DSN. Gira come un solo processo leggero e accetta gli eventi scrivendoli prima su disco, così un picco di traffico non deve aspettare il database. Oltre agli errori riceve log, transazioni, release health e trace dagli agenti AI.
Licenza: GPL-3.0. File di licenza, sito del progetto.
Su Nodion: un processo web con PostgreSQL e un volume da 10 GB. Accedi con l'email admin e la password che trovi dopo i due punti in CREATE_SUPERUSER nella scheda Environment.
Il monitoraggio integrato in Nodion
Se le tue app girano su Nodion, il controllo di uptime di base c'è già. Monitoring nella dashboard (il prodotto li chiama observer) controlla qualsiasi URL http(s) o una delle tue app e il suo dominio, a intervalli da 30 secondi a 30 minuti, con GET o HEAD. Imposti il codice di stato che ti aspetti, e qualsiasi altro risultato viene considerato non disponibile. Gli avvisi arrivano via email, Slack, Discord, Google Chat, Telegram, Pushover, ntfy o qualsiasi webhook, e ogni controllo viene salvato con il tempo di risposta e la regione. Se si guasta la sonda di Nodion anziché il tuo sito, il controllo viene contrassegnato e non conta come downtime. La configurazione è spiegata nella documentazione del monitoraggio.
Per una status page pubblica, metriche dei server o il tracciamento degli errori, aggiungi uno degli strumenti qui sopra.
Altri da considerare
- Tianji (Apache 2.0) unisce analytics del sito web, controlli di uptime e status page in un'unica app, ed è anch'esso nel catalogo con deploy in un clic.
- Uptime Kuma (MIT) è un semplice monitor di uptime con controlli HTTP, TCP, ping e DNS, molti servizi di notifica e più status page.
Come scegliere
- Vuoi molti tipi di controllo, status page e reperibilità in un solo strumento: SolidPing.
- Ti serve soprattutto una status page pubblica curata, con gli incidenti: Kener.
- Vuoi metriche di CPU, memoria, disco e container dai tuoi server: Beszel, oppure Komari per un setup ancora più leggero.
- Vuoi intercettare gli errori del tuo codice con gli SDK di Sentry: GlitchTip, oppure Rustrak per un unico piccolo processo.
- Le tue app girano già su Nodion e ti servono avvisi di uptime: il Monitoring integrato.
Ogni strumento gira su Nodion in una tua istanza, nella regione che scegli: EU Central (Francoforte), US East o US West. Sfoglia tutte le app nel catalogo con deploy in un clic.
Domande frequenti
Qual è il miglior strumento open source per il monitoraggio dell'uptime?
SolidPing, se vuoi molti tipi di controllo, controlli da più regioni, status page e reperibilità in un solo strumento. Uptime Kuma (MIT) è un'opzione più semplice, con controlli HTTP, TCP, ping e DNS e status page.
Qual è una buona status page open source?
Kener (MIT) crea status page pubbliche personalizzate con incidenti, finestre di manutenzione e badge da incorporare, ed esegue controlli propri. Anche SolidPing include le status page.
Esiste un'alternativa open source a Sentry?
Sì. GlitchTip (MIT) e Rustrak (GPL-3.0) accettano entrambi eventi dagli SDK client di Sentry, quindi per cambiare basta puntare il DSN verso la tua istanza.
Nodion ha il monitoraggio dell'uptime?
Sì. Monitoring nella dashboard controlla qualsiasi URL http(s) o una delle tue app da ogni 30 secondi fino a ogni 30 minuti, e avvisa via email, Slack, Discord, Google Chat, Telegram, Pushover, ntfy o webhook.