Auf dieser Seite wird beschrieben, wie Sie clientseitige gRPC-Messwerte an Cloud Monitoring senden, wenn Sie gRPC verwenden, um mit Cloud Storage über eine der folgenden unterstützten Schnittstellen zu interagieren:
Cloud Storage-Clientbibliothek für Java, Version 2.41.0 und höher
- Apache Beam-Connector für Dataflow, Version 2.2.26 und höher
Mit clientseitigen Messwerten lässt sich die Leistung der Clientanwendung überwachen, die über gRPC mit Cloud Storage interagiert. Der clientseitige Messwert unterscheidet sich von serverseitigen Messwerten, die Einblicke in die Cloud Storage-Leistung aus serverseitiger Sicht bieten.
Funktionsweise
Sie können festlegen, dass clientseitige Messwerte an Cloud Monitoring gesendet werden, wenn Sie gRPC verwenden, um über eine der unterstützten Schnittstellen mit Cloud Storage zu interagieren. Sie können clientseitige Messwerte mit dem Metrics Explorer ansehen, um Interaktionen zwischen Cloud Storage und dem gRPC-Client zu beobachten und zu optimieren, die Nutzung zu verwalten und Leistungsengpässe und technische Probleme zu beheben.
Preise
Clientseitige Cloud Storage-Messwerte sind nicht kostenpflichtig. Sie können also clientseitige Cloud Storage-Messwerte ausgeben, speichern und darauf zugreifen, ohne dass Cloud Monitoring-Gebühren anfallen. Weitere Informationen zu den Preisen finden Sie unter Google Cloud Observability-Preise.
Hinweise
Wenn Sie clientseitige Messwerte verwenden möchten, müssen Sie zuerst die folgenden Schritte ausführen:
Prüfen Sie, ob die Cloud Storage-Clientbibliothek oder der Connector, die Sie verwenden möchten, gRPC unterstützt. Die folgenden Cloud Storage-Clientbibliotheken und ‑Connectors unterstützen gRPC:
Aktivieren Sie die Cloud Monitoring API.
Aktivieren Sie die Cloud Storage API.
Legen Sie die erforderlichen Rollen und Berechtigungen fest, die zum Ausgeben clientseitiger Messwerte erforderlich sind.
Erforderliche Rollen
Um die Berechtigungen festzulegen, die Sie zum Ausgeben von clientseitigen gRPC-Messwerten an Cloud Monitoring benötigen, weisen Sie dem vom gRPC-Client verwendeten Dienstkonto die IAM-Rolle Monitoring Metric Writer (roles/monitoring.metricWriter
) zu.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Ausgeben von gRPC-Clientseitigen Messwerten an Cloud Monitoring erforderlich sind. Im Abschnitt Erforderliche Berechtigungen finden Sie die erforderlichen Berechtigungen:
Erforderliche Berechtigungen
monitoring.timeSeries.create
Sie können diese Berechtigungen auch mit anderen benutzerdefinierten Rollen oder vordefinierten Rollen erhalten. Weitere Informationen zur Rolle „Monitoring Metric Writer“ finden Sie in der IAM-Dokumentation zu roles/monitoring.metricWriter
.
Hinweise
Wenn Sie den Cloud Storage-Connector in Dataproc verwenden, müssen Sie dem Dataproc-VM-Dienstkonto die IAM-Rolle „Monitoring Metric Writer“ (
roles/monitoring.metricWriter
) zuweisen.Wenn Sie den Apache Beam-Connector in Dataflow verwenden, müssen Sie dem Dataflow-Worker-Dienstkonto die IAM-Rolle „Monitoring Metric Writer“ (
roles/monitoring.metricWriter
) zuweisen.
Messwerte in Metrics Explorer aufrufen
Gehen Sie nach der folgenden Anleitung vor, um clientseitige gRPC-Messwerte für Cloud Storage im Metrics Explorer aufzurufen.
Rufen Sie in der Google Cloud Console die Seite Metrics Explorer auf.
Wählen Sie das Projekt aus, für das Sie Messwerte aufrufen möchten.
Klicken Sie im Drop-down-Menü Messwert auf Messwert auswählen.
Geben Sie in der Suchleiste Nach Ressourcen- oder Messwertname filtern den Wert
storage.googleapis.com/Client
ein oder suchen Sie nach dem Messwert, den Sie anwenden möchten, indem Sie den Messwertnamen eingeben. Klicken Sie dann auf Übernehmen. Wenn Sie mehrere Messwerte hinzufügen möchten, klicken Sie auf Abfrage hinzufügen.Cloud Storage wendet die Messwerte auf Ihr Projekt an. Sie können Ihre Messwerte mit den folgenden Drop-down-Menüs filtern oder zusammenfassen:
Wenn Sie eine Teilmenge Ihrer Daten anhand bestimmter Kriterien auswählen und ansehen möchten, verwenden Sie das Drop-down-Menü Filter.
Wenn Sie mehrere Datenpunkte zu einem einzigen Wert zusammenfassen und eine zusammengefasste Ansicht Ihrer Messwerte aufrufen möchten, verwenden Sie das Drop-down-Menü Aggregation.
Lassen Sie die Anwendung mindestens eine Minute lang laufen, bevor Sie nach veröffentlichten Messwerten suchen.
Informationen zum Ansehen der Messwerte, die Sie Ihrem Projekt über ein Dashboard hinzugefügt haben, finden Sie unter Dashboards – Übersicht.
Messwertbeschreibungen
In den folgenden Abschnitten werden Cloud Storage-Clientseitige Messwerte beschrieben, mit denen die Leistung des gRPC-Clients überwacht werden kann.
Messwerte für einzelne Versuche auf Clientseite
Mit den folgenden Messwerten werden Leistungsdaten zu einzelnen Versuchen eines Clients erfasst, mit einem Server zu kommunizieren. Mit Client-Messwerten pro Versuch können Sie das Wiederholungsverhalten und Engpässe messen und die Kommunikation zwischen einem Client und einem Server optimieren.
Vollständiger Messwert | Beschreibung | Zahlungsmittel | Einheit | Attribute |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/attempt/started |
Preview : Die Gesamtzahl der gestarteten RPC-Versuche, einschließlich der nicht abgeschlossenen. |
Zähler | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview : Die End-to-End-Zeit, die für den Abschluss eines RPC-Versuchs benötigt wird, einschließlich der Zeit für die Auswahl eines Subkanals. |
Histogramm | s |
|
storage.googleapis.com/client/grpc/client/attempt/sent_total_compressed_message_size |
Preview : Die Gesamtzahl der Byte, die komprimiert, aber nicht verschlüsselt in allen Anfragenachrichten mit Ausnahme von Metadaten pro RPC-Versuch gesendet werden. gRPC- oder Transport-Framing-Bytes sind nicht enthalten. |
Histogramm | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview : Die Gesamtzahl der (komprimierten, nicht verschlüsselten) Byte in allen Antwortnachrichten (außer Metadaten) pro RPC-Versuch. gRPC- oder Transport-Framing-Bytes sind nicht enthalten. |
Histogramm | By |
|
Weitere Informationen zu clientbezogenen Instrumenten pro Versuch finden Sie in der OpenTelemetry-Dokumentation zu Messwerten auf GitHub.
Clientmesswerte pro Aufruf
Die folgenden Messwerte bieten eine aggregierte Ansicht des gesamten Lebenszyklus eines Clientaufrufs an einen Server. Clientbezogene Messwerte pro Anruf liefern allgemeine Daten zu Clientanrufen, Tracking-Messwerte zum Nachvollziehen von Anrufmustern und helfen Ihnen, Häufigkeiten bei Fehlern zu erkennen.
Vollständiger Messwert | Beschreibung | Zahlungsmittel | Einheit | Attribute |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview : Misst die End-to-End-Zeit, die die gRPC-Bibliothek benötigt, um einen RPC aus Sicht der Anwendung abzuschließen. |
Histogramm | s |
|
Weitere Informationen zu Client-Instrumenten pro Aufruf finden Sie in der OpenTelemetry-Dokumentation zu Messwerten auf GitHub.
Messwerte zur Erkennung der Anfragelast anfordern
Die folgenden Messwerte geben Aufschluss über die Effektivität der Verwendung der Erkennung der Anfragelast durch Ihre Clientanwendung. Messwerte zur Erkennung der Anfragelast können Ihnen helfen, die Serverlast auszugleichen, die Ressourcenauslastung zu optimieren und die Client-Antwortzeiten zu verbessern. Die folgenden Messwerte sind nur bei direkter Verbindung verfügbar.
Vollständiger Messwert | Beschreibung | Zahlungsmittel | Einheit | Attribute |
---|---|---|---|---|
storage.googleapis.com/client/grpc/lb/rls/cache_entries |
Preview : Die Anzahl der Einträge im Cache für die Erkennung der Anfragelast. |
Gauge | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview : Die aktuelle Größe des Caches für die Erkennung der Anfragelast. |
Gauge | By |
|
storage.googleapis.com/client/grpc/lb/rls/default_target_picks |
Preview : Die Anzahl der Load-Balancer-Auswahlen (LB), die an das Standardziel gesendet wurden. |
Zähler | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview : Die Anzahl der LB-Auswahlen, die an jedes Ziel für die Erkennung der Anfragelast gesendet werden. Wenn das Standardziel auch vom Server für die Erkennung der Anforderungslast zurückgegeben wird, werden RPCs, die vom Cache an dieses Ziel gesendet werden, in diesem Messwert und nicht in grpc.rls.default_target_picks gezählt. |
Zähler | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview : Die Anzahl der LB-Auswahlen, die aufgrund einer fehlgeschlagenen Anfrage zum Erfassen der Anfragelast oder einer Drosselung des Kanals zum Erfassen der Anfragelast fehlgeschlagen sind. |
Zähler | {pick} |
|
xDiscovery Service-Clientmesswerte
Die folgenden Messwerte geben Aufschluss darüber, wie Ihre Clientanwendung mit der xDiscovery Service (xDS)-Steuerungsebene interagiert, um Verbindungen zu Backend-Diensten zu erkennen und zu konfigurieren. Mit xDS-Messwerten können Sie die Latenz von Serviceanfragen verfolgen, Konfigurationsupdates überwachen und die allgemeine xDS-Leistung optimieren.
Die folgenden Messwerte sind nur bei direkter Verbindung verfügbar.
Vollständiger Messwert | Beschreibung | Zahlungsmittel | Einheit | Attribute |
---|---|---|---|---|
storage.googleapis.com/client/grpc/xds_client/connected |
Preview : Gibt an, ob der xDS-Client einen funktionierenden ADS-Stream zum xDS-Server hat. Für einen bestimmten Server wird dieser Messwert auf 1 gesetzt, wenn der Stream erstellt wird. Bei einem Verbindungsfehler oder wenn der ADS-Stream ohne Antwortmeldung gemäß A57 fehlschlägt, wird der Messwert auf 0 gesetzt. Wenn der Wert auf 0 festgelegt ist, wird er auf 1 zurückgesetzt, sobald die erste Antwort in einem ADS-Stream empfangen wird. Dieser Messwert ist nur für Cloud-Clientbibliotheken für C++ verfügbar. |
Gauge | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview : Die Anzahl der empfangenen Ressourcen, die als ungültig eingestuft wurden. Dieser Messwert ist nur für Cloud-Clientbibliotheken für C++ verfügbar. |
Zähler | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_valid |
Preview : Die Anzahl der empfangenen Ressourcen, die als gültig betrachtet wurden, auch wenn sie unverändert waren.
Dieser Messwert ist nur für Cloud-Clientbibliotheken für C++ verfügbar. |
Zähler | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview : Die Anzahl der xDS-Ressourcen. Dieser Messwert ist nur für Cloud-Clientbibliotheken für C++ verfügbar. |
Gauge | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview : Die Anzahl der xDS-Server, die nicht mehr richtig funktionieren und entweder nicht mehr verfügbar oder überlastet sind oder falsche oder ungültige Konfigurationsdaten bereitstellen. Dieser Messwert ist nur für Cloud-Clientbibliotheken für C++ verfügbar. |
Zähler | {failure} |
|
Weitere Informationen zu xDS-Clientmesswerten finden Sie in der Dokumentation zu xDS-basiertem globalen Load-Balancing auf GitHub.
Clientseitige Messwerte deaktivieren
Sie können clientseitige Messwerte bei Bedarf deaktivieren.
Java
public GrpcStorageOptions.Builder setEnableGrpcClientMetrics(false enableGrpcClientMetrics)
Weitere Informationen finden Sie unter Cloud-Clientbibliotheken für die Java-Klasse GrpcStorageOptions.Builder
-Methode für gRPC-Clientmesswerte.
C++
Informationen zum Deaktivieren von clientseitigen Messwerten für die gRPC API mit Cloud-Clientbibliotheken für C++ finden Sie unter Struct EnableGrpcMetricsOption
.
Wenn Sie Bazel zum Erstellen Ihrer Anwendung verwenden und clientseitige Messwerte deaktivieren möchten, legen Sie die Option enable_grpc_metrics
in der Build-Datei Ihrer Anwendung auf false
fest.