Informatica e IAInfrastruttura e rete
Monitoring, strumenti per supervisionare le nostre infrastrutture e applicazioni
· Michel Aguilera

Le infrastrutture e gli ambienti applicativi diventano sempre più complessi. Questo richiede di poter tenere d’occhio l’insieme e di assicurarsi di poter automatizzare facilmente le reazioni in caso di guasti. In questo articolo cercheremo di presentare alcune soluzioni che permettono di avere questa visione globale su tutti i nostri elementi, che siano fisici o nel cloud. Rassegna dei prodotti di tendenza.
Un occhio….su tutto!
Il monitoring, o supervisione delle infrastrutture, consiste nel poter controllare il corretto funzionamento delle soluzioni informatiche di un ambiente aziendale o di esercizio. Per effettuare questo tipo di sorveglianza esistono degli standard nel mondo informatico (sia nei protocolli di rete sia all’interno dei sistemi operativi). Questi standard ci permetteranno di raccogliere dati di utilizzo in tempo reale e di notificare agli amministratori lo stato generale. In seguito, stabiliremo regole automatiche per risolvere problemi noti o ricorrenti, così da facilitare il lavoro di gestione centralizzata.

Bisogna innanzitutto capire come si definiscono le azioni di supervisione sugli elementi sorgente (cioè su macchine o applicazioni). Ogni elemento da controllare dispone di un accesso tramite un protocollo (ad esempio SNMP o WMI) e di una gestione dell’identità, con diritti di amministrazione (detta anche profilo di amministrazione). Ad esempio, l’SNMP permette, tramite una definizione di scambio, di leggere uno stato oppure di interagire con l’oggetto che si sta supervisionando.

In questi protocolli di rete dedicati al monitoring bisogna vedere dei mezzi di accesso alle informazioni sullo stato di funzionamento. Ad esempio, se una macchina non è più presente in rete (o è considerata spenta), proveremo a verificarne la presenza (PING e risposta ICMP) e, a seconda del risultato, segnaleremo la situazione all’amministratore dell’ambiente. Si può anche interrogare Windows tramite WMI e chiedergli, con l’utente giusto e i diritti necessari, di dirci se una certa applicazione o un certo servizio funziona o è fermo. Tutte queste situazioni possono essere applicate e verificate con diversi mezzi (protocolli) oppure con l’installazione di agenti (piccoli programmi di controllo specifici), che trasmetteranno le informazioni in tempo reale o in momenti programmati.
Gli strumenti esistenti in questo campo sono numerosi. Esistono diversi siti che censiscono questi strumenti, come ad esempio: https://www.monitoring-fr.org Cominciamo con una serie di strumenti. Il primo è PRTG. La società Paessler, che propone questa soluzione, ha sviluppato una piattaforma di supervisione che funziona sotto Windows. Tramite i protocolli standard di amministrazione è possibile gestire sia componenti fisici sia applicazioni di ogni tipo.

Nella stessa linea, su server Windows, c’è anche la soluzione ManageEngine OpManager. Il prodotto è disponibile in diverse versioni (gratuita per il modulo di base e versioni a pagamento per un supporto esteso, con funzioni aggiuntive).

Molto popolari anche le soluzioni SolarWinds, che offrono una gestione della supervisione molto avanzata, con interfacce ricche di indicazioni.

Video introduttivo (in inglese):
Il principale inconveniente di queste soluzioni sta nel fatto che bisogna dedicare un server Windows al compito di supervisione (il che può essere considerato una soluzione pesante, a seconda degli ambienti). Questo ci porta a usare o a prendere in considerazione prodotti in grado di funzionare in sistemi di containerizzazione.

Passiamo a una soluzione in grado di funzionare sotto Linux: ecco Zabbix, un’amministrazione in modalità web, capace di effettuare analisi di rete per scoprire gli elementi da supervisionare, con anche la possibilità di connettersi ad API per analizzare il funzionamento delle applicazioni (on premise o in SaaS). Ecco un video sulla messa in opera in un LXC:
Come puoi constatare, l’avvio iniziale può essere realizzato molto rapidamente e permette una gestione centralizzata delle soluzioni.
Nel mondo dell’Open Source esiste un gran numero di possibilità. Per citarne alcune: Nagios, NetData (questi due sono basati su Linux e possono funzionare in container, come Zabbix). Ci sono anche ZenOss o ancora Centreon, che è disponibile anche con offerte commerciali.

Il lavoro di configurazione è più impegnativo a seconda della complessità dell’infrastruttura da supervisionare o delle regole di gestione che desideri mettere in atto. Si raccomanda di pianificare e stabilire i principi di gestione prima di scegliere lo strumento appropriato e di lanciarsi nella sua messa in opera.
Può anche capitare che in alcuni casi sia necessario utilizzare diversi strumenti di supervisione per gestire tutti i casi operativi. E questo può talvolta comportare una perdita di controllo sull’insieme. In quel momento bisogna affidarsi a quelli che vengono chiamati aggregatori di informazioni per la supervisione.
È la missione di una soluzione come Grafana.

Permettendo di gestire contemporaneamente diverse fonti di dati, di analizzarle e di creare pannelli di controllo (dashboard) arricchiti, Grafana consente anche di automatizzare i processi di risoluzione dei guasti o di effettuare notifiche avanzate per gli amministratori. Ecco il video della loro conferenza del 2019, che mostra l’uso della console e la creazione di dashboard in Grafana:
In sintesi…tutto sotto controllo?
Come hai potuto constatare, il numero di prodotti esistenti è piuttosto considerevole. La difficoltà, per orientarsi nella giungla delle offerte, è avere un’idea ben precisa di ciò che si deve supervisionare, del tempo che si può dedicarvi e di come vogliamo automatizzare i processi di ripristino in caso di guasto dei nostri sistemi. Questo si chiama piano di disaster recovery o DRP (Disaster Recovery Plan). È importante affidarsi agli strumenti di supervisione per guadagnare in reattività e consentire un’identificazione rapida dei problemi. L’analisi delle esigenze richiede di affidarsi a professionisti del settore, che sapranno capire e analizzare la tua situazione e proporre le giuste alternative.