Was ist GCP-Database-Monitoring?

Unter GCP-Database-Monitoring (Google Cloud Platform) versteht man eine Reihe von Techniken und Tools, die man verwendet, um verschiedene Aspekte einer GCP-Datenbank zu überwachen.  Es ist das Äquivalent zum allgemeinen Cloud-Datenbank-Monitoring, nur speziell auf die GCP-Cloud-Datenbankdienste beschränkt. Eine Lösung für das GCP-Datenbank-Monitoring sollte die verschiedenen Metriken der von GCP angebotenen Datenbanktypen sammeln, diese Metriken über ein oder mehrere Dashboards darstellen und über eine Fülle von Funktionen zur Alarmierung, Benachrichtigung und Automatisierung Ihrer Monitoring-Maßnahmen verfügen.

Das GCP-Monitoring deckt sowohl vollständig cloudbasierte Umgebungen als auch hybride Umgebungen ab, bei denen nur ein Teil Ihrer Infrastruktur auf den Servern von Google gehostet wird. In diesem Artikel konzentrieren wir uns ausschließlich auf das Monitoring von Google-Datenbankdiensten und überlassen das On-Premises-Datenbank-Monitoring dem allgemeineren Bereich des Datenbank-Monitorings, der in einem separaten Leitfaden behandelt wird. Hier werden wir stattdessen das Warum, das Wie und die besten Praktiken für das Monitoring aller verfügbaren GCP-Datenbankoptionen erörtern.

cloud illu

Warum ist GCP-Database-Monitoring wichtig?

Die Grundlage vieler Anwendungen ist eine Datenbank, und das gilt auch für cloudbasierte Lösungen. Wenn Sie Ihre Cloud-Datenbanken auf Google Cloud Platform hosten, ist das GCP-Databank-Monitoring für Ihr IT-Team notwendig, um eine effiziente Infrastruktur zu unterhalten. Unabhängig davon wo man eine Datenbank betreibt, ist es wichtig sicherzustellen, dass sie funktioniert und es keine Probleme gibt. Nur so lassen sich Dienste und Prozesse in Unternehmen effizient und zuverlässig durchführen.

Cloud-Datenbanken unterscheiden sich in ihrem Umfang nicht von lokalen Datenbanken. Was für das Datenbank-Monitoring wichtig ist, gilt also auch für das Monitoring der Google-Datenbankdienste. Es muss sichergestellt werden, dass die wertvollen Daten, die in Datenbanken gespeichert sind, in guten Händen sind und nicht von Unbefugten gefährdet oder eingesehen werden können. Cloud-Datenbanken delegieren einen Teil der Datenbanksicherheit an Cloud-Anbieter, aber das schließt Risiken und Fehlkonfigurationen nicht vollständig aus. Das Monitoring von GCP-Datenbanken ist daher wichtig, um zu wissen, dass Ihre Daten sicher sind.

Das Monitoring von GCP-Datenbanken kann Sie auch über Ihre Cloud-Kosten informieren, die leicht in die Höhe schnellen können. Mit einem guten Monitoring können Sie die Arbeitslasten auf Ihren Cloud-Datenbanken überwachen, erhalten eine Benachrichtigung, wenn sie vorkonfigurierte Nutzungsschwellen erreichen, und basierend auf den erhaltenen Informationen Ihre Infrastruktur je nach Bedarf vergrößern oder verkleinern. Dies sorgt für eine effiziente Nutzung und verhindert die Verschwendung von Ressourcen für Arbeitslasten, die sie nicht benötigen.

Außerdem spart die Automatisierung zeitaufwändiger Aufgaben – wie in jedem Bereich der IT –  menschliche Zeit, sodass sich IT-Teams auf produktivere Aufgaben konzentrieren können. Zumindest müssen sich Ihre Cloud-Admins durch das Monitoring einer der GCP-Datenbankoptionen keine Sorgen machen, da sie wissen, dass auf Störungen, potenzielle Bedrohungen, Leistungsengpässe und ähnliche mögliche Probleme geachtet wird.

Wie bei jeder Art von Monitoring gilt: Je mehr Sie wissen, desto besser können Sie Ihren Betrieb optimieren und pflegen. 

Monitoring von GCP-Datenbankdiensten

Google bietet eine große Auswahl an Datenbanken für seine Cloud-Plattform an. Dabei handelt es sich nicht nur um die klassischen GCP-SQL- und NoSQL-Datenbanken, sondern auch um verschiedene Untertypen für spezifischere Anwendungen. 

GCP-SQL-Datenbanken

