Cloud Monitoring, Logging und Trace in Beobachtbarkeits- und Benachrichtigungslösungen einbinden

In diesem Dokument erfahren Sie mehr über die Ressourcen, die beschreiben, wie Cloud Logging, Cloud Monitoring und Cloud Trace in Drittanbieter- und Open-Source-Lösungen für Beobachtbarkeit und Benachrichtigungen eingebunden werden. Dies ist ein Leitfaden für Site Reliability Engineers (SREs), Systemadministratoren, Netzwerkbetreiber, Monitoring-Experten und andere Fachkräfte, die für die Zuverlässigkeit, Verfügbarkeit und Leistung von Systemen verantwortlich sind. In diesem Dokument wird davon ausgegangen, dass Sie Erfahrung in der Entwicklung von Lösungen in Google Cloud haben.

Sie können viele Tools verwenden, mit denen Sie die IT-Systeme Ihres Unternehmens überwachen und diagnostizieren können. Hierzu können Sie Warnungen generieren, wenn sich die Leistung und Verfügbarkeit dieser Systeme verschlechtern. Wenn Sie und Ihre Organisation Ihre Computing-Ressourcen auf Google Cloud ausweiten, können Sie Google Cloud in Ihre Sichtbarkeits- und Benachrichtigungsverfahren einbinden. Hierfür haben Sie folgende Möglichkeiten:

  • Daten aus Google Cloud extrahieren: Senden Sie Daten aus Cloud Monitoring und Logging an vorhandene Tools.
  • Daten in Google Cloud aufnehmen: Senden Sie Daten aus vorhandenen Tools an Cloud Monitoring und Logging.

Monitoring- und Logging-Daten extrahieren

Sie können Beobachtbarkeits- und Ereignisdaten für Ihre Google Cloud-Ressourcen an die von Ihnen verwendeten Monitoring-, Warn- und Benachrichtigungstools von Drittanbietern senden. Die Google Cloud-Dienste generieren automatisch Beobachtbarkeitsdaten wie Messwerte, Logs und Trace-Daten, die einen vollständigen Überblick über die Beobachtbarkeit bieten. Durch das Extrahieren von Cloud Monitoring- und Cloud Logging-Daten können Sie die Daten in Ihre vorhandenen Zuverlässigkeits-, Benachrichtigungs- und Vorfallmanagementprozesse einbinden.

Cloud Monitoring-Beobachtbarkeitsdaten

Cloud Monitoring klassifiziert Messwerte anhand der Art des Dienstes, in dem Daten erfasst werden, in allgemeine Gruppen. Informationen zu Messwerttypen, Ressourcen, Labels und Aggregation in Monitoring finden Sie unter Understanding metrics and building charts und Struktur von Zeitachsen.

Cloud Monitoring erfasst Messwerte, Ereignisse und Metadaten aus Google Cloud, Amazon Web Services (AWS), gehosteten Verfügbarkeitsdiagnosen und der Anwendungsinstrumentierung. Messwerte aus den folgenden Quellen werden in Cloud Monitoring aufgezeichnet:

Messwerte programmatisch extrahieren

Mit der Monitoring API können Sie alle in Cloud Monitoring erfassten Messwerte programmatisch lesen und schreiben. Die folgende Referenzanleitung enthält Architektur- und Codebeispiele, mit denen Sie Messwerte aus der Monitoring API lesen können:

Monitoring mit Drittanbietertools

Sie können die Monitoring API direkt mit Drittanbieterlösungen wie Datadog und SignalFX lesen, die integrierte Monitoring-Funktionen bieten.

Cloud Logging-Beobachtbarkeitsdaten

Google Cloud-Dienste, Nutzerressourcen und Code generieren automatisch Logs, die den Status oder ein Ereignis aufzeichnen. Informationen zum Aufnehmen, Speichern und Exportieren von Logs finden Sie unter Grundlegende Konzepte von Cloud Logging.

Die Cloud Logging-Architektur umfasst die folgenden Komponenten:

  • Logersteller: Ressourcen, die Logs in Cloud Logging generieren
  • Logrouter: Cloud Logging und seine Exporte
  • Lognutzer: Drittanbieter- und Open-Source-Tools, die Logs aus Cloud Logging aufnehmen

