Die Datenbankverwaltung geht über die Gewährleistung eines reibungslosen Betriebs hinaus und bietet historische Leistung, die einige Basislinien für die Kapazitätsplanung bietet, Echtzeitleistung für Lastspitzen, die Automatisierung eines großen Clusters von Knoten und einen Sicherungsplan für die Datenbank.
Es gibt so viele Automatisierungstools, die einige dieser Aufgaben ausführen können, wie Ansible, Salt und Puppet, aber MongoDB Ops Manager bietet mehr als ihre Möglichkeiten. Außerdem muss man wissen, wie der Datenbankstatus zu einem bestimmten Zeitpunkt ist und welche Aktualisierungen vorgenommen werden müssen, damit das System auf dem neuesten Stand ist.
Was ist MongoDB Ops Manager?
Dies ist eine Verwaltungsanwendung für MongoDB, die von den MongoDB-Datenbankingenieuren erstellt wurde, um die Bereitstellungs-, Überwachungs-, Sicherungs- und Skalierungsprozesse zu vereinfachen und zu beschleunigen. Es ist nur mit der MongoDB Enterprise Advanced-Lizenz verfügbar.
Die Datenbanknutzung nimmt mit der Zeit zu, je mehr Benutzer sie verwenden, und auch die Verwundbarkeit der betroffenen Daten nimmt zu. Eine Datenbank kann Risiken wie Netzwerkbrummen und Hacking ausgesetzt sein, was den Geschäftsbetrieb beeinträchtigen kann. Die Datenbankverwaltungsgruppe muss die sich ändernden Zahlen bemerken, um die Datenbank auf dem neuesten Patch und der Bereitstellungsfähigkeit zu halten. MongoDB Ops Manager stellt diese Erweiterungsfunktionen für eine verbesserte Datenbankleistung auf folgende Weise bereit:
- Schutz vor Datenverlust
- Einfache Aufgabenautomatisierung
- Bereitstellung von Informationen zu Abfrageraten
- Sichtbarkeit der GUI-Gesamtleistung
- Elastic-Bereitstellungsverwaltung
- Integration mit Cloud-Anwendungen
Im Allgemeinen hilft Ops Manager bei der Automatisierung, Überwachung und Sicherung.
Automatisierungsfunktionen von Ops Manager
Eine große Cluster-Bereitstellung alleine zu verwalten kann mühsam werden, besonders wenn Sie die gleichen Anweisungen im Laufe der Zeit ausführen und (je nach Bedarf) entweder nach oben oder unten skalieren. Für einige dieser Aufgaben müssen Sie möglicherweise Datenbankspezialisten einstellen. Die Ops Manager-GUI bietet einige dieser Aktionen mit nur wenigen Klicks an. Sie können es verwenden, um je nach Bedarf Knoten zu Ihrem Cluster hinzuzufügen oder zu entfernen, und die MongoDB gleicht sich automatisch in Bezug auf die neue Topologie mit minimaler oder keiner Ausfallzeit aus.
Einige der Vorgänge, die Sie manuell durchgeführt haben (z. B. das Bereitstellen eines neuen Clusters, das Aktualisieren von Knoten, das Hinzufügen von Replikatsatzmitgliedern und Shards) werden vom Ops Manager orchestriert und automatisiert. Wenn Sie den Vorgang das nächste Mal durchführen, müssen Sie nur noch auf eine Schaltfläche klicken, und alle Aufgaben werden ausgeführt. Es gibt auch eine Ops Manager RESTful API, mit der Sie die programmatische Verwaltung integrieren können.
Mit dieser Art der Automatisierung können Sie Ihre Betriebskosten und Gemeinkosten reduzieren.
MongoDG-Überwachung mit Ops Manager
Überwachung ist ein wichtiges Feature für jedes Datenbanksystem in Bezug auf die Ressourcenzuweisung und Benachrichtigungen über den Zustand der Datenbank. Ohne eine Vorstellung davon, wie Ihre Datenbank funktioniert, ist die Wahrscheinlichkeit, dass ein technisches Problem auftritt, hoch und folglich katastrophal. MongoDB Ops Manager hat sogar eine vollständige Leistungstransparenz in einer grafischen Darstellung, bietet Echtzeitberichte und eine Warnfunktion für wichtige Leistungsindikatoren wie Hardwareressourcen.
Im Falle der Kapazitätsplanung bietet der Ops Manager eine historische Leistungsansicht, aus der die Betriebsbasis abgeleitet werden kann.
Die Überwachung wird erreicht, indem sie auf demselben MongoDB-Host aktiviert wird. Die Überwachung sammelt die Daten von allen Knoten in der Bereitstellung und ein Agent überträgt diese Statistiken an den Ops Manager, der in Echtzeit einen Bericht über den Bereitstellungsstatus erstellt.
Aus den Berichten können Sie leicht langsame und schnelle Abfragen erkennen und herausfinden, wie Sie sie für eine durchschnittliche Leistung optimieren können.
Der Ops Manager bietet benutzerdefinierte Dashboards und Diagramme zum Verfolgen vieler Datenbanken zu wichtigen Zustandsmetriken, darunter CPU-Auslastung und Arbeitsspeicher.
Das Aktivieren von Warnungen im Ops Manager ist wichtig, da Sie wissen möchten, welche Schlüsselmetriken aus der Datenbank außerhalb des zulässigen Bereichs liegen. Ihre Konfiguration variiert in Bezug auf Parameter, die einzelne Hosts, Agenten, Replikatsätze und Sicherungen betreffen. Der Ops Manager bietet 4 wichtige Berichtsstrategien, um Sie über potenzielle technische Probleme zu informieren:Incident-Management-System, SMS, E-Mail oder Slack.
Sie können auch die RESTful-API von Ops Manager verwenden und die Daten an Plattformen wie APM weitergeben, um die Zustandsmetriken anzuzeigen.
MongoDB-Sicherungen mit Ops Manager
Datenverlust ist einer der schmerzhaftesten Rückschläge, die den Betrieb eines jeden Unternehmens beeinträchtigen können. Mit Ops Manager sind die Daten jedoch geschützt. Datenbankausfälle können jederzeit auftreten, z. B. aufgrund von Stromausfällen oder Netzwerkunterbrechungen. Lucky ist die Organisation, die den MongoDB Ops Manager verwendet, da er kontinuierlich Sicherungen entweder in einem geplanten Snapshot-Modus oder einer Point-in-Time-Wiederherstellung verwaltet. Wenn die MongoDB-Bereitstellung irgendwann fehlschlägt, liegt die letzte Sicherung nur wenige Augenblicke hinter dem letzten Datenbankstatus vor dem Ausfall zurück, wodurch der Datenverlust reduziert wird.
Das Tool bietet ein Fenster zum direkten Ausführen von Abfragen an Backups, um den richtigen Punkt für eine Wiederherstellung zu finden. Außerdem können Sie damit nachvollziehen, wie sich Datenstrukturen im Laufe der Zeit verändert haben.
Das Ops Manager-Backup funktioniert nur mit einem Cluster- oder Replikatsatz, andernfalls müssen Sie ihn für einen eigenständigen Mongod-Prozess in einen Einzelmitglieds-Replikatsatz konvertieren.
Wie Sicherung und Wiederherstellung mit Ops Manager funktionieren
Nach dem Aktivieren der Sicherung in der MongoDB-Bereitstellung führt die Sicherung eine anfängliche Synchronisierung der Daten der Bereitstellung durch, genauso wie es ein neues unsichtbares Mitglied eines Replikatsatzes erstellen könnte. Ein Agent sendet die anfängliche Synchronisierung und das Oplog Daten über das HTTPS zurück zu Ops Manager. Während des Sicherungsvorgangs hält die Datenbank alle Durchsatzvorgänge zurück, aber sie werden im Oplog aufgezeichnet, daher wird es auch gesendet, um die letzte Aktualisierung zu erhalten.
Die Sicherung verfolgt dann das Oplog jedes Replikatsatzes, um eine eigenständige Datenbank auf der Festplatte (Kopfdatenbank) zu verwalten, die vom Ops Manager für jeden gesicherten Replikatsatz verwaltet wird. Diese Head-Datenbank bleibt konsistent mit der ursprünglichen Primärdatenbank bis zum letzten Oplog, das über den Agenten bereitgestellt wird.
Für einen Sharding-Cluster kann eine Wiederherstellung von Checkpoints zwischen Snapshots durchgeführt werden, während für einen Replikatsatz eine Wiederherstellung von ausgewählten Zeitpunkten durchgeführt werden kann.
Bei einer Snapshot-Wiederherstellung liest der Ops Manager direkt aus dem Snapshot-Speicher.
Bei Verwendung von Point-in-Time oder Checkpoint stellt der Ops-Manager einen vollständigen Snapshot aus dem Snapshot-Speicher wieder her und wendet dann die gespeicherten Oplogs auf einen bestimmten Punkt an. Der Ops-Manager liefert den Snapshot und das Oplog-Update unter Verwendung eines HTTPS-Mechanismus.
Wie viel Oplog Sie pro Backup aufbewahren, bestimmt, wie viel Zeit ein Checkpoint und eine Point-in-Time-Wiederherstellung abdecken können.
Integration mit Cloud-Anwendungen
Nicht alle MongoDB-Bereitstellungen werden vom selben Cluster-Host ausgeführt. Es gibt so viele Cloud-Hosts (wie Red Hat OpenShift, Kubernates und Pivotal Cloud Foundry), die die Integration mit anderen Tools erschweren. Ops Manager kann jedoch in diese Vielzahl von Cloud-Anwendungsbereitstellungsplattformen integriert werden, wodurch es konsistent und elegant wird, Workloads auszuführen und bereitzustellen, wo immer sie benötigt werden, wobei die gleiche Datenbankkonfiguration in verschiedenen Umgebungen sichergestellt und sie von einer einzigen Plattform aus gesteuert werden. P>
Fazit
Die Verwaltung einer großen MongoDB-Cluster-Bereitstellung ist keine leichte Aufgabe. Ops Manager ist ein Automatisierungstool, das einen visualisierten Datenbankstatus und ein Warnsystem bietet; Hauptmerkmale bei der Bereitstellung von Informationen über den Zustand der Datenbank. Es erfordert jedoch eine Enterprise-Lizenz, die für einige Organisationen außerhalb des Budgets liegen kann.
ClusterControl bietet eine Alternative, die viele der gleichen Merkmale und Funktionen wie Ops Manager bietet, jedoch zu mehr als der Hälfte der Kosten. Hier erfahren Sie mehr darüber, was ClusterControl für MongoDB tut.