Apropos relationale GCP-Datenbanken: Google bietet in erster Linie die Wahl zwischen drei Cloud-Datenbanken: Cloud SQL, AlloyDB und Cloud-Spanner. Die beliebteste dieser Datenbanken ist Cloud SQL. Sie umfasst gemanagte MySQL-, PostgreSQL- und SQL-Server-Datenbanken in der GCP-Cloud, und ihr Monitoring unterscheidet sich nicht allzu sehr von den verschiedenen SQL-Datenbanken von anderen Cloud-Diensten.

Die wichtigsten Metriken, die über das Google-eigene Cloud-Monitoring-Tool verfügbar sind, sind CPU- und Speicherauslastung, Speichernutzung, Lese-/Schreibvorgänge, Input- und Output-Netzwerkverkehr und Replikationsverzögerung (im Falle einer Read-Replikation aus der Datenbank). Diese sind im Standard-Dashboard für das Cloud-SQL-Monitoring sichtbar und stehen für die externe Verwendung durch GCP-Datenbank-Monitoring-Lösungen von Drittanbietern, wie Checkmk, zur Verfügung.

Bei der AlloyDB-Alternative gibt es eine weitere Option: das integrierte AlloyDB Monitoring Dashboard. Es unterscheidet sich nicht wesentlich von den Google-Cloud-Monitoring-Dashboards. Mit ein paar Klicks sind auf der GCP-Weboberfläche die gleichen Metriken wie bei Cloud SQL sichtbar. Als GCP-SQL-Datenbank bietet AlloyDB nur Kompatibilität mit PostgreSQL, ist aber für höhere Arbeitslasten als bei Cloud SQL optimiert.

Die letzte dieser relationalen GCP-Datenbanken ist Cloud-Spanner. Dabei handelt es sich neben AlloyDB um eine weitere PostgreSQL-kompatible Cloud-Datenbank. Sie ist jedoch noch besser optimiert für extreme Skalierbarkeit und Verfügbarkeit. Cloud Spanner lässt sich über das standardmäßige Google-Cloud-Monitoring-Tool mithilfe eines speziellen Dashboards überwachen.

Alle diese relationalen GCP-Datenbanken verfügen auch über eigene Client-Bibliotheken, die GCP-Datenbank-Monitoring-Lösungen von Drittanbietern Zugriff auf eine Reihe von Metriken zur Überprüfung des Zustands Ihrer GCP-Datenbanken bieten. Neben der reinen metrikenbasierten Überwachung bieten alle Google-Datenbankdienste auch Zugriff auf ihre Protokolle, die sich über Cloud-Logging oder eine andere GCP-Monitoring-Lösung analysieren lassen.

Es ist erwähnenswert, dass es neben diesen Cloud-nativen Datenbanken durchaus möglich ist, Ihre On-Premises-Datenbanken zu migrieren und sie in der GCP-Cloud zu hosten. In Bezug auf das Monitoring bedeutet dies, dass Sie entweder ein benutzerdefiniertes Dashboard in Google Cloud Monitoring oder eine externe Monitoring-Software verwenden, die das GCP-Sites-Monitoring unterstützt. Checkmk ist ein Beispiel für den letzteren Fall.

GCP NoSQL-Datenbanken

Wenn man von den relationalen Datenbanken von Google zu den NoSQL-Datenbanken von GCP übergeht, ist die Wahl alles andere als unwichtig. Google Firestore ist die wichtigste NoSQL-Datenbank von Google. Es handelt sich um eine GCP-Dokumentendatenbank, die vollständig verwaltet wird und leicht skalierbar ist. Google Cloud Monitoring verfügt über ein eigenes Dashboard, das Metriken wie die Anzahl der gelesenen, geschriebenen und gelöschten Dokumente, die Anzahl der aktiven Verbindungen, die Gesamtzahl der Anfragen und die Anzahl der Evaluierungen (Evaluation Count) sammelt.

Google BigTable ist zwar keine GCP-Dokumentendatenbank, es handelt sich dabei jedoch um  ein wichtiges Mitglied der NoSQL-Datenbankfamilie von Google. Als eine mit Apache HBase kompatible Datenbank bietet sie eine höhere Skalierbarkeit, Verfügbarkeit und geringere Latenz als Google Firestore. Sie verfügt über eine eigene Reihe von Monitoring-Metriken, wie beispielsweise die Latenz von Versuchen und Operationen, die Anzahl der Wiederholungen, die Server-Latenz, die Anzahl der Verbindungsfehler und mehr. Diese Metriken ergänzen – und das gilt auch für Google Firestore – die eher allgemeineren Metriken, die sich auf die CPU-, Speicher-, Festplatten- und Netzwerknutzung beziehen.

Was die GCP-Graph-Datenbanken betrifft, so verfügt Google nicht über ein direktes Tool, das diese Art von Datenbank unterstützt. Es gibt also keine offizielle GCP-Graph-Datenbank, aber JanusGraph ist ein Open-Source-Projekt, an dem Amazon, Google, IBM und andere beteiligt sind. Es lässt sich in BigTable als Backend integrieren, hat einen offiziellen Leitfaden und das Monitoring funktioniert wie bei einer BigTable-Datenbank.

