Monitoring, Benachrichtigungen und Logging einrichten

Last reviewed 2023-08-08 UTC

In diesem Dokument im Google Cloud-Architektur-Framework wird gezeigt, wie Sie Monitoring, Benachrichtigungen und Logging einrichten, um auf Basis des Verhaltens Ihres Systems reagieren zu können. Dazu gehört die Ermittlung aussagekräftiger, in Dashboards angezeigter Messwerte, um das Aufrufen von Informationen zu Ihren Systemen zu erleichtern.

Das Forschungsprogramm DORA (DevOps Resource and Assessment) definiert Monitoring so:

Monitoring ist der Vorgang des Erfassens, Analysierens und Nutzens von Informationen aus der Überwachung von Anwendungen und Infrastrukturen, um fundierte Geschäftsentscheidungen zu treffen. Monitoring ist eine wichtige Funktion, die Ihnen Einblicke in Ihre Systeme und Arbeitsvorgänge verleiht.

Mit Monitoring können Serviceinhaber:

  • Fundierte Entscheidungen treffen, wenn Änderungen am Service die Leistung beeinträchtigen
  • Informierte Ansätze zur Reaktion auf Vorfälle nutzen
  • Das Verhältnis des Service zu den Geschäftsziele messen

Wenn Monitoring, Logging und Benachrichtigungen eingerichtet sind, können Sie:

  • Langfristige Trends analysieren
  • Ihre Tests im Zeitverlauf vergleichen
  • Benachrichtigungen für wichtige Messwerte definieren
  • Relevante Echtzeit-Dashboards erstellen
  • Aufarbeitungsanalysen durchführen
  • Messwerte zum Unternehmen als auch zum Systemzustand überwachen
    • Messwerte zum Unternehmen geben Aufschluss darüber, wie gut Ihre Systeme Ihr Unternehmen unterstützen. Verwenden Sie Messwerte, um beispielsweise Folgendes zu überwachen:
      • Die Kosten der Bereitstellung einer Anwendung für einen Nutzer
      • Die Volumenänderung in den Websitezugriffe nach einer Neugestaltung
      • Wie lange ein Kunde benötigt, um ein Produkt auf Ihrer Website zu kaufen
    • Messwerte zum Systemzustand geben Aufschluss darüber, ob Ihre Systeme ordnungsgemäß funktionieren und sich innerhalb eines akzeptablen Leistungsniveaus befinden.

Verwenden Sie zum Monitoring Ihres Systems die folgenden vier goldenen Signale:

  • Latenz. Die Zeit, die für die Bearbeitung einer Anfrage benötigt wird.
  • Traffic. Der Umfang der Nachfrage für das System
  • Fehler. Die Rate der fehlgeschlagenen Anfragen. Fehler können explizit (z. B. HTTP 500s), implizit (z. B. eine HTTP 200-Erfolgsantwort bei falschem Inhalt) oder nach Richtlinie (werden z. B. Antwortzeiten von einer Sekunde garantiert, so ist jede Bearbeitungszeit über einer Sekunde ein Fehler) sein.
  • Sättigung. Wie ausgelastet Ihr Dienst ist. Die Sättigung ist ein Maß für den Systemanteil, wobei die am meisten belasteten Ressourcen hervorgehoben werden (in einem speicherbeschränkten System wird die Speichermenge angezeigt; in einem E/A-beschränkten System werden E/A-Vorgänge angezeigt).

Monitoring-Plan erstellen

Erstellen Sie einen Monitoring-Plan, der auf die Ziele Ihrer Organisation und deren Betriebsstrategie zugeschnitten ist. Berücksichtigen Sie bei der Anwendungsentwicklung Monitoring und Beobachtbarkeitsplanung. Früh in der Anwendungsentwicklung einen Monitoring-Plan einzubeziehen kann eine Organisation zu operativer Exzellenz führen.

