Was ist AWS-Datenbank-Monitoring?
Die AWS-Datenbank-Monitoring befasst sich mit den Prozessen zur Analyse der Leistung, Verfügbarkeit und Sicherheit von Datenbanken, die die Amazon-Cloud hostet. Sie umfasst zahlreiche kleine Schritte, um die richtigen Metriken und Daten zu sammeln, die es Cloud-Administratoren ermöglichen, den Puls ihrer AWS-Datenbanken zu fühlen und sofort zu reagieren, wenn der Puls etwas Falsches signalisiert.
Das AWS-Datenbank-Monitoring ist Teil des umfassenderen Bereichs des Cloud-Monitorings und ein Unterthema des Cloud-Datenbank-Monitorings, das alle Datenbanken umfasst, die in Clouds laufen, ob AWS oder nicht. Die Überwachung von AWS-Datenbanken ist eine wesentliche Aufgabe für jede Cloud-basierte Infrastruktur, da Datenbanken den Kern vieler Arbeitslasten bilden und ihre Effizienz und Gesundheit für Unternehmen entscheidend sind.
Die Überwachung von Amazon-Datenbanken erfolgt mit mehreren Tools, von denen einige in AWS integriert sind, wie CloudWatch, während andere extern sind, wie Checkmk. Im Laufe dieses Leitfadens werfen wir einen Blick auf die Unterschiede bei der Überwachung der verschiedenen Arten von AWS-Datenbanken, welche Metriken man erfassen muss und auf welche Funktionen in einem AWS-Datenbank-Überwachungstool zu achten ist.
Wie wird das AWS-Datenbank-Monitoring durchgeführt?
Die Überwachung von AWS-Datenbanken erfolgt im Allgemeinen auf verschiedene Weise. Der erste Schritt ist in der Regel CloudWatch, das bereits in die AWS-Cloud integriert und daher ein guter Anfang für die Einrichtung einer Monitoring-Infrastruktur ist. Es bietet eine Reihe von Dashboards und kann nicht nur alle AWS-Datenbanken, sondern auch einige lokale Datenbanken sowie zahlreiche andere Dienste und Ressourcen in der AWS-Cloud überwachen.
CloudWatch ist jedoch nicht die einzige Option. AWS X-Ray kann Anfragen an MySQL- und PostgreSQL-basierte selbst gehostete oder Amazon-Datenbanken wie Amazon RDS und Aurora überwachen. AWS SQL-Datenbanken können dann alle an sie gestellten Anforderungen anzeigen und eine anwendungsbezogene Ansicht der Leistung Ihrer Datenbanken erstellen, die den Administratoren einen Überblick über die Nutzung der AWS-Datenbanken gibt.
Für einen offeneren Ansatz stellt AWS viele Metriken über seine REST-APIs zur Verfügung. Diese können mit benutzerdefinierten Skripten oder, was in mittleren/großen Umgebungen häufiger vorkommt, mit AWS-Datenbank-Überwachungstools von Drittanbietern wie Checkmk genutzt werden. Diese Tools vereinfachen das Sammeln der richtigen Metriken und das Erstellen von benutzerdefinierten Dashboards, Warnmeldungen, Berichten und mehr.
Nicht zuletzt kann man CloudWatch oder Überwachungsagenten von Drittanbietern auch für eine detailliertere Überwachung von Datenbanken auf AWS und anderen Ressourcen verwenden. Viele Monitoring-Tools verwenden sowohl Agenten als auch die REST-APIs, um die Überwachung zu vervollständigen. Ein umfassendes System zur Überwachung von AWS-Datenbanken profitiert davon, dass möglichst viele verschiedene Metriken und Daten in einer einheitlichen Ansicht gesammelt werden.
AWS-Datenbankoptionen gibt es in Hülle und Fülle, und nicht alle Überwachungsbemühungen sind gleichermaßen lohnenswert. Als Nächstes sehen wir uns an, wie man die verschiedenen Amazon-Datenbanken überwacht, da es in der Regel leichte Unterschiede gibt.
AWS-SQL-Datenbank-Monitoring
In die Kategorie der AWS-SQL-Datenbanken fallen Amazon Aurora und Amazon RDS. Aurora ist ein mit MySQL und PostgreSQL kompatibler Dienst für relationale Datenbanken, während RDS ein vollständig verwalteter Dienst zur Einrichtung der relationalen Datenbank Ihrer Wahl ist. Die Überwachung von AWS-SQL-Datenbanken ist sehr ähnlich, sodass sich die gesammelten Metriken nicht wesentlich unterscheiden. Dennoch gibt es ein paar Unterschiede, die Sie beachten sollten.
Ein Auge auf die üblichen grundlegenden Metriken wie CPU-Auslastung, Speichernutzung, Festplatten-E/A, Datenbankverbindungen und Abfrageausführungszeit zu haben, liegt auf der Hand und sollte in jeder AWS-Datenbanküberwachungseinrichtung enthalten sein. Im Falle der AWS RDS-Überwachung, wenn Ihre Datenbanken über mehrere AZ (Availability Zones) verteilt sind, sind auch Replikations-Logs wichtig.
Darüber hinaus ist Aurora eine serverlose AWS-Datenbank und stellt einige spezifische Metriken über RDS zur Verfügung. Dazu gehören Metriken zum Cluster-Zustand, wie die Anzahl der Lese- und Schreibvorgänge. Diese können anzeigen, wie gut die zugrunde liegenden Cluster Ihrer Aurora-Datenbanken funktionieren. Die Replikationsverzögerung zeigt Ihnen zum Beispiel, wie gut die Replikation auf Cluster-Ebene funktioniert. Die Metriken für einzelne Datenträger wie aktive Transaktionen, Deadlocks, Warteschlangentiefe oder die Anzahl der Anmeldefehler sollten ebenfalls berücksichtigt werden.
AWS-NoSQL-Datenbank-Monitoring
Unter den zahlreichen AWS-Datenbankoptionen gibt es ein paar AWS-NoSQL-Datenbanken. Am häufigsten werden Sie wahrscheinlich mit ElastiCache oder DynamoDB konfrontiert. ElastiCache verfügt über einige Metriken, die sich offensichtlich auf den Cache beziehen, wie zum Beispiel Trefferquote und Evictions, und die mit CloudWatch oder dem AWS-Datenbank-Monitoring-Tool Ihrer Wahl zu verfolgen sind.
DynamoDB ist ein verwalteter NoSQL-Datenbankservice ähnlich wie Amazon Aurora, und bei der Überwachung sollten Sie sich auf ähnliche oder gleichwertige Metriken konzentrieren. Lese- und Schreibkapazitätsauslastung, gedrosselte Anforderungen, verbrauchter bereitgestellter Durchsatz, Latenz, Gesamtspeichernutzung und mehr.
Sowohl bei ElastiCache als auch bei DynamoDB sollte man die klassischen Metriken in Bezug auf CPU-, Speicher-, Netzwerk- und Festplattenauslastung und -leistung ebenfalls regelmäßig überprüfen. Wiederum entweder mit CloudWatch für einen einfacheren Überblick oder mit einem AWS-Datenbank-Überwachungstool eines Drittanbieters wie Checkmk.
AWS-Graph-Datenbank-Monitoring
AWS-Graph-Datenbanken sind Teil der AWS-NoSQL-Datenbanken. Ein Beispiel ist Amazon Neptune, das vollständig von AWS verwaltet wird und Cloud-nativ ist. Diese Amazon-Datenbanken arbeiten anders als andere NoSQL-Datenbanken, aber ihre Überwachungsmetriken unterscheiden sich nicht wesentlich von denen, die wir bei ElastiCache und DynamoDB gesehen haben. Die Überwachung wichtiger Nutzungsmetriken wie CPU-Nutzung, Speicherauslastung, Festplatten-E/A und Speicherplatz, Abfragelatenz, Datenbankverbindungen usw. ist bei einer AWS-Graph-Datenbank genauso notwendig wie bei anderen NoSQL-Datenbanken.
Im Falle einer serverlosen Amazon Neptune-Datenbank ist es jedoch wichtig, die NCU (Neptune Capacity Unit)-bezogenen Metriken wie die Kapazität der serverlosen Datenbank oder die NCU-Auslastung zu verfolgen. Die NCU ist eine Basiseinheit für serverlose Neptune-Datenbanken, die aus einem 2-GiB-Speicherblock, einer zugehörigen virtuellen Prozessorkapazität (vCPU) und den erforderlichen Netzwerkressourcen besteht. Sie geben Auskunft über den Zustand der jeweiligen Neptune-Instanz.
AWS-Time-Series-Datenbank-Monitoring
AWS-Time-Series-Datenbanken dienen zum Speichern und Analysieren von Zeitreihendatenpunkten, in der Regel von Telemetrie- oder IoT-Geräten (Internet der Dinge). Amazon Timestream ist ein Beispiel für eine Amazon TSD (Time Series Database). Diese Arten von Datenbanken sind Teil der vielen AWS serverlosen Datenbanken und exportieren ähnliche Metriken wie andere Amazon-Datenbanken. Unabhängig davon, ob Sie CloudWatch oder eine AWS-Datenbank-Monitoring-Lösung eines Drittanbieters verwenden, ist die Überprüfung der Auslastungsmetriken in Bezug auf CPU, Speicher, Festplatten-E/A und Netzwerk der erste natürliche Überwachungsschritt.
Speziell für AWS-Time-Series-Datenbanken gibt es eine Reihe von Metriken, die Cloud-Administratoren über die Effizienz der an eine Amazon Timestream-Datenbank gestellten Anforderungen informieren. Daher ist es wichtig, Metriken wie System- und Benutzerfehler, Latenz, abgelehnte oder erfolgreich hochgeladene Time-Series und die Datenmenge, die durch an Timestream gesendete Abfragen gescannt wurde, zu überwachen. Die AWS-Time-Series-Datenbankprotokolle im Auge zu behalten, ist ebenfalls entscheidend für eine ordnungsgemäße AWS-Datenbanküberwachung.
Bewährte Verfahren für das AWS-Datenbank-Monitoring
Unabhängig von den AWS-Datenbankoptionen, die Sie wählen, gibt es eine Reihe von Best Practices, die Sie für ein effizientes Monitoring-System befolgen sollten. Berücksichtigen Sie zunächst die Faktoren, die für Ihr Unternehmen am wichtigsten sind. Ob es sich dabei um Leistung, Verfügbarkeit, Skalierbarkeit oder Sicherheit handelt. Auf diese Weise werden Sie wahrscheinlich einer Reihe von Metriken mehr Aufmerksamkeit schenken, die für Ihre Umgebung am relevantesten sind.
Integrierte Tools
CloudWatch ist nicht zu unterschätzen. CloudWatch ist zwar nur begrenzt konfigurierbar und anpassbar, kann Ihnen aber in wenigen Sekunden einen hilfreichen Überblick verschaffen, so dass Sie leicht erkennen, ob etwas nicht in Ordnung ist. Eine fortschrittlichere AWS-Datenbanküberwachungslösung wie Checkmk kann man verwenden, um weitere Untersuchungen durchzuführen und bei Bedarf Fehler zu beheben. Es ist nicht ratsam, sich nur auf CloudWatch zu beschränken, da es kaum den Bedürfnissen jedes Unternehmens entspricht.
Unterschiede zwischen den Datenbanken
Wenn Sie darüber nachdenken, was wir über die spezifischen Metriken der einzelnen Amazon-Datenbanktypen gesagt haben, wird Ihnen schnell klar, dass die meisten von ihnen eine Menge gemeinsamer Metriken haben, die man nicht ignorieren sollten. Sie verfügen jedoch auch über einige individuelle Metriken, die Cloud-Administratoren über ihre spezifischen Funktionsbereiche informieren. Unabhängig davon, ob Sie eine AWS-SQL-Datenbank oder eine AWS-NoSQL-Datenbank verwenden, ist es wichtig, die typischen Metriken zu kennen, um eine effiziente Monitoring-Lösung einzurichten.
Alarme und Benachrichtigungen
Richten Sie Alarme und Benachrichtigungen basierend auf Ihren Schwellenwerten ein. CloudWatch kann Sie über Amazon SNS benachrichtigen, einen Push-Benachrichtigungsdienst, der auf vielen Geräten und Systemen benachrichtigen kann. Auch wenn dies mit Kosten verbunden ist, kann es für Notfallbenachrichtigungen eine große Hilfe sein. Ansonsten bietet Ihnen ein separates AWS-Datenbanküberwachungs-Tool viele Optionen, um Administratoren über überschrittene Schwellenwerte zu informieren und ihre Aufmerksamkeit auf die richtige Datenbank zu lenken. Mit Checkmk können Sie genau festlegen, wann und wie genau Sie benachrichtigt werden sollen, und es ist ein unschätzbares Werkzeug, um eine Benachrichtigungsmüdigkeit zu vermeiden.
Wenn Sie eine Datenbankreplikation oder eine Multi-Availability Zone (AZ) für Hochverfügbarkeit oder Disaster Recovery einsetzen, gewährleistet die Überwachung der Replikationsverzögerung, des Replikationsstatus und der Failover-Ereignisse die Datenkonsistenz und Verfügbarkeit.
Regelmäßige Überprüfung von Protokollen und Metriken
Nutzen Sie die Datenbankprotokolle, wann immer sie verfügbar sind. Analysieren Sie sie regelmäßig, um Erkenntnisse zu gewinnen, Probleme zu beheben und die Überwachung der Datenbanksicherheit zu verbessern.
Die regelmäßige Überprüfung von Metriken ist unerlässlich, um zu verstehen, wo Optimierungsbedarf besteht, um die Leistung der Datenbank zu steigern und um Trends zu erkennen. Nicht zu vergessen, dass die Beachtung aller Metriken nützlich ist, um mögliche Störungen oder Fehlkonfigurationen früher zu erkennen und die maximale Leistung aus Ihren AWS-Cloud-Datenbanken herauszuholen.
All dies ist möglich dank der Leistung fortschrittlicher AWS-Datenbank-Monitoring-Tools wie Checkmk. Mit Checkmk haben Sie eine Komplettlösung für eine effiziente AWS-Datenbankumgebung. Und mit dem zusätzlichen Vorteil, dass es im Vergleich zu anderen Lösungen und zu Amazons CloudWatch günstig ist, ist Checkmk eine einzige Lösung, um eine gesunde, effiziente und immer verfügbare AWS-Datenbankinfrastruktur zu erhalten.
FAQ
Ja, Amazon bietet einen Dienst namens DMS (AWS Database Migration Service) an, der die Konvertierung Ihrer lokalen Datenbanken in einen der AWS-Datenbankdienste vereinfacht und rationalisiert. Er ermöglicht die Schemakonvertierung, Datenvalidierung, Schema- und Datenreplikation und bietet außerdem eine Echtzeitüberwachung des Konvertierungsprozesses. DMS umfasst sowohl eine Befehlszeilenschnittstelle als auch eine API für die Verwaltung und Konfiguration der gesamten Migration.