Ähnlich verhält es sich mit GCP-Zeitreihendatenbanken, die zwar nicht existieren, aber sich durch die Verwendung von BigTable und einem geeigneten Schema emulieren lassen.

GCP bietet noch MemoryStore für Redis an und bietet für das Angebot einen eigenen Satz von Metriken, der sich mit den klassischen Nutzungsmetriken kombinieren lässt. Um die Gesundheit der Datenbank zu überprüfen, sollten Sie unter anderem die Werte für Client-Verbindungen, blockierte Clients, Anzahl der Aufrufe pro Minute, Anzahl der gespeicherten Keys, Cache-Trefferrate überprüfen.

Bewährte Praktiken des GCP-Database-Monitorings

Wenn Sie mit der Implementierung einer GCP-Datenbank-Monitoring-Strategie beginnen, ist es wichtig, bewährte Praktiken zu befolgen, um mit dem richtigen Schritt zu starten. Definieren Sie zunächst die relevanten Metriken für Ihren Datenbanktyp. Die Überprüfung der Grundlagen wie CPU-Nutzung, Speicherauslastung, freier und belegter Speicherplatz, Netzwerkverkehr, Abfragelatenz und Fehlerraten ist das Minimum. Je nachdem, welche Metriken GCP über die API exportiert oder von Monitoring-Agenten erfasst werden können, sollten Sie dann einige weitere datenbankspezifische Metriken definieren, wie wir sie in den vorherigen Abschnitten gesehen haben.

Sobald Sie die Metriken festgelegt haben, ist das Einrichten von Alarmen und entsprechenden Benachrichtigungen der nächste logische Schritt. Wenn Ihr GCP-Datenbank-Monitoring-System dies zulässt, und das tut es höchstwahrscheinlich, richten Sie benutzerdefinierte Dashboards ein, damit Sie auf einen Blick sehen können, was für Sie wichtig ist. So vermeiden Sie außerdem, von einer Masse an Daten überschwemmt zu werden Google Cloud Monitoring ermöglicht die Erstellung von benutzerdefinierten Dashboards, ebenso wie Checkmk.

Unabhängig von der Notwendigkeit, GCP-SQL- oder GCP-NoSQL-Datenbanken zu überwachen, ist es ein Muss, die Abfrageleistung im Auge zu behalten. Die Identifizierung langsam laufender oder ressourcenintensiver Abfragen und deren Optimierung ist der Schlüssel zur Verbesserung der Gesamtsystemeffizienz, nicht nur der Datenbanken selbst, sondern aller Anwendungen, die von ihnen abhängen. Achten Sie auf abfragespezifische Metriken wie Ausführungszeit, Abfragelatenz oder Durchsatz, um Engpässe und Fehlkonfigurationen zu erkennen.

Wenn Sie die Datenbankreplikation für Hochverfügbarkeit und Disaster Recovery nutzen, ist das Monitoring der Replikationsverzögerung Ihrer Google-Datenbankdienste hilfreich, um die Datenkonsistenz zwischen den Replikaten sicherzustellen. Vergessen Sie auch nicht, generell die Metriken zur Datenbankverfügbarkeit zu überprüfen, um Unterbrechungen oder Ausfälle jeglicher Art zu erkennen.

Jede GCP-Datenbankoption verfügt über ihre eigenen Logs, die Sie beim GCP-Database-Monitoring nicht ignorieren sollten. Google hat einen eigenen Dienst zum Lesen von Logs, Cloud Logging, und die meisten anderen GCP-Monitoring-Softwares haben ihre eigenen Lösungen.

Fazit

Unabhängig davon, für welche Lösung Sie sich für Ihre GCP-Datenbankdienste entscheiden, müssen Sie eine effektive GCP-Datenbank-Monitoring-Strategie und ein entsprechendes System einrichten. Datenbanken sind in jeder Infrastruktur zu wichtig, um ignoriert zu werden. Keine Monitoring-Lösung ist vollständig, wenn sie nicht alle Komponenten einer hybriden, Cloud- oder lokalen Infrastruktur umfasst.

FAQ

Gibt es einen GCP-Datenbank-Migrationsdienst?

Ein GCP-Datenbank-Migrationsdienst für Cloud SQL und AlloyDB für PostgreSQL-Datenbanken ist verfügbar. Eine Migration kann von On-premises, anderen Clouds oder anderen Google-Datenbankdiensten erfolgen. Dieser GCP-Datenbank-Migrationsdienst verfügt über einen relativ einfach zu verwendenden Leitfaden für die Migration mit integrierten Skripten und Datenvalidierung, bevor die neuen Datenbanken zur Produktion hinzugefügt werden.