Informationen dazu, wie Daten von Erstellern über den Logrouter an Lognutzer übertragen werden, finden Sie unter Logrouter.

Informationen zum Erstellen einer Anwendung zum programmatischen Lesen von Logs finden Sie unter Senken konfigurieren und verwalten und Logging API verwenden.

Exporte in Drittanbietertools einrichten

Sie können Logs in Pub/Sub, Cloud Storage und BigQuery exportieren und Abos für die Tools erstellen, die Sie verwenden möchten.

Sie sollten Pub/Sub zum Exportieren von Logs in Drittanbietertools verwenden, da Cloud Logging die Exportpipeline verwaltet und Sie nur für die Verarbeitung der über die Pipeline eingehenden Logs verantwortlich sind.

Weitere Informationen zum Exportieren von Logs in bestimmte Tools finden Sie in den folgenden Anleitungen:

Logs programmatisch extrahieren

Sie können die Logging API verwenden, um Logs zu lesen und Logeinträge aufzulisten, um eine paginierte Liste für einen bestimmten Logsatz zu erhalten.

Beobachtbarkeitsdaten in Monitoring aufnehmen

Mit Cloud Monitoring können Sie Beobachtbarkeitsdaten von lokalen Tools und Drittanbietertools aufnehmen und dann mithilfe von Dashboards, Diagrammen und Benachrichtigungen Erkenntnisse gewinnen.

AWS-Ressourcen überwachen

Zur Überwachung von in AWS ausgeführten Ressourcen können Sie mithilfe der AWS-Kontointegration von Cloud Monitoring Informationen zu diesen Ressourcen direkt in Cloud Monitoring aufnehmen, einschließlich der Messwerte aus Amazon CloudWatch. Weitere Informationen finden Sie unter Kurzanleitung für AWS und AWS-Messwerte.

Azure-, AWS- und lokale Ressourcen überwachen

Zur Überwachung von in Microsoft Azure ausgeführten Ressourcen, AWS-Ressourcen, die nicht automatisch in Monitoring eingeschlossen sind, oder lokalen Ressourcen können Sie das BindPlane-Produkt von Blue Medora verwenden. BindPlane bietet eine Integrationslösung für die direkte Aufnahme von Messwertdaten aus vielen verschiedenen Quellen. Weitere Informationen zu BindPlane-Integrationen finden Sie in den folgenden Anleitungen:

Monitoring mit Prometheus

Prometheus ist ein gängiges Open-Source-Monitoring-Framework für Zeitachsen, das mit Kubernetes-Clustern verwendet wird. Sie können die Prometheus-Integration verwenden, um Infrastruktur- und benutzerdefinierte Anwendungsmesswerte in Cloud Monitoring aufzunehmen. Weitere Informationen finden Sie in folgenden Leitfäden:

Mit Istio überwachen

Mit Istio Observability können Sie Istio-Messwerte exportieren. Mithilfe des Add-ons Istio on GKE können Sie den Monitoring-Adapter automatisch konfigurieren oder Istio manuell in Ihren Clustern installieren und anschließend den Monitoring-Adapter konfigurieren. Weitere Informationen zur Verwendung von Istio mit Cloud Monitoring finden Sie in den folgenden Anleitungen:

Benutzerdefiniertes Monitoring

Sie können Ihren Anwendungen benutzerdefinierte Telemetrie hinzufügen und Messwerte in Cloud Monitoring aufnehmen, um sie in Diagrammen, Dashboards und Benachrichtigungsrichtlinien zu verwenden.

Wir empfehlen die Verwendung von OpenCensus, wenn Ihre Anwendung in einer Sprache geschrieben ist, die von der Bibliothek unterstützt wird. Weitere Informationen finden Sie unter Benutzerdefinierte Messwerte mit OpenCensus.

Wenn Ihre Anwendung in GKE ausgeführt wird, können Sie Prometheus wie zuvor in diesem Dokument beschrieben verwenden.

