L'administration de la base de données va au-delà d'assurer des opérations fluides pour avoir des performances historiques qui offriront des références pour la planification de la capacité, obtenir des performances en temps réel pour les pics de charge, automatiser un grand cluster de nœuds et disposer d'un plan de sauvegarde pour le base de données.
Il existe de nombreux outils d'automatisation capables d'effectuer certaines de ces tâches, comme Ansible, Salt et Puppet, mais MongoDB Ops Manager offre bien plus que leurs capacités. De plus, il faut savoir quel est l'état de la base de données à un moment donné et quelles mises à jour doivent être effectuées pour que le système soit à jour.
Qu'est-ce que MongoDB Ops Manager ?
Il s'agit d'une application de gestion pour MongoDB créée par les ingénieurs de base de données MongoDB pour faciliter et accélérer les processus de déploiement, de surveillance, de sauvegarde et de mise à l'échelle. Il est uniquement disponible avec la licence MongoDB Enterprise Advanced.
L'utilisation de la base de données augmente avec le temps à mesure que de plus en plus d'utilisateurs l'utilisent et que la vulnérabilité des données impliquées augmente également. Une base de données peut être soumise à des risques tels que le bourdonnement du réseau et le piratage affectant ainsi une opération commerciale. Le groupe de gestion de la base de données doit remarquer les numéros changeants afin de maintenir la base de données dans les derniers correctifs et capacités de service. MongoDB Ops Manager fournit ces fonctionnalités d'extension pour améliorer les performances de la base de données de la manière suivante :
- Protection contre la perte de données
- Automatisation facile des tâches
- Fournir des informations sur les taux de requête
- Visibilité globale des performances de l'interface graphique
- Gestion des déploiements élastiques
- Intégration avec des applications cloud
En général, Ops Manager aide à l'automatisation, à la surveillance et aux sauvegardes.
Fonctionnalités d'automatisation du gestionnaire d'opérations
La gestion d'un grand déploiement de cluster par vous-même peut devenir fastidieuse, en particulier lors de l'exécution des mêmes instructions au fil du temps et (selon la demande) vous augmenterez ou diminuerez. Certaines de ces tâches peuvent vous obliger à embaucher des spécialistes de la base de données pour ce faire. L'interface graphique d'Ops Manager propose certaines de ces actions en quelques clics. Vous pouvez l'utiliser pour ajouter ou supprimer des nœuds à votre cluster en fonction de la demande et MongoDB se rééquilibre automatiquement en fonction de la nouvelle topologie avec un temps d'arrêt minimal ou nul.
Certaines des opérations que vous avez effectuées manuellement (telles que le déploiement d'un nouveau cluster, la mise à niveau de nœuds, l'ajout de membres de jeux de réplicas et de fragments) sont orchestrées et automatisées par le gestionnaire des opérations. La prochaine fois que vous entreprenez la procédure, il vous suffira d'un clic sur un bouton et toutes les tâches seront exécutées. Il existe également une API RESTful Ops Manager pour vous permettre d'intégrer la gestion programmatique.
Avec ce type d'automatisation, vous pouvez réduire vos coûts opérationnels et vos frais généraux.
Surveillance MongoDG avec Ops Manager
La surveillance est une fonctionnalité importante pour tout système de base de données en ce qui concerne l'allocation des ressources et les notifications sur la santé de la base de données. Sans aucune idée des performances de votre base de données, les chances de rencontrer un problème technique sont élevées et par conséquent catastrophiques. MongoDB Ops Manager a même une visibilité complète des performances dans une représentation graphique, fournit des rapports en temps réel et une capacité d'alerte sur les indicateurs de performance clés tels que les ressources matérielles.
En cas de planification de la capacité, le gestionnaire des opérations offre une vue historique des performances à partir de laquelle la référence opérationnelle peut être dérivée.
La surveillance est réalisée en l'activant dans le même hôte MongoDB. La surveillance collecte les données de tous les nœuds du déploiement et un agent transmet ces statistiques au responsable des opérations qui crée un rapport sur l'état du déploiement en temps réel.
À partir des rapports, vous pouvez facilement voir les requêtes lentes et rapides et déterminer comment vous pouvez les optimiser pour des performances moyennes.
Ops Manager fournit des tableaux de bord et des graphiques personnalisés pour le suivi de nombreuses bases de données sur des indicateurs de santé clés, notamment l'utilisation du processeur et la mémoire.
L'activation des alertes dans le gestionnaire d'opérations est importante, car vous voudriez savoir quelles mesures clés de la base de données sont hors plage. Leur configuration varie en termes de paramètres affectant les hôtes individuels, les agents, les jeux de répliques et les sauvegardes. L'Ops Manager propose 4 stratégies de signalement majeures pour vous tenir au courant de tout problème technique potentiel :système de gestion des incidents, SMS, e-mail ou Slack.
Vous pouvez également utiliser l'API RESTful d'Ops Manager et transmettre les données à des plates-formes telles qu'APM pour afficher les mesures de santé.
Sauvegardes MongoDB avec Ops Manager
La perte de données est l'un des revers les plus douloureux pouvant avoir un impact sur le fonctionnement de toute entreprise. Cependant, avec Ops Manager, les données sont protégées. L'indisponibilité de la base de données peut survenir à tout moment, par exemple en raison de pannes de courant ou de déconnexions du réseau. Lucky est l'organisation qui utilise MongoDB Ops Manager car elle maintient en permanence des sauvegardes soit en mode instantanés planifiés, soit en récupération ponctuelle. Si le déploiement de MongoDB échoue à un moment donné, la sauvegarde la plus récente ne sera que quelques instants après le dernier état de la base de données avant l'échec, ce qui réduira la perte de données.
L'outil propose une fenêtre permettant d'exécuter directement des requêtes sur les sauvegardes afin de trouver le point correct pour une restauration. De plus, vous pouvez l'utiliser pour comprendre comment les structures de données ont changé avec le temps.
La sauvegarde d'Ops Manager ne fonctionne qu'avec un cluster ou un jeu de réplicas, sinon, pour un processus mongod autonome, vous devrez le convertir en un jeu de réplicas à membre unique.
Fonctionnement de la sauvegarde et de la restauration avec Ops Manager
Après avoir activé la sauvegarde dans le déploiement MongoDB, la sauvegarde effectue une synchronisation initiale des données du déploiement de la même manière qu'elle pourrait créer un nouveau membre invisible d'un jeu de répliques. Un agent envoie la synchronisation initiale et oplog données via HTTPS vers Ops Manager. Pendant le processus de sauvegarde, la base de données retient toutes les opérations de débit, mais elles sont enregistrées dans l'oplog, il est donc également envoyé pour obtenir la dernière mise à jour.
La sauvegarde suivra ensuite l'oplog de chaque jeu de répliques pour maintenir une base de données autonome sur disque (base de données principale) qui sera maintenue par le responsable des opérations pour chaque jeu de répliques sauvegardé. Cette base de données principale reste cohérente avec le primaire d'origine jusqu'au dernier oplog fourni via l'agent.
Pour un cluster fragmenté, une restauration peut être effectuée à partir de points de contrôle entre les instantanés, tandis que pour un jeu de répliques, une restauration peut être effectuée à partir de points sélectionnés dans le temps.
Pour une restauration d'instantané, le gestionnaire d'exploitation lira directement à partir du stockage d'instantanés.
Lors de l'utilisation d'un point dans le temps ou d'un point de contrôle, le gestionnaire des opérations restaure un instantané complet à partir du stockage d'instantanés, puis applique les oplogs stockés à un point spécifié. Le responsable des opérations fournit l'instantané et la mise à jour de l'oplog à l'aide d'un mécanisme HTTPS.
La quantité d'oplog que vous conservez par sauvegarde déterminera la durée qu'un point de contrôle et une restauration ponctuelle peuvent couvrir.
Intégration avec les applications cloud
Tous les déploiements MongoDB ne sont pas exécutés à partir du même hôte de cluster. Il y a tellement d'hôtes cloud (tels que Red Hat OpenShift, Kubernates et Pivotal Cloud Foundry) qui compliquent l'intégration avec d'autres outils. Ops Manager, cependant, peut être intégré à ces diverses plates-formes de déploiement d'applications cloud, ce qui permet d'exécuter et de déployer des charges de travail de manière cohérente et élégante là où elles doivent se trouver, garantissant la même configuration de base de données dans différents environnements et les contrôlant à partir d'une plate-forme unique.
Conclusion
Gérer un grand déploiement de cluster MongoDB n'est pas une tâche facile. Ops Manager est un outil d'automatisation qui offre un état de base de données visualisé et un système d'alerte; fonctionnalités clés pour fournir des informations sur la santé de la base de données. Cependant, il nécessite une licence d'entreprise qui, pour certaines organisations, peut être hors budget.
ClusterControl fournit une alternative, offrant bon nombre des mêmes caractéristiques et fonctions d'Ops Manager, mais à plus de la moitié du coût. Vous pouvez en savoir plus sur ce que fait ClusterControl pour MongoDB ici.