Monitoraggio server

Una delle fondamentali caratteristiche di una community dev'essere la capacità di crescere in maniera coerente con i propri membri, ovvero avere un'architettura agile e scalabile nel tempo.

Una delle fondamentali caratteristiche di una community dev'essere la capacità di crescere in maniera coerente con i propri membri, ovvero avere un'architettura agile e scalabile nel tempo.

Per raggiungere tale obiettivo, ciascuno dei nostri server (in hosting presso uno dei maggiori Data Center italiani) è stato dedicato ad uno scopo ben preciso nel rispetto della "chain of responsability" di ciascuna applicazione a cooperare sul funzionamento globale dei servizi offerti.

Server

Ma, come citava un famoso spot, "la potenza è nulla senza controllo", pertanto, su ciascun server sono stati installati gli opportuni servizi di monitoraggio che ne consentono la supervisione da remoto e la notifica in caso di disservizi o malfunzionamenti.

Per mettere in piedi tale monitoraggio ci si è avvalsi di SW open source e di ampia diffusione e con frequenti aggiornamenti in modo da essere certi di poter contare per molto tempo sugli stessi senza aver timore di operare aggiornamenti di sistema che causino incompatibilità o peggio.

Per raccogliere di dati di funzionamento di ciascun server ci si è avvalsi di Glances che consente di essere avviato in più istanze, per fornire sia direttamente tramite interfaccia web che come "sensor data writer" lo stato corrente del server su cui è installato.

Il suo naturale contraltare per memorizzare in maniera permanente i dati raccolti è InfluxDB, una base dati specializzata in time series, quindi particolarmente efficace quando la si voglia interrogare per estrapolare l'andamento di misure nel tempo e comprendere si sia o meno in atto un degradamento dello stato di salute di un server.

A chiudere il cerchio, Grafana costituisce un SW assolutamente versatile e performante nel rendering di dashboard strutturate sia in forma tabellare che di grafici e strutturabile per presentare la situazione di ciascun server.

Dashboard

Qualunque evento, diviso con diverse codifiche colore tra "info", "warning", "error", "critical" viene inoltrato su un apposito canale Slack di avviso in modo tale si possa interventire con la dovuta tempestività in caso di disservizi.

L'approccio utilizzato, ereditato dall'esperienza con reti, server e grandi infrastrutture aziendali, si è rivelato assolutamente adeguato anche per le esigenze di una community in virtù della sua efficacia e scalabilità.