Sie können Ihrem Code mithilfe der Monitoring API eine benutzerdefinierte Messwertinstrumentierung hinzufügen. Die Monitoring API bietet Ihnen die größte Flexibilität und Kontrolle, ist jedoch komplexer als OpenCensus oder Prometheus. Weitere Informationen finden Sie unter Einführung in die Monitoring API.

Monitoring-Daten visualisieren

Cloud Monitoring bietet die folgenden Optionen zur Visualisierung von Daten:

  • Monitoring-Benutzeroberfläche: Cloud Monitoring bietet integrierte Diagramme und Dashboards.
  • Integrierte Tools: Visualisierungstools wie Grafana können in die Cloud Monitoring-Datenquelle eingebunden werden. Grafana ist eine Open-Source-Plattform für die Analyse und Visualisierung von Messwerten. Weitere Informationen finden Sie in folgenden Anleitungen:
  • BigQuery-Datenexport: BigQuery ist eine vollständig verwaltete Data-Warehouse-Lösung, die die Datenvisualisierung mit Data Studio und anderen integrierten Visualisierungstools von Partnern ermöglicht. Informationen zum Konfigurieren der Messwertextraktion in BigQuery für die Visualisierung mit integrierten Tools wie Data Studio finden Sie in den folgenden Anleitungen:

Auf der Seite "Monitoring" in der Google Cloud Console können Sie Daten mithilfe der folgenden Tools visualisieren:

  • Google Cloud-Dashboards: Zeigt Diagramme für Google Cloud-Ressourcen, -Anwendungen oder AWS-Ressourcen an. Sie können die Diagrammkonfiguration und den Anzeigezeitraum für diese Dashboards ändern.
  • Benutzerdefinierte Dashboards: Anpassbare Dashboards, die Sie erstellen können, um den Status der von Ihnen angegebenen Dienste oder Ressourcengruppen anzuzeigen.
  • Metrics Explorer: Eine Webansicht, mit der Sie benutzerdefinierte Ansichten von Messwerten erstellen können, die im Arbeitsbereich erfasst werden. Sie können Metrics Explorer-Diagramme freigeben, um Anwendungsfälle zur Fehlerbehebung und Zusammenarbeit in Echtzeit zu unterstützen.

Weitere Informationen finden Sie unter Google Cloud Skills Boost-Monitoring für mehrere Projekte mit Cloud Monitoring.

Beobachtbarkeitsdaten in Logging aufnehmen

Mit Cloud Logging können Sie Logdaten von lokalen Tools und Drittanbietertools aufnehmen und anschließend Logdaten und Ereignisse speichern, durchsuchen, analysieren, überwachen und Benachrichtigungen senden.

AWS-Ressourcen protokollieren

Um Logs von VMs aufzunehmen, die in Amazon EC2 ausgeführt werden, konfigurieren Sie VM-Berechtigungen und installieren dann den Cloud Logging-Agent auf den VMs. Weitere Informationen zur Verwendung von AWS-Logs mit Cloud Logging finden Sie in der Kurzanleitung für AWS.

Azure- und lokale Ressourcen protokollieren

Zum Aufnehmen von Logs aus Ressourcen, die in Microsoft Azure oder lokal ausgeführt werden, können Sie die Integrationslösung BindPlane von Blue Medora verwenden. Weitere Informationen finden Sie in der Anleitung zum Logging von lokalen Ressourcen mit BlueMedora.

Benutzerdefiniertes Logging

Sie können die Logging-Clientbibliotheken verwenden, um Logs direkt an Cloud Logging zu senden. Weitere Informationen zur Verwendung der Logging-Clientbibliotheken zum Aufnehmen von Logs finden Sie in den Logging API-Beispielen.

Traces in Cloud Trace aufnehmen

Cloud Trace unterstützt Sie bei der Analyse der Anwendungslatenz durch Bereitstellung von Anwendungsinstrumentierung, einem Speicher-Back-End sowie einer Visualisierungs- und Analyseebene für aufgenommene Traces. Cloud Trace ist ein verteiltes Tracing-System, mit dem Sie die Anwendungslatenz analysieren können, insbesondere für komplexe, auf Mikrodiensten basierende Architekturen.

Trace mit Zipkin

