Con la versione 1.7 del nostro prodotto di punta ClusterControl, abbiamo introdotto la nostra nuova infrastruttura di monitoraggio basata su agenti:SCUMM, di cui questo blog discute in modo più dettagliato.
Come elemento centrale del nostro prodotto, ClusterControl fornisce un sistema di monitoraggio completo con dati in tempo reale per sapere cosa sta succedendo ora, con metriche ad alta risoluzione per una migliore precisione, dashboard preconfigurati e un'ampia gamma di servizi di notifica di terze parti per gli avvisi .
I sistemi on-premise e cloud possono essere monitorati e gestiti da un unico punto.
Controlli di integrità intelligenti sono implementati per topologie distribuite, ad esempio il rilevamento del partizionamento di rete sfruttando la vista del sistema di bilanciamento del carico dei nodi del database.
E... il monitoraggio può essere agentless tramite SSH o basato su agent... ed è qui che entra in gioco SCUMM!
Il nuovo sistema SCUMM di ClusterControl è basato su agenti, con un server che estrae le metriche dagli agenti che vengono eseguiti sugli stessi host dei database monitorati e utilizza gli agenti Prometheus per una maggiore precisione e opzioni di personalizzazione durante il monitoraggio dei cluster di database.
Ma perché SCUMM e di cosa si tratta?
Introduzione a SCUMM
SCUMM - Multiplenines CMON Unified Monitoring and Management - è la nostra nuova infrastruttura di monitoraggio basata su agenti.
Questa infrastruttura di monitoraggio è composta da due componenti principali:
Il primo componente è il server Prometheus che funge da database delle serie temporali e memorizza le metriche raccolte.
Il secondo componente è l'esportatore. Possono esserci uno o più esportatori responsabili della raccolta delle metriche da un nodo o un servizio. Il server Prometheus raccoglie queste metriche (questo è chiamato scraping) dagli esportatori su HTTP. Inoltre, abbiamo creato una serie di dashboard per visualizzare le metriche raccolte.
I principali vantaggi sono:
- Raccogli le metriche con gli esportatori Prometheus supportati dalla community
- Ad esempio, dati da MySQL Performance Schema o ProxySQL
- Una serie di dashboard specializzati che mostrano le metriche più importanti e le tendenze storiche per ciascun servizio monitorato
- Il monitoraggio ad alta frequenza consente di raschiare i target con un intervallo di un secondo
- Un'architettura che si adatta al numero di server di database e cluster. Una singola istanza di Prometheus può acquisire migliaia di campioni al secondo.
- Nessuna dipendenza dalla connettività SSH per la raccolta delle metriche dell'host e del processo, il che significa un sistema più scalabile rispetto a una soluzione di monitoraggio senza agenti
- La possibilità di creare dashboard personalizzate con regole personalizzate (attenzione alle prossime versioni)
Gli agenti/esportatori SCUMM installati sui nodi monitorati sono chiamati esportatori Prometheus. Gli esportatori raccolgono le metriche dal nodo (ad es. CPU, RAM, disco e rete) e da servizi come server MySQL o PostgreSQL. Il server Prometheus è installato su un server e raschia (campiona) gli esportatori con un intervallo personalizzato.
Perché Prometeo?
Prometheus è un database di serie temporali molto popolare che ha ottenuto un'ampia adozione con un ecosistema attivo. Offre un ricco modello di dati e un linguaggio di query con un sistema di polling basato su http. È facile da installare, mantenere e configurare anche nella configurazione HA.
Prometheus estrae le metriche da lavori strumentati, direttamente o tramite un gateway push intermedio per lavori di breve durata. Memorizza tutti i campioni raschiati localmente ed esegue regole su questi dati per aggregare e registrare nuove serie temporali da dati esistenti o generare avvisi.
Prometheus funziona bene per registrare qualsiasi serie temporale puramente numerica. Si adatta sia al monitoraggio incentrato sulla macchina che al monitoraggio di architetture altamente dinamiche e orientate ai servizi. In un mondo di microservizi, il supporto per la raccolta e l'esecuzione di query di dati multidimensionali è un punto di forza particolare.
Prometheus è progettato per l'affidabilità, per essere il sistema a cui vai durante un'interruzione per consentirti di diagnosticare rapidamente i problemi. Ogni server Prometheus è autonomo, non dipende dall'archiviazione di rete o da altri servizi remoti. Puoi fare affidamento su di esso quando altre parti della tua infrastruttura sono danneggiate e non è necessario configurare un'infrastruttura estesa per utilizzarla. Pertanto, per un'elevata disponibilità è possibile semplicemente installare un secondo server Prometheus che estrae gli stessi dati del primo server Prometheus.
Inoltre, Prometheus è un database di serie temporali molto popolare e la sua adozione è cresciuta molto rapidamente. È possibile per un altro server Prometheus che si trova più in alto nell'organizzazione per raschiare i server Prometheus più vicino al livello di database. Ciò consente un'infrastruttura di monitoraggio scalabile in cui a livello di database la risoluzione dei dati è maggiore rispetto a un'organizzazione più in alto.
Esportatori
Uno o più esportatori sono installati sul server monitorato e sono responsabili della raccolta delle metriche su una parte specifica dell'infrastruttura. Ad esempio, potrebbe esserci un esportatore per acquisire informazioni specifiche sull'host, un esportatore per acquisire le metriche MySQL e le metriche ProxySQL.
Abbiamo anche creato un esportatore di processi specifico che monitora i processi in esecuzione del server. Questo esportatore è fondamentale per le funzionalità di disponibilità elevata in ClusterControl e consente a ClusterControl di reagire rapidamente agli errori e agli stati del processo. L'utilizzo dell'utilità di esportazione dei processi (installata per impostazione predefinita quando è abilitato il monitoraggio basato sugli agenti) riduce il carico di sistema sui server monitorati.
Abilitazione del monitoraggio basato su agente in ClusterControl
Abilitare il monitoraggio basato su agente è semplice come fare clic sul dashboard, quindi fare clic su "Abilita monitoraggio basato su agente". Seleziona un host in cui verrà installato il server Prometheus. Questo server Prometheus può quindi essere condiviso con altri cluster.
Con la sua versione 1.7.1, ClusterControl viene fornito con i seguenti dashboard:
- Panoramica del sistema
- Panoramica del cluster
- MySQL Server - Generale
- MySQL Server - Cache
- Metriche MySQL InnoDB
- Panoramica del cluster Galera
- Panoramica del server Galera
- Panoramica di PostgreSQL
- Panoramica di ProxySQL
- Panoramica HAProxy
- Panoramica del cluster MongoDB
- MongoDB ReplicaSet
- Server MongoDB
Riassumendo...
Se si desidera utilizzare un agente di monitoraggio o seguire la strada senza agente è completamente basato sui requisiti delle politiche organizzative e sulle esigenze personalizzate. E sebbene amiamo la semplicità di non dover installare o gestire agenti sugli host di database monitorati, un approccio basato su agenti può fornire una risoluzione più elevata dei dati di monitoraggio e presenta alcuni vantaggi in termini di sicurezza.
Il nuovo sistema SCUMM di ClusterControl utilizza gli agenti Prometheus per una maggiore precisione e opzioni di personalizzazione durante il monitoraggio dei cluster di database.
Perché non provarlo e vedere di persona!
Installa ClusterControl oggi (è gratuito con la nostra Community Edition) o scarica la nostra nuova Guida ClusterControl se desideri leggere prima informazioni sul nostro prodotto.