Nell'era dell'IoT (Internet of Things) e dei big data, i database svolgono un ruolo importante e sono fondamentali per il successo di un'organizzazione. Di conseguenza, crescono anche i requisiti per il monitoraggio dei server SQL. In questo blog vorrei quindi spiegarti di cosa dovresti essere consapevole quando monitori i server SQL.

Cosa sono i server SQL?

Il linguaggio SQL (Structured Query Language) è uno dei più importanti linguaggi di programmazione standardizzati per la gestione di database relazionali come Microsoft SQL, MariaDB, MySQL, Oracle DB o PostgreSQL. I server SQL sono la "casa" di un database e di solito ospitano le applicazioni SQL di un produttore di database. Per questo motivo è difficile definire il tipico server SQL. Il sistema di gestione dei database relazionali (RDBMS) di ogni fornitore ha funzioni diverse e requisiti hardware diversi. Inoltre, le dimensioni dei database variano a seconda dell'organizzazione specifica.

Panoramica dell'host di un database PostgreSQL in Checkmk

La maggior parte dei server SQL utilizza una distribuzione Linux come sistema operativo. Naturalmente, anche i server SQL Windows si trovano in ambienti Windows. Al giorno d'oggi è possibile configurare i server Microsoft SQL anche su distribuzioni Linux.

Molte aziende utilizzano diversi database SQL in parallelo. Inoltre, in alcuni settori come lo sviluppo web, i database SQL sono considerati obsoleti. Per questo motivo, molte organizzazioni lavorano anche con database non strutturali (NoSQL). Non sono più necessariamente installati su server hardware classici, ma utilizzano container e cluster Kubernetes per ospitare i loro database. Infine, i produttori di cloud pubblico come Amazon con il suo AWS RDS offrono servizi per gestire facilmente i server SQL come servizio cloud.

Quel che pertiene al monitoraggio dei server SQL

La ricchezza di varianti all'interno dei paesaggi SQL nelle organizzazioni ha anche un impatto sui requisiti per il monitoraggio dei server SQL. Gli amministratori di database devono spesso monitorare una moltitudine di server SQL e sistemi di database diversi. Poiché i database sono essenziali per il successo di un'azienda, la maggior parte dei reparti IT dispone già di un monitoraggio dei server SQL.

Tuttavia, nella pratica, un monitoraggio inadeguato dei server SQL rappresenta un problema importante. Il monitoraggio è spesso limitato a singole metriche come la disponibilità del database o l'utilizzo della memoria. Questo accade da un lato perché, a causa dei numerosi fornitori di database SQL, alcuni strumenti non sono tecnicamente in grado di registrare tutti i dati necessari da tutti i produttori attuali. Dall'altro lato, alcuni strumenti di monitoraggio potrebbero teoricamente acquisire un maggior numero di dati con un piccolo sforzo, ma non sono sufficientemente scalabili per elaborare correttamente il grande volume di dati di monitoraggio generato da database di grandi dimensioni.

Oltre alla disponibilità, le organizzazioni devono anche controllare e ottimizzare costantemente il flusso di informazioni attraverso i server SQL. Gli amministratori dei sistemi di database devono quindi ricostruire o adattare i database con maggiore frequenza. Allo stesso tempo, il monitoraggio non deve essere interrotto. È quindi importante che uno strumento di monitoraggio garantisca un monitoraggio preciso con il minimo sforzo e che possa essere adattato a una varietà di database.

Quando si monitorano i server SQL, la disponibilità dei dati nei sistemi distribuiti, i tempi di risposta e il numero di nodi di rete devono sempre essere inclusi nel monitoraggio. Solo attraverso un monitoraggio dettagliato le organizzazioni possono evitare colli di bottiglia e limitazioni delle prestazioni. Se l'uso di uno strumento di monitoraggio richiede troppo tempo, gli amministratori dei sistemi di database sono sottoposti a un'immensa pressione di tempo, con conseguenti lacune nel monitoraggio dei database.

Panoramica dell'host di un database PostgreSQL in Checkmk

Con Checkmk, la raccolta dei dati è molto semplice grazie ai plug-in di monitoraggio esistenti. Le integrazioni disponibili per Microsoft SQL, Oracle Database, PostgreSQL, MariaDB o IBM DB2, ad esempio, integrano i dati provenienti dagli agenti Checkmk, in modo che con pochi clic sia possibile impostare un monitoraggio completo dei server SQL. Tutti i plug-in necessari sono accessibili tramite l'interfaccia grafica di Checkmk e possono essere installati con pochi clic.

Checkmk funziona in modo particolarmente efficiente nel monitoraggio dei server SQL ed è ben scalabile. Swisscom utilizza Checkmk per monitorare enormi database Oracle con diverse migliaia di servizi per host senza alcun problema, grazie alla buona scalabilità di Checkmk.

Con Checkmk è possibile monitorare anche i database nel cloud: ad esempio, è possibile monitorare facilmente AWS RDS. Sono disponibili anche integrazioni per il monitoraggio di database NoSQL come Redis, MongoDB o Couchbase. Ciò consente di monitorare non solo diversi produttori, ma anche diverse tecnologie di database in modo uniforme. In ogni caso, si dispone sempre di una base dati ottimale e si possono eliminare rapidamente i problemi.

Checkmk è adatto anche per l'uso cross-team e fornisce agli amministratori di database un facile accesso al mondo DevOps grazie alla sua profonda integrazione con Prometheus. Allo stesso tempo, anche gli sviluppatori beneficiano dei dati di Checkmk e possono monitorare le interazioni tra database e applicazioni.