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-Support, einschließlich vordefinierter Dashboards
- vorgeschlagene Cloud Logging Abfragen
- Ressourcenlabels und benutzerdefinierte Labels
Features
In diesem Abschnitt werden die Funktionen zur Beobachtbarkeit 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 Remote Procedure Calls (RPC) kann Metadatenereignisse enthalten, einschließlich Header und Wrapper, Nachrichtenereignisse und Statusereignisse wie „OK“ und „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
Anhand von Traces können Sie Fehler und Probleme in Ihren Systemen erkennen. Mithilfe von Protokolleinträgen können Sie die Details zu Fehlern und Problemen ermitteln. Zusammengenommen bieten Traces und Logs ein detailliertes Bild der Fehler oder Probleme und ermöglichen ein umfassenderes Verständnis von RPCs, die verschiedene 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 Beobachtbarkeitsdaten effektiver untersuchen können, werden mit der Mikrodienstbeobachtbarkeit standardmäßig Ressourcenlabels bereitgestellt und es ist möglich, benutzerdefinierte Labels für Ihre Anwendung zu definieren. Ressourcenlabels sind Bereitstellungsspezifische Schlüssel/Wert-Paare, die den Speicherort der Arbeitslast angeben, z. B. den Namen des Compute Engine-Knotens oder den Google Kubernetes Engine-Namespace.
Benutzerdefinierte Labels bieten einen Mechanismus zum Anhängen benutzerdefinierter Informationen:
- 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 damit nutzerspezifische Informationen hinzufügen, um bestimmte Observability-Daten in Ihren Protokollen, Messwerten und Traces zu identifizieren.
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:
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
Informationen zum Einrichten der Beobachtbarkeit von Mikrodiensten finden Sie unter Beobachtbarkeit von Mikrodiensten einrichten.
Ausführliche Informationen zu Konfigurationsdaten, Trace-Definitionen, Messwertdefinitionen und Logdefinitionen finden Sie in der Referenz zur Mikrodienste-Beobachtbarkeit.