Fügen Sie Ihrem Monitoring-Plan folgende Details hinzu:

  • Schließen Sie alle Ihre Systeme ein, einschließlich lokaler Ressourcen und Cloud-Ressourcen.
  • Überwachen Sie Ihre Cloudkosten, um sicherzustellen, dass Ihre Budgetgrenzen nicht aufgrund von Skalierungsereignissen überschritten werden.
  • Erstellen Sie verschiedene Monitoring-Strategien, um die Leistung der Infrastruktur, die Benutzererfahrung und die Leistungskennzahlen (KPIs, Key Performance Indicators) Ihres Unternehmens zu erfassen. Beispielsweise können statische Schwellenwerte gut geeignet sein, um die Infrastrukturleistung zu messen, sie sagen aber wenig über das Benutzererlebnis aus.

Aktualisieren Sie den Plan, während Ihre Monitoring-Strategien reifen. Iterieren Sie den Plan, um den Zustand Ihrer Systeme zu verbessern.

Definieren Sie Messwerte, die alle Aspekte Ihrer Organisation messen

Definieren Sie die Messwerte, die erforderlich sind, um das Verhalten Ihrer Bereitstellung zu messen. Anleitung:

  • Definieren Sie Ihre Geschäftsziele.
  • Identifizieren Sie die Messwerte und KPIs, die quantifizierbare Informationen zur Leistungsmessung liefern. Achten Sie darauf, dass Ihre Messwertdefinitionen für alle Aspekte Ihrer Organisation relevant sind – von geschäftlichen Anforderungen (inklusive der Cloud-Kosten) bis hin zu technischen Komponenten.
  • Verwenden Sie diese Messwerte, um für Ihre Anwendungen Service Level Indicators (SLIs) zu erstellen. Weitere Informationen finden Sie unter Geeignete SLIs auswählen.

Typische Messwerte für verschiedene Komponenten

Messwerte werden auf allen Ebenen Ihres Service generiert, von der Infrastruktur über Netzwerke bis hin zur Geschäftslogik. Beispiel:

  • Infrastrukturmesswerte:
    • VM-Statistiken, darunter Instanzen, CPU, Arbeitsspeicher, Auslastung und Mengen
    • Containerbasierte Statistiken, darunter Clusterauslastung, Clusterkapazität, Pod-Level-Nutzung und Mengen
    • Netzwerkstatistiken, darunter eingehende/ausgehende Bandbreite, Bandbreite zwischen Komponenten, Latenz und Durchsatz
    • Anfragen pro Sekunde, gemessen vom Load-Balancer
    • Gesamtzahl der gelesenen Laufwerksblöcke pro Laufwerk
    • Pakete, die über eine bestimmte Netzwerkschnittstelle gesendet werden
    • Größe des Arbeitsspeicher-Heaps für einen bestimmten Prozess
    • Verteilung der Antwortlatenzen
    • Anzahl der ungültigen Abfragen, die von einer Datenbankinstanz abgelehnt wurden
  • Anwendungsmesswerte:
    • Anwendungsspezifisches Verhalten, darunter Abfragen pro Sekunde, Schreibvorgänge pro Sekunde und pro Sekunde gesendete Nachrichten
  • Messwerte für verwaltete Servicestatistiken:
    • QPS, Durchsatz, Latenz, Auslastung von Google verwalteter Dienste (APIs oder Produkte wie BigQuery, App Engine und Bigtable)
  • Messwerte für Netzwerkverbindungsstatistiken:
    • Statistiken zu VPN-/Interconnect-Verbindungen zu lokalen Systemen oder Systemen, die sich außerhalb von Google Cloud befinden.
  • SLIs
    • Messwerte, die etwas über den Gesamtzustand des Systems aussagen.

Monitoring einrichten

Monitoring einrichten, um sowohl lokale Ressourcen als auch Cloud-Ressourcen zu überwachen.

Wählen Sie eine Monitoring-Lösung aus, die:

  • Plattformunabhängig ist
  • Einheitliche Funktionen für das Monitoring von lokalen, Hybrid- und Multi-Cloud-Umgebungen bietet

