Übersicht über Mikrodienst-Beobachtbarkeit

Mit Tools zur Beobachtbarkeit von Mikrodiensten können Sie Ihre Anwendungen instrumentieren, um Telemetriedaten in Cloud Monitoring ,Cloud Logging und Cloud Trace zu erfassen und zu präsentieren, die von gRPC-Arbeitslasten stammen, die in Google Cloud und an anderen Orten bereitgestellt werden.

Diese Dokumentation richtet sich an gRPC-Dienstinhaber, Experten des Site Reliability Engineering und an alle, die Telemetriedaten zur Fehlerbehebung und Optimierung von gRPC-Arbeitslasten verwenden.

Mit der Beobachtbarkeit werden die OpenCensus-Plug-ins für Messwerte, Traces und gRPC-Logging in einem einzigen einheitlichen Plug-in zusammengefasst, ohne Abhängigkeiten aufzuzeigen. Für die Beobachtbarkeit von Mikrodiensten werden Beobachtbarkeitsdaten aus Cloud Monitoring, Cloud Logging und Cloud Trace verwendet. Die Dokumentation bietet Anleitungen zum Einbinden von Beobachtbarkeits-Plug-ins in Ihre gRPC-Anwendungen.

Zum Erfassen von Informationen und zur Behebung von Fehlern in Ihren Anwendungen enthält die Beobachtbarkeit von Mikrodiensten folgende Features:

  • RPC-Ereignis-Logging auf Transportebene erstellen
  • Verteilte Tracing-Unterstützung.
  • Cloud Monitoring-Unterstützung, einschließlich vordefinierter Dashboards.
  • vorgeschlagene Cloud Logging Abfragen
  • Ressourcenlabels und benutzerdefinierte Labels

Features

In diesem Abschnitt werden die Beobachtbarkeitsfunktionen von Mikrodiensten beschrieben.

Telemetrieintegration

Die Pakete des Beobachtbarkeits-Plug-ins für jede gRPC-Sprache (C++, Go und Java) sind standardmäßig in Google Cloud Observability eingebunden. Mit minimaler Konfiguration ruft das Plug-in Metadaten zu Ihrem Projekt und Ihrer Bereitstellung ab und konfiguriert den Standardumfang für die Datengenerierung in Tracing, Messwerte und Logging.

RPC-Transportereignisse auf Transportebene prüfen

Der Lebenszyklus eines Remoteprozeduraufrufs (Remote Procedure Call, RPC) kann Metadatenereignisse enthalten, einschließlich Headern und Trailern. Nachrichtenereignisse; und Statusereignisse, einschließlich des OK-Status und des Fehlerstatus sowie Abschlussereignisse. Wenn Sie die Beobachtbarkeit von Mikrodiensten verwenden, können Sie die Details der einzelnen Ereignistypen prüfen. Sie können die Länge der serialisierten Nachrichten, die Befugnis, die Client-/Serveradressen und ob der Client oder der Server den RPC abgebrochen hat, prüfen.

Mit expliziten Einstellungen kann die Beobachtung von Mikrodiensten das Nutzlast-Logging für Nachrichten oder Header aktivieren. Sie können Größenbeschränkungen für die Nutzlastlogs, Steuerungsnachrichten oder Header-Nutzlastlogs separat festlegen. Sie können auch die Zielgruppe von Methoden mit oder ohne Platzhalter angeben.

Unterstützung für verteiltes Tracing für RPCs

In der Serverarchitektur lässt sich festlegen, dass ein RPC in mehrere Aufrufe oder separate Anfragen übertragen werden kann, die durch Komponenten geleitet werden. Die Beobachtbarkeit von Mikrodiensten nutzt verteiltes Tracing, um komplexe Systeme zu analysieren und Fehler zu beheben. Das Produkt der Mikrodienst-Beobachtbarkeit bietet integrierte Unterstützung für gRPC-Anwendungen, um Traces zu starten, Spans zu generieren und den Tracing-Kontext weiterzugeben.

Messungen für die Messwertüberwachung erfassen

