Infrastruttura
Monitorare un software aziendale: come sapere se funziona.
Molte aziende scoprono che il gestionale o il portale è fermo quando chiama un cliente. Il monitoraggio ribalta la situazione: è il sistema ad avvisare chi lo gestisce, spesso prima che qualcuno se ne accorga.
Di Alessandro Negru · Sviluppatore software · · 4 min di lettura
01 / Il problema
Perché non basta aspettare le segnalazioni
Quando un problema viene segnalato da un cliente, ha già fatto danni: ordini non visti, telefonate, una cattiva impressione. E spesso i guasti non arrivano all’improvviso: un disco che si riempie, un certificato in scadenza, un database sempre più lento danno segnali settimane prima.
Monitorare significa raccogliere questi segnali in modo continuo e farsi avvisare quando superano una soglia.
02 / Le misure
Cosa tenere sotto controllo
Il servizio risponde?
Un controllo esterno apre la pagina di accesso a intervalli regolari, come farebbe un cliente.
La macchina sta bene?
Spazio su disco, memoria e processore del server, con l’andamento nel tempo.
L’applicazione è lenta?
Tempi di risposta, errori e numero di richieste ricevute.
Cosa è successo?
I log, cioè il diario dell’applicazione, raccolti in un unico posto e consultabili.
03 / Gli strumenti
Prometheus, Grafana e Loki
Sono tre strumenti open source molto diffusi, che lavorano insieme. Non serve conoscerli nel dettaglio, ma è utile sapere cosa fa ciascuno:
- Prometheus raccoglie i numeri: ogni minuto chiede a server, database e applicazione come stanno e conserva lo storico.
- Loki raccoglie i log, così per capire cosa è successo non bisogna entrare nel server e cercare tra i file.
- Grafana mostra tutto in dashboard leggibili, con grafici e pannelli, e invia gli avvisi.
Costano?
Il software è gratuito. Il costo è il tempo di configurazione iniziale e un po’ di risorse sul server. Esistono anche servizi in abbonamento che fanno lo stesso: comodi, ma i dati del tuo sistema finiscono su piattaforme esterne.
04 / Gli avvisi
Avvisi utili, non rumore
Un monitoraggio che manda dieci avvisi al giorno viene ignorato in una settimana. Gli avvisi devono essere pochi e riguardare cose su cui si può agire:
- il servizio non risponde da qualche minuto;
- il disco è quasi pieno;
- il certificato HTTPS scade a breve;
- l’ultimo backup non è andato a buon fine;
- gli errori dell’applicazione sono aumentati all’improvviso.
05 / Esperienza sul campo
Un esempio reale
Per il portale clienti di Toscana Stampaggi ho affiancato all’applicazione Prometheus, Grafana e Loki. Ogni minuto vengono misurati il server, i container, il server web e il database; un controllo esterno verifica che la pagina di accesso risponda e che il certificato sia valido.
Tutto gira in un ambiente separato, con limiti di memoria, così il monitoraggio non può rallentare il portale. La dashboard non è pubblica: si raggiunge solo dalla VPN aziendale.
Il progetto del portale clientiCosa chiedere al fornitore
- Se il software si ferma alle tre di notte, chi lo sa e quando?
- Quanto spazio libero ha il server oggi, e quanto ne avrà tra sei mesi?
- Dopo un problema, si riesce a ricostruire cosa è successo?
Il monitoraggio va di pari passo con i backup: il primo ti dice che qualcosa non va, i secondi ti permettono di rimediare.