Auf dieser Seite wird beschrieben, wie Sie clientseitige gRPC-Messwerte an Cloud Monitoring senden, wenn Sie gRPC verwenden, um über eine der folgenden unterstützten Schnittstellen mit Cloud Storage zu interagieren:
Cloud Storage-Java-Clientbibliothek, Version 2.41.0 und höher
Mit clientseitigen Messwerten können Sie die Leistung der Clientanwendung überwachen, die über gRPC mit Cloud Storage interagiert. Der clientseitige Messwert unterscheidet sich von serverseitigen Messwerten, die Aufschluss über die Cloud Storage-Leistung aus serverseitiger Sicht geben.
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.
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.
Hinweis
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, den Sie verwenden möchten, gRPC unterstützt. Die folgenden Cloud Storage-Clientbibliotheken und ‑Connectors unterstützen gRPC:
Aktivieren Sie Cloud Monitoring API.
Aktivieren Sie die Cloud Storage API.
Legen Sie die erforderlichen Rollen und Berechtigungen fest, die zum Ausgeben von clientseitigen Messwerten erforderlich sind.
Erforderliche Rollen
Um die Berechtigungen festzulegen, die Sie zum Senden 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 Senden von clientseitigen gRPC-Messwerten an Cloud Monitoring erforderlich sind. Die genauen Berechtigungen, die erforderlich sind, finden Sie im Abschnitt Erforderliche Berechtigungen:
Erforderliche Berechtigungen
monitoring.timeSeries.create
Diese IAM-Berechtigung ist in den folgenden vordefinierten Cloud Storage-Rollen enthalten:
- Storage-Administrator (
roles/storage.admin) - Storage-Objekt-Administrator (
roles/storage.objectAdmin) - Storage Object User (
roles/storage.objectUser)
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.
Messwertbeschreibungen
In den folgenden Abschnitten werden die clientseitigen Cloud Storage-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 clientseitigen Messwerten pro Versuch können Sie das Wiederholungsverhalten und Engpässe messen und die Kommunikation zwischen Client und Server optimieren.
| Vollständiger Messwert | Beschreibung | Instrumententyp | 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 (komprimiert, aber nicht verschlüsselt), die pro RPC-Versuch in allen Anfragenachrichten mit Ausnahme von Metadaten 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 Byte (komprimiert, aber nicht verschlüsselt), die in allen Antwortnachrichten außer Metadaten pro RPC-Versuch empfangen werden. gRPC- oder Transport-Framing-Bytes sind nicht enthalten. |
Histogramm | By |
|
Weitere Informationen zu clientseitigen Instrumenten pro Versuch finden Sie in der OpenTelemetry-Dokumentation zu Messwerten auf GitHub.
Clientseitige Messwerte pro Anruf
Die folgenden Messwerte bieten eine aggregierte Ansicht des gesamten Lebenszyklus eines Clientaufrufs an einen Server. Client-Messwerte pro Aufruf liefern allgemeine Daten zu Clientaufrufen, Tracking-Messwerte zum Verständnis von Aufrufmustern und helfen Ihnen, Fehlerhäufigkeiten zu erkennen.
| Vollständiger Messwert | Beschreibung | Instrumententyp | 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 abzuschließen, aus Sicht der Anwendung. |
Histogramm | s |
|
Weitere Informationen zu clientseitigen Instrumenten pro Aufruf finden Sie in der OpenTelemetry-Messwertdokumentation auf GitHub.
Messwerte zur Erkennung der Anfragelast anfordern
Die folgenden Messwerte geben Aufschluss darüber, wie effektiv die Funktion zur Erkennung der Anfragelast in Ihrer Clientanwendung ist. Messwerte zur Erkennung der Anfragelast können Ihnen helfen, die Serverlast auszugleichen, die Ressourcennutzung zu optimieren und die Client-Antwortzeiten zu verbessern. Die folgenden Messwerte sind nur bei direkter Verbindung verfügbar.
| Vollständiger Messwert | Beschreibung | Instrumententyp | Einheit | Attribute |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/lb/rls/cache_entries |
Preview. Die Anzahl der Einträge im Cache für die Anfrageauslastungserkennung. |
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, 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 Anfrage-Lasterkennung gesendet werden. Wenn das Standardziel auch vom Server für die Erkennung der Anfragelast zurückgegeben wird, werden RPCs, die aus dem 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 entweder aufgrund einer fehlgeschlagenen Anfrage zur Lastmessung oder aufgrund einer Drosselung des Kanals für die Lastmessung 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 Dienstanfragen verfolgen, Konfigurationsupdates überwachen und die xDS-Gesamtleistung optimieren.
Die folgenden Messwerte sind nur bei direkter Verbindung verfügbar.
| Vollständiger Messwert | Beschreibung | Instrumententyp | Einheit | Attribute |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/xds_client/connected |
Preview. Misst, ob der xDS-Client einen funktionierenden ADS-Stream zum xDS-Server hat. Für einen bestimmten Server wird dieser Messwert beim Erstellen des Streams auf 1 gesetzt. Wenn ein Verbindungsfehler auftritt oder der ADS-Stream ohne Antwortnachricht gemäß A57 fehlschlägt, wird der Messwert auf 0 gesetzt. Wenn der Messwert auf 0 gesetzt 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 eingestuft wurden, auch wenn sie unverändert sind.
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 ordnungsgemäß 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 zum xDS-basierten 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 clientseitiger Messwerte für die gRPC API mit Cloud-Clientbibliotheken für C++ finden Sie unter Struktur 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.