Clientseitige Messwerte einrichten
Auf dieser Seite erfahren Sie, wie Sie clientseitige Bigtable-Messwerte installieren, einrichten und verwenden.
Clientseitige Messwerte stehen für Nutzer der folgenden Clientbibliotheken zur Verfügung:
Eine Übersicht finden Sie unter Übersicht über clientseitige Messwerte. Eine ausführliche Liste der Messwerte finden Sie unter Clientseitige Messwertbeschreibungen.
Dienstkontoberechtigungen hinzufügen oder bestätigen
So fügen Sie dem Dienstkonto IAM-Berechtigungen hinzu:
Öffnen Sie in der Google Cloud Console die Seite IAM.
Wählen Sie das Projekt aus, in dem Sie den Bigtable-Cluster erstellt haben.
Suchen Sie nach dem Dienstkonto, dem Sie die Berechtigung hinzufügen möchten.
Klicken Sie auf Hauptkonto bearbeiten.
Klicken Sie auf „Weitere Rolle“ hinzufügen.
Suchen Sie nach „Monitoring-Messwert-Autor“ und wählen Sie das Ergebnis aus.
Klicken Sie auf Speichern.
Cloud Monitoring API aktivieren
Rufen Sie in der Google Cloud Console die Seite APIs & Dienste auf.
Wählen Sie das Projekt aus, in dem Sie den Bigtable-Cluster erstellt haben.
Klicken Sie auf APIs und Dienste aktivieren.
Suchen Sie nach „Monitoring“.
Klicken Sie in den Suchergebnissen auf "Stackdriver Monitoring API".
Wenn "API aktiviert" angezeigt wird, ist die API bereits aktiviert. Wenn nicht, klicken Sie auf Aktivieren.
Bigtable-Clientbibliothek einrichten
Nachdem Sie die Cloud Monitoring API aktiviert haben, konfigurieren Sie Ihre Bigtable-Clientbibliothek.
Go
Führen Sie diese Schritte aus, wenn Sie die Bigtable-Clientbibliothek für Go verwenden, die die Bigtable APIs aufruft.
Clientbibliothek für Go installieren und konfigurieren
Aktualisieren Sie die Bigtable-Clientbibliothek für Go auf Version 1.27.0 oder höher. Ihr go.mod
sollte in etwa so aussehen:
require (
cloud.google.com/go/bigtable v1.27.2-0.20240725222120-ce31365acc54
Optional: Clientseitige Messwerte deaktivieren
Clientseitige Messwerte sind in der Go-Clientbibliothek standardmäßig aktiviert. Wenn du die Funktion deaktivieren möchtest, gib NoopMetricsProvider
in das ClientConfig
ein:
client, err := bigtable.NewClientWithConfig(ctx, project, instance,
bigtable.ClientConfig{MetricsProvider: bigtable.NoopMetricsProvider{},
})
HBase
Führen Sie diese Schritte aus, wenn Sie den Bigtable HBase-Client für Java, der die HBase API aufruft, verwenden, um Ihre Anwendung mit Bigtable zu verbinden.
HBase-Clientbibliothek für Java installieren und konfigurieren
Laden Sie den neuesten Bigtable HBase-Client für Java herunter und installieren Sie ihn. Zum Aktivieren clientseitiger Messwerte müssen Sie Version 2.6.4 oder höher verwenden.
Erstellen Sie ein leeres Maven-Projekt.
Ermitteln Sie die Artefaktabhängigkeit, die für Ihren Anwendungsfall geeignet ist. Die
2.x
-Versionen enthalten einen asynchronen HBase-Client, den die1.x
-Versionen nicht haben.bigtable-hbase-1.x
oderbigtable-hbase-2.x
: Wird für eigenständige Anwendungen verwendet, in denen Sie die Kontrolle über Ihre Abhängigkeiten haben.bigtable-hbase-1.x-hadoop
oderbigtable-hbase-2.x-hadoop
: Verwendung in Hadoop-Umgebungen.bigtable-hbase-1.x-shaded
oderbigtable-hbase-2.x-shaded
: Verwendung in anderen Umgebungen als Hadoop, für die ältere Versionen von Komponenten wie protobufs oder Guava erforderlich sind.
Aktualisieren Sie die Datei pom.xml:
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud.bigtable</groupId> <artifactId>BIGTABLE_HBASE_ARTIFACT</artifactId> <version>VERSION_NUMBER</version> </dependency> </dependencies> </dependencyManagement>
Machen Sie folgende Angaben:
BIGTABLE_HBASE_ARTIFACT
: Die Artefaktabhängigkeit für Ihr Projekt, formatiert alsbigtable-hbase-1.x
oderbigtable-hbase-2.x-hadoop
.VERSION_NUMBER
: Die von Ihnen verwendete Version der Clientbibliothek, formatiert wie2.6.4
Clientseitige Messwerte in Ihrer Anwendung aktivieren
bigtable-hbase-1.x
oder bigtable-hbase-2.x
verwenden
Wenn Sie eine Verbindung mit der HBase-Clientbibliothek und den Artefakten bigtable-hbase-1.x
oder bigtable-hbase-2.x
erstellen, sieht Ihr Code zum Aktivieren der integrierten clientseitigen Messwerte etwa so aus:
import com.google.cloud.bigtable.data.v2.BigtableDataSettings;
Configuration configuration = BigtableConfiguration.configure("my-project-id", "my-instance-id");
Connection connection = new BigtableConnection(configuration);
BigtableDataSettings.enableBuiltinMetrics();
-hadoop
- oder -shaded
-Artefakte verwenden
Wenn Sie eine Verbindung mit der HBase-Clientbibliothek und einem der -hadoop
- oder -shaded
-Artefakte erstellen, sieht Ihr Code zum Aktivieren der integrierten clientseitigen Messwerte etwa so aus:
import com.google.bigtable.repackaged.com.google.cloud.bigtable.data.v2.BigtableDataSettings;
Configuration configuration = BigtableConfiguration.configure("my-project-id", "my-instance-id");
Connection connection = new BigtableConnection(configuration);
BigtableDataSettings.enableBuiltinMetrics();
Optional: Clientseitige Messwerte deaktivieren
Wenn Sie Version 2.14.1 oder höher verwenden, sind clientseitige Messwerte standardmäßig aktiviert. Sie können diese Funktion deaktivieren.
Configuration configuration = BigtableConfiguration.configure("my-project-id", "my-instance-id");
configuration.setBoolean(BigtableOptionsFactory.BIGTABLE_ENABLE_CLIENT_SIDE_METRICS, false);
Connection connection = new BigtableConnection(configuration);
Java
Führen Sie diese Schritte aus, wenn Sie die Bigtable-Clientbibliothek für Java verwenden, die die Bigtable APIs aufruft.
Hinweise
Optional: Wenn Sie eine OpenCensus Stats-Integration verwenden, um Bigtable-Messwerte abzurufen, setzen Sie die Abhängigkeit und die StackdriverStatsExporter
-Änderungen in Ihrer Anwendung zurück. Informationen dazu finden Sie unter Wann ein Upgrade durchgeführt werden muss.
Clientbibliothek für Java installieren und konfigurieren
- Laden Sie die neueste Bigtable-Clientbibliothek für Java herunter und installieren Sie sie. Zur Verwendung von clientseitigen Messwerten benötigen Sie die Version 2.16.0 oder höher.
Aktualisieren Sie die Datei pom.xml der Java-Clientbibliothek, um die neueste Version zu verwenden. Ihre POM sollte in etwa so aussehen:
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-bigtable-bom</artifactId> <version>2.38.0</version> <scope>import</scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-bigtable</artifactId> </dependency> </dependencies>
Clientseitige Messwerte in Ihrer Anwendung aktivieren
Wenn Sie einen Client mit der Clientbibliothek erstellen, aktivieren Sie die integrierten Messwerte. Ihr Code sollte in etwa so aussehen:
BigtableDataSettings settings = BigtableDataSettings.newBuilder()
.setProjectId("our-project-2-12")
.setInstanceId("our-instance-85")
.setAppProfileId("our-appProfile-06")
.build();
BigtableDataSettings.enableBuiltinMetrics();
try (BigtableDataClient client = BigtableDataClient.create(settings)) {
// Application logic
}
Benutzerdefinierte OpenTelemetry-Instanz einrichten
Wenn Sie Version 2.38.0 oder höher verwenden und clientseitige Messwerte in Cloud Monitoring und benutzerdefinierten Datensammlern veröffentlichen möchten, können Sie eine benutzerdefinierte OpenTelemetry-Instanz einrichten.
SdkMeterProviderBuilder meterProviderBuilder = SdkMeterProvider.builder();
// register client side metrics on your meter provider
BuiltinMetricsView.registerBuiltinMetrics("my-project-id", meterProviderBuilder);
// register other metric reader and views
meterProviderBuilder.registerMetricReader().registerView();
// create the OTEL instance
OpenTelemetry openTelemetry = OpenTelemetrySdk.builder()
.setMeterProvider(meterProviderBuilder.build())
.build();
// Override MetricsProvider in BigtableDataSettings
BigtableDataSettings settings = BigtableDataSettings.newBuilder()
.setProjectId("my-project-id")
.setInstanceId("my-instance-id")
.setMetricsProvider(CustomOpenTelemetryMetricsProvider.create(openTelemetry))
.build();
try (BigtableDataClient client = BigtableDataClient.create(settings)) {
// Application logic
}
Optional: Clientseitige Messwerte deaktivieren
Wenn Sie Version 2.38.0 oder höher verwenden, können Sie die Verwendung clientseitiger Messwerte deaktivieren.
BigtableDataSettings settings = BigtableDataSettings.newBuilder()
.setProjectId("my-project")
.setInstanceId("my-instance")
.setMetricsProvider(NoopMetricsProvider.INSTANCE)
.build();
Messwerte in Metrics Explorer aufrufen
Rufen Sie in der Google Cloud Console die Seite Metrics Explorer auf.
Wählen Sie das Projekt aus.
Klicken Sie auf Messwert auswählen.
Suchen Sie nach
bigtable.googleapis.com/client
.Wählen Sie einen Messwert, eine
group by
-Methode und einen Status aus und wählen Sie einen Aggregator aus. Weitere Optionen finden Sie unter Messwerte bei Verwendung von Metrics Explorer auswählen.
Lassen Sie Ihre Anwendung nach der Aktivierung clientseitiger Messwerte mindestens eine Minute lang laufen, bevor Sie nach veröffentlichten Messwerten suchen.
Messwerte im Bigtable-Monitoring ansehen
Auf der Bigtable-Monitoringseite werden Diagramme für die folgenden clientseitigen Messwerte angezeigt:
- Clientseitige Leselatenz
- Clientseitige Schreiblatenz
- Clientseite Latenz von Leseversuchen
- Clientseite Latenz von Schreibversuchen
So rufen Sie clientseitige Messwerte auf der Seite Monitoring auf:
Öffnen Sie in der Google Cloud Console die Liste der Bigtable-Instanzen.
Klicken Sie auf die Instanz, deren Messwerte Sie sehen möchten.
Klicken Sie im linken Bereich auf Monitoring. In der Google Cloud Console werden eine Reihe von Diagrammen für die Instanz angezeigt.
Scrollen Sie durch den Bereich, um die clientseitigen Messwerte aufzurufen.
Optional: Klicken Sie auf Tabellen, um Messwerte auf Tabellenebene anzusehen.
Optional: Wenn Sie Messwerte für einzelne Anwendungsprofile sehen möchten, klicken Sie auf Anwendungsprofile.
Weitere Informationen finden Sie unter Bigtable-Monitoring.