Wenn Sie eine einzelne Plattform nutzen, um Monitoringdaten aus verschiedenen Quellen zu konsolidieren, können Sie einheitliche Messwerte und Dashboards zur Visualisierung erstellen.

Wenn Sie das Monitoring einrichten, sollten Sie Monitoring-Aufgaben nach Möglichkeit automatisieren.

Monitoring mit Google Cloud

Ein Monitoringdienst wie Cloud Monitoring zu verwenden ist einfacher, als selbst einen Monitoringdienst zu erstellen. Das Monitoring einer komplexen Anwendung ist ein erhebliches technisches Unterfangen. Selbst wenn eine vorhandene Infrastruktur für Instrumentierung, Datenerfassung und -anzeige sowie Benachrichtigungen vorhanden ist, ist die Erstellung und Verwaltung ein Vollzeitjob für Nutzer.

Mit Cloud Monitoring erhalten Sie Einblick in Leistung, Verfügbarkeit und Zustand Ihrer Anwendungen und Ihrer Infrastruktur, und zwar für lokale und Cloud-Ressourcen.

Cloud Monitoring ist ein verwalteter Dienst, der Teil der Google Cloud Observability ist. Mit Cloud Monitoring können Sie Google Cloud-Dienste und benutzerdefinierte Messwerte beobachten. Cloud Monitoring bietet eine API für die Integration in Monitoringtools von Drittanbietern.

Cloud Monitoring fasst Messwerte, Logs und Ereignisse aus der cloudbasierten Infrastruktur Ihres Systems zusammen. Diese Daten bieten Entwicklern und Betreibern eine Vielzahl von beobachtbaren Signalen, die die Ursachenanalyse beschleunigen und die durchschnittliche Zeit der Problembehebung reduzieren können. Mit Cloud Monitoring können Sie Benachrichtigungen und benutzerdefinierte Messwerte definieren, die Ihren Geschäftszielen entsprechen und Sie beim Zusammenfassen, Visualisieren und Monitoring des Systemzustands unterstützen.

Cloud Monitoring bietet Standard-Dashboards für Cloud- und Open-Source-Anwendungsdienste. Mit dem Messwertmodell können Sie benutzerdefinierte Dashboards mit leistungsstarken Visualisierungstools definieren und Diagramme im Metrics Explorerkonfigurieren.

Benachrichtigung einrichten

Ein gutes Benachrichtigungssystem verbessert die Möglichkeit, Funktionen freizugeben. Es hilft, die Leistung im Zeitverlauf zu vergleichen, um die Geschwindigkeit von Feature-Releases oder die Notwendigkeit eines Rollbacks für ein Feature-Release zu ermitteln. Informationen zu Rollbacks finden Sie unter Frühere Releases nahtlos wiederherstellen.

Weisen Sie bei der Einrichtung von Benachrichtigungen diese direkt kritischen Messwerten zu. Zu diesen kritischen Messwerten gehören:

  • Die vier goldenen Signale:
    • Latenz
    • Traffic
    • Fehler
    • Sättigung
  • Systemzustand
  • Service Usage
  • Sicherheitshinweise
  • Benutzererfahrung

Wenn Benachrichtigungen verwertbar sind, wird die Zeit bis zur Problembehebung minimiert. Gehen Sie dazu für jede Benachrichtigung so vor:

  • Fügen Sie eine klare Beschreibung hinzu, die auch besagt, was überwacht wird und welche geschäftsrelevanten Auswirkungen diese Elemente haben.
  • Geben Sie alle erforderlichen Informationen für sofortige Aktionen an. Wenn es einige Klicks und Aufrufe braucht, um Benachrichtigungen zu verstehen, ist es für den Bereitschaftsdienst schwierig, zu reagieren.
  • Definieren Sie Prioritätsstufen für verschiedene Benachrichtigungen.
  • Geben Sie die für eine Reaktion auf die Benachrichtigung zuständige Person oder das relevante Team klar an.

Binden Sie bei kritischen Anwendungen und Diensten selbstreparierende Aktionen in Benachrichtigungen ein, die aufgrund häufiger Fehlerbedingungen wie Dienstfehler, Konfigurationsänderungen oder Durchsatzspitzen ausgelöst werden.

Versuchen Sie beim Einrichten von Benachrichtigungen, zusätzlichen Aufwand zu vermeiden. Zusätzlichen Aufwand können Sie zum Beispiel vermeiden, indem Sie häufige Fehler vermeiden oder Korrekturen für diese Fehler automatisieren, sodass möglicherweise keine Benachrichtigung ausgelöst wird. Wenn Sie zusätzlichen Aufwand vermeiden, können sich die Mitarbeiter darauf konzentrieren, dass die Betriebskomponenten Ihrer Anwendung zuverlässig sind. Weitere Informationen finden Sie unter Automatisierungskultur schaffen.

Monitoring- und Benachrichtigungs-Dashboards erstellen

Sobald das Monitoring eingerichtet ist, erstellen Sie relevante, unkomplizierte Dashboards, die Informationen aus Ihren Monitoring- und Benachrichtigungssystemen enthalten.

Es kann schwierig sein, die Auswahl einer geeigneten Methode zur Dashboard-Visualisierung mit Ihren Zielen in Sachen Zuverlässigkeit in Einklang zu bringen. Erstellen Sie Dashboards, um Folgendes zu visualisieren:

  • Kurzzeit- und Echtzeitanalysen
  • Langzeitanalysen

Weitere Informationen zur Implementierung eines visuellen Managements finden Sie im Artikel Visuelles Management.

Logging für kritische Anwendungen aktivieren

Logging-Dienste sind für das Monitoring Ihrer Systeme entscheidend. Während Messwerte die Grundlage für bestimmte zu überwachende Elemente bilden, enthalten Logs wertvolle Informationen, die Sie für die Fehlerbehebung, sicherheitsbezogene Analysen und Compliance-Anforderungen benötigen.

Durch das Logging der von Ihren Systemen generierten Daten können Sie einen effektiven Sicherheitsstatus gewährleisten. Weitere Informationen zu Logging und Sicherheit finden Sie unter Logging- und Erkennungskontrollen implementieren in der Sicherheitskategorie des Architektur-Frameworks.

Cloud Logging ist ein integrierter Logging-Dienst, den Sie zum Speichern, Suchen, Analysieren, Überwachen und Melden von Logdaten und Ereignissen nutzen können. Logging erfasst automatisch Logs aus Diensten von Google Cloud und anderen Cloud-Anbietern. Sie können diese Logs verwenden, um Messwerte für das Monitoring zu erstellen und Logging-Exporte in externen Diensten wie Cloud Storage, BigQuery und Pub/Sub zu erstellen.

Audit-Trail einrichten

Verwenden Sie Cloud-Audit-Logs, um in Ihren Google Cloud-Projekten Fragen wie „Wer hat was, wo und wann getan?“ zu beantworten.

Cloud-Audit-Logging zeichnet verschiedene Arten von Aktivitäten auf, z. B.:

  • Logs zur Administratoraktivität enthalten Logeinträge für API-Aufrufe oder andere Aktionen, die die Konfiguration oder Metadaten von Ressourcen ändern. Administratoraktivitäts-Logs sind immer aktiviert.
  • In Audit-Logs für den Datenzugriff werden API-Aufrufe zum Erstellen, Ändern oder Lesen der von Nutzern bereitgestellten Daten aufgezeichnet. Da Audit-Logs für den Datenzugriff relativ groß sein können, sind sie standardmäßig deaktiviert. Sie können konfigurieren, für welche Google Cloud-Dienste Datenzugriffslogs erzeugt werden.

Eine Liste der Google Cloud-Dienste, die Audit-Logs schreiben, finden Sie unter Google-Dienste mit Audit-Logs. Mit IAM-Steuerelementen (Identity and Access Management) können Sie einschränken, wer Audit-Logs aufrufen kann.

Nächste Schritte