L'amministrazione del database va oltre la garanzia di operazioni senza intoppi per avere prestazioni storiche che offriranno alcune linee di base per la pianificazione della capacità, ottenere prestazioni in tempo reale per i picchi di carico, automatizzare un grande cluster di nodi e disporre di un piano di backup per il Banca dati.
Ci sono così tanti strumenti di automazione in grado di eseguire alcune di queste attività, come Ansible, Salt e Puppet, ma MongoDB Ops Manager offre di più oltre le loro capacità. Inoltre, è necessario sapere qual è lo stato del database, in un dato momento e quali aggiornamenti devono essere effettuati affinché il sistema sia aggiornato.
Che cos'è MongoDB Ops Manager?
Questa è un'applicazione di gestione per MongoDB creata dagli ingegneri del database MongoDB per semplificare e velocizzare i processi di distribuzione, monitoraggio, backup e ridimensionamento. È disponibile solo con la licenza MongoDB Enterprise Advanced.
L'utilizzo del database aumenta con il tempo man mano che più utenti lo utilizzano e aumenta anche la vulnerabilità dei dati coinvolti. Un database può essere soggetto a rischi come il ronzio della rete e l'hacking che influiscono così su un'operazione aziendale. Il gruppo di gestione del database deve notare i numeri che cambiano in modo da mantenere il database nelle ultime patch e capacità di servizio. MongoDB Ops Manager fornisce queste funzionalità di estensione per migliorare le prestazioni del database nei seguenti modi:
- Protezione contro la perdita di dati
- Automazione Easy Tasks
- Fornire informazioni sui tassi di query
- Visibilità complessiva delle prestazioni della GUI
- Gestione delle distribuzioni elastiche
- Integrazione con applicazioni cloud
In generale, Ops Manager aiuta in automazione, monitoraggio e backup.
Funzionalità di automazione di Ops Manager
Gestire autonomamente una distribuzione di cluster di grandi dimensioni può diventare noioso, soprattutto quando si eseguono le stesse istruzioni nel tempo e (a seconda della domanda) si aumenta o si riduce. Alcune di queste attività potrebbero richiedere l'assunzione di specialisti di database per farlo. La GUI di Ops Manager offre alcune di queste azioni con pochi clic. Puoi usarlo per aggiungere o rimuovere nodi al tuo cluster in base alla domanda e il MongoDB si ribilancia automaticamente in relazione alla nuova topologia con tempi di inattività minimi o nulli.
Alcune delle operazioni eseguite manualmente (come la distribuzione di un nuovo cluster, l'aggiornamento dei nodi, l'aggiunta di membri e shard del set di repliche) sono orchestrate e automatizzate da Ops Manager. La prossima volta che intraprendi la procedura, ti basterà un clic di un pulsante e tutte le attività verranno eseguite. C'è anche un'API RESTful di Ops Manager per consentirti di integrare la gestione programmatica.
Con questo tipo di automazione, puoi ridurre i costi operativi e le spese generali.
Monitoraggio MongoDG con Ops Manager
Il monitoraggio è una caratteristica importante per qualsiasi sistema di database per quanto riguarda l'allocazione delle risorse e le notifiche sullo stato del database. Senza avere un'idea delle prestazioni del tuo database, le possibilità di incontrare un intoppo tecnico sono elevate e di conseguenza catastrofiche. MongoDB Ops Manager ha anche una visibilità completa delle prestazioni in una rappresentazione grafica, fornisce report in tempo reale e una capacità di avviso sugli indicatori chiave delle prestazioni come le risorse hardware.
In caso di pianificazione della capacità, Ops Manager offre una vista storica delle prestazioni da cui è possibile ricavare la baseline operativa.
Il monitoraggio si ottiene abilitandolo nello stesso host MongoDB. Il monitoraggio raccoglie i dati da tutti i nodi nella distribuzione e un agente trasmette queste statistiche all'Ops Manager che crea un report sullo stato della distribuzione in tempo reale.
Dai rapporti, puoi facilmente vedere query lente e veloci e capire come ottimizzarle per prestazioni medie.
Ops Manager fornisce dashboard e grafici personalizzati per tenere traccia di molti database su parametri di integrità chiave che includono l'utilizzo della CPU e la memoria.
L'abilitazione degli avvisi in Ops Manager è importante in quanto vorresti sapere quali metriche chiave del database sono fuori portata. La loro configurazione varia in termini di parametri che interessano i singoli host, agenti, set di repliche e backup. L'Ops Manager offre 4 principali strategie di reporting per tenerti in testa di eventuali potenziali intoppi tecnici:sistema di gestione degli incidenti, SMS, e-mail o Slack.
Puoi anche utilizzare l'API RESTful di Ops Manager e inviare i dati a piattaforme come APM per visualizzare le metriche di salute.
Backup MongoDB con Ops Manager
La perdita di dati è una delle battute d'arresto più dolorose che possono influire sul funzionamento di qualsiasi azienda. Tuttavia, con Ops Manager, i dati sono protetti. I tempi di inattività del database possono verificarsi in qualsiasi momento, ad esempio, a causa di interruzioni di corrente o disconnessioni della rete. Fortunata è l'organizzazione che utilizza MongoDB Ops Manager poiché mantiene continuamente i backup in modalità snapshot pianificata o in un ripristino point-in-time. Se la distribuzione di MongoDB non riesce a un certo punto, il backup più recente sarà solo pochi istanti dietro lo stato dell'ultimo database prima dell'errore, riducendo così la perdita di dati.
Lo strumento offre una finestra per l'esecuzione diretta di query sui backup per trovare il punto corretto per un ripristino. Inoltre, puoi usarlo per capire come le strutture dei dati sono cambiate nel tempo.
Il backup di Ops Manager funziona solo con un cluster o un set di repliche, altrimenti, per un processo mongod autonomo dovrai convertirlo in un set di repliche a membro singolo.
Come funzionano il backup e il ripristino con Ops Manager
Dopo aver abilitato il backup nella distribuzione MongoDB, il backup esegue una sincronizzazione iniziale dei dati della distribuzione nello stesso modo in cui potrebbe creare un nuovo membro invisibile di un set di repliche. Un agente invia la sincronizzazione iniziale e l'oplog i dati su HTTPS tornano a Ops Manager. Durante il processo di backup, il database trattiene tutte le operazioni di throughput ma vengono registrate nell'oplog quindi viene inviato anche per ottenere l'ultimo aggiornamento.
Il backup chiuderà quindi l'oplog di ogni set di repliche per mantenere un database autonomo su disco (database principale) che verrà gestito da Ops Manager per ogni set di repliche di cui è stato eseguito il backup. Questo database principale rimane coerente con l'originale primario fino all'ultimo oplog fornito tramite l'agente.
Per un cluster partizionato, è possibile eseguire un ripristino dai punti di controllo tra gli snapshot mentre per un set di repliche è possibile eseguire un ripristino da punti temporali selezionati.
Per un ripristino di istantanee, Ops Manager leggerà direttamente dalla memoria di istantanee.
Quando si utilizza un punto nel tempo o un punto di controllo, il gestore operazioni ripristina un'istantanea completa dall'archivio istantanee e quindi applica gli oplog archiviati a un punto specificato. Il gestore operazioni fornisce lo snapshot e l'aggiornamento dell'oplog utilizzando un meccanismo HTTPS.
Quanto oplog mantieni per backup determinerà quanto tempo può coprire un checkpoint e un ripristino point-in-time.
Integrazione con applicazioni cloud
Non tutte le distribuzioni di MongoDB vengono eseguite dallo stesso host del cluster. Ci sono così tanti host cloud (come Red Hat OpenShift, Kubernates e Pivotal Cloud Foundry) che rendono complicata l'integrazione con altri strumenti. Ops Manager, tuttavia, può essere integrato con questa varietà di piattaforme di distribuzione di applicazioni cloud, rendendo così coerente ed elegante l'esecuzione e la distribuzione dei carichi di lavoro ovunque sia necessario, garantendo la stessa configurazione del database in ambienti diversi e controllandoli da un'unica piattaforma.
Conclusione
Gestire una distribuzione di cluster MongoDB di grandi dimensioni non è un compito facile. Ops Manager è uno strumento di automazione che offre uno stato del database visualizzato e un sistema di allerta; caratteristiche chiave nel fornire informazioni sullo stato di salute del database. Tuttavia, richiede una licenza Enterprise che per alcune organizzazioni può essere fuori budget.
ClusterControl fornisce un'alternativa, offrendo molte delle stesse caratteristiche e funzioni di Ops Manager ma a più della metà del costo. Puoi saperne di più su cosa fa ClusterControl per MongoDB qui.