Wenn Ihre Anwendung bereits mit Zipkin ausgestattet ist und Sie kein eigenes Trace-Back-End ausführen möchten oder wenn Sie auf die erweiterten Analysetools von Cloud Trace zugreifen möchten, können Sie Traces in Cloud Trace aufnehmen. Diese Funktion wird vom Zipkin-Projekt gepflegt und von Google offiziell nicht unterstützt. Weitere Informationen finden Sie unter Cloud Trace mit Zipkin verwenden.

Trace mit OpenTelemetry

Wenn Sie keine Tracing-Instrumentierung haben und Cloud Trace als Tool zur Tracing-Analyse verwenden möchten, empfehlen wir die Verwendung von OpenTelemetry. OpenTelemetry ist eine Open-Source-Tracing- und Messwertbibliothek, die viele Sprachen unterstützt. Weitere Informationen zur Verwendung von OpenTelemetry mit Cloud Trace finden Sie in der OpenTelemetry-Dokumentation. Ein Beispiel für die Verwendung von Go finden Sie im Trace-Exporter-Paket.

Trace mit Clientbibliotheken

Sie können Cloud Trace-Clientbibliotheken für die Anwendungsinstrumentierung verwenden, wenn Sie VMs oder Container in Google Cloud, bei anderen Cloud-Anbietern oder lokal ausführen. Google stellt auf OpenTelemetry um. Wenn Sie das verteilte Tracing verwenden möchten, empfehlen wir die Verwendung von OpenTelemetry, wie bereits zuvor in diesem Dokument beschrieben.

Warnungen und Benachrichtigungen

Sie können Google Cloud und externe Tools verwenden, um Warnungen und Benachrichtigungen für Daten zu senden, die von externen Systemen aufgenommen wurden.

Cloud Monitoring bietet Funktionen für die Benachrichtigung und Verwaltung von Vorfällen und Ereignissen. Zur Überwachung Ihrer Systeme können Sie Benachrichtigungen aus Monitoring in Tools einbinden, die Sie erworben oder selbst erstellt haben.

Verwenden Sie eine oder mehrere der folgenden Optionen, um die Monitoring-Integration zu implementieren:

  • Verwenden Sie integrierte Benachrichtigungsintegrationen von Cloud Monitoring, um Benachrichtigungen an andere Systeme zu senden.
  • Verwenden Sie eine Partnerlösung für Systeme, in denen keine integrierten Integrationen verfügbar sind.
  • Erstellen Sie benutzerdefinierte Integrationen mit Webhooks, um Cloud Monitoring-Benachrichtigungen an andere Systeme zu senden.

Benachrichtigungen aus Monitoring senden

Sie können Benachrichtigungsrichtlinien für Cloud Monitoring anhand von Logs und aufgenommenen Messwerten erstellen und Benachrichtigungen an verschiedene Kanäle wie E-Mails oder SMS senden. Die folgenden Anleitungen enthalten Implementierungsbeispiele für Slack und PagerDuty:

Weitere Informationen zu Benachrichtigungen finden Sie unter Benachrichtigungsrichtlinien im Detail.

Benachrichtigungen von einer Drittanbieterlösung senden

Sie können Cloud Monitoring-Benachrichtigungen mit einer Drittanbieterlösung an Ihr System senden. Beispiele finden Sie in den folgenden Anleitungen:

Benachrichtigungen aus benutzerdefinierten Integrationen senden

Sie können einen Webhook verwenden, um eine benutzerdefinierte Einbindung in viele Monitoringsysteme von Drittanbietern zu erstellen. Wenn Sie eine benutzerdefinierte Einbindung einrichten, sendet Cloud Monitoring Benachrichtigungen nach JSON-Nutzlast für die von Ihnen angegebenen URLs. Die folgenden Anleitungen enthalten Beispiele für die Einbindung benutzerdefinierter Webhooks:

Fehlerbenachrichtigungen aus Monitoring senden

Wenn Sie wie oben beschrieben Daten in Monitoring aufnehmen, können Sie die Error Reporting-Funktion so konfigurieren, dass externe Systeme Warnungen als Fehler schreiben und Benachrichtigungen auslösen. Weitere Informationen finden Sie in folgenden Leitfäden:

Nächste Schritte