Das Plug-in bietet Unterstützung für eine Vielzahl von Messungen auf Nachrichten-, RPC- oder Methodenebene, von Nachrichtenanzahl und Nachrichtengröße bis Latenzen. Die Messwerte werden in Cloud Monitoring hochgeladen. Sie können die gesammelten Messwerte mit dem Metrics Explorer von Cloud Monitoring untersuchen, das ein Dashboard mit einer Reihe bereits vorhandener Diagramme enthält. Sie können die Messwerte auch in eigenen benutzerdefinierten Dashboards darstellen.

Korrelation zwischen Traces und Logs

Traces helfen Ihnen, Fehler und Probleme in Ihren Systemen zu identifizieren, während Logeinträge Ihnen helfen, die Details von Fehlern und Problemen zu ermitteln. Zusammen bietet Ihnen Traces und Logs ein detailliertes Bild der Fehler oder Probleme. So erhalten Sie ein besseres Verständnis für RPCs, die unterschiedliche Systeme umfassen. Beobachtbarkeit von Mikrodiensten korreliert automatisch Logs mit Traces und für diese basiert die Stichprobenerhebung auf vorgelagerten Stichprobenentscheidungen oder benutzerdefinierten Stichprobenraten.

Ressourcenlabels und benutzerdefinierte Labels

Damit Sie die Beobachtbarkeitsdaten effektiver untersuchen können, bietet die Beobachtbarkeit von Mikrodiensten standardmäßig Ressourcenlabels und ermöglicht Ihrer Anwendung, benutzerdefinierte Labels zu definieren. Ressourcenlabels sind Deployment-spezifische Schlüssel/Wert-Paare, die den Speicherort der Arbeitslast annotieren, z. B. den Compute Engine-Knotennamen oder den Google Kubernetes Engine-Namespace.

Benutzerdefinierte Labels bieten die Möglichkeit, benutzerdefinierte Informationen so anzuhängen:

  • Als Span-Label an Tracing-Daten.
  • Als Messwertlabels an Messwertdaten.
  • Als Logeintragslabels an Logging-Daten.

Benutzerdefinierte Labels sind hilfreich, wenn Sie Quellversionen oder kanonische Dienstnamen einschließen möchten. Sie können sie verwenden, um nutzerspezifische Informationen hinzuzufügen, mit denen Sie bestimmte Beobachtbarkeitsdaten in Ihren Logs, Messwerten und Traces identifizieren können.

Vorgeschlagene Abfragen

Die Beobachtbarkeit von Mikrodiensten stellt automatisch mehrere vorgeschlagene Abfragen in Cloud Logging bereit. Ausführliche Informationen finden Sie unter Vorgeschlagene Abfragen.

Architektur

Das folgende Diagramm zeigt, wie Mikrodienste die Beobachtbarkeitsdaten erfassen und bereitstellen:

Erfassung und Bereitstellung beobachtbarer Daten von Mikrodiensten
Erfassung und Bereitstellung beobachtbarer Daten von Mikrodiensten (zum Vergrößern klicken)

Zuerst geben Sie die Beobachtbarkeitskonfiguration für Ihre gRPC-Arbeitslast an. Die Beobachtbarkeitskonfiguration besteht aus Feldern, die Sie in einer Umgebungsvariable festlegen. Die Konfiguration definiert Folgendes:

  • Trace-Spans, die nach Cloud Trace exportiert werden.
  • Messwertdaten, die in Monitoring exportiert werden.
  • RPC-Ereignisse, die nach Cloud Logging exportiert werden.

Sie können diese Informationen dann in benutzerdefinierten Dashboards in Cloud Monitoring ansehen und vorgeschlagene Abfragen in Cloud Logging abrufen. Außerdem haben Sie die Möglichkeit, Informationen aus Cloud Trace, Cloud Monitoring und Cloud Logging nach Drittanbieterplattformen Ihrer Wahl zu exportieren.

Preise

Die Preise für die Beobachtbarkeit von Mikrodiensten entsprechen den Preisen für Google Cloud Observability. Für die Verwendung von Cloud Trace, Cloud Logging und Cloud Monitoring mit den Plug-ins für die Beobachtbarkeit von Mikrodiensten fallen keine separaten Gebühren an. Weitere Informationen finden Sie unter Preise für Google Cloud Observability.

Nächste Schritte