Clientseitige Messwerte einrichten

Auf dieser Seite wird beschrieben, wie clientseitige Messwerte von Bigtable installiert, eingerichtet und verwendet werden.

Um clientseitige Messwerte zu aktivieren und anzuzeigen, müssen Sie entweder die Cloud Bigtable-Clientbibliothek für Java verwenden, die die Cloud Bigtable-Dienst-APIs aufruft, oder den Cloud Bigtable HBase-Client für Java, der die Open-Source-HBase API verwendet.

Eine Übersicht finden Sie unter Übersicht über clientseitige Messwerte. Eine ausführliche Liste der Messwerte finden Sie unter Clientseitige Messwertbeschreibungen.

Hinweise

Optional: Wenn Sie derzeit 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.

Dienstkontoberechtigungen hinzufügen oder bestätigen

Führen Sie die folgenden Schritte aus, um dem Dienstkonto IAM-Berechtigungen hinzuzufügen:

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    IAM aufrufen

  2. Wählen Sie das Projekt aus, in dem Sie den Bigtable-Cluster erstellt haben.

  3. Suchen Sie nach dem Dienstkonto, dem Sie die Berechtigung hinzufügen möchten.

  4. Klicken Sie auf Hauptkonto bearbeiten.

  5. Klicken Sie auf „Weitere Rolle“ hinzufügen.

  6. Suchen Sie nach „Monitoring-Messwert-Autor“ und wählen Sie das Ergebnis aus.

  7. Klicken Sie auf Speichern.

Cloud Monitoring API aktivieren

  1. Rufen Sie in der Google Cloud Console die Seite APIs & Dienste auf.

    Rufen Sie „APIs & Dienste“ auf.

  2. Wählen Sie das Projekt aus, in dem Sie den Bigtable-Cluster erstellt haben.

  3. Klicken Sie auf APIs und Dienste aktivieren.

  4. Suchen Sie nach „Monitoring“.

  5. Klicken Sie in den Suchergebnissen auf "Stackdriver Monitoring API".

  6. Wenn "API aktiviert" angezeigt wird, ist die API bereits aktiviert. Wenn nicht, klicken Sie auf Aktivieren.

Cloud Bigtable-Clientbibliothek für Java einrichten und verwenden

Führen Sie diese Schritte aus, wenn Sie die Cloud Bigtable-Clientbibliothek für Java verwenden, die die Cloud Bigtable APIs aufruft.

Clientbibliothek für Java installieren und konfigurieren

  1. Laden Sie die neueste Cloud 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.
  2. 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 Senken 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 und höher verwenden, können Sie clientseitige Messwerte deaktivieren.

BigtableDataSettings settings = BigtableDataSettings.newBuilder()
        .setProjectId("my-project")
        .setInstanceId("my-instance")
        .setMetricsProvider(NoopMetricsProvider.INSTANCE)
        .build();

Cloud Bigtable-HBase-Client für Java einrichten und verwenden

Führen Sie diese Schritte aus, wenn Sie den Cloud 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

  1. Neuesten Cloud Bigtable-HBase-Client für Java herunterladen und installieren Zum Aktivieren clientseitiger Messwerte müssen Sie Version 2.6.4 oder höher verwenden.

  2. Erstellen Sie ein leeres Maven-Projekt.

  3. Ermitteln Sie die Artefaktabhängigkeit, die für Ihren Anwendungsfall geeignet ist. Die 2.x-Versionen enthalten einen asynchronen HBase-Client, den die 1.x-Versionen nicht haben.

    • bigtable-hbase-1.x oder bigtable-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 oder bigtable-hbase-2.x-hadoop: Verwendung in Hadoop-Umgebungen.
    • bigtable-hbase-1.x-shaded oder bigtable-hbase-2.x-shaded: Verwendung in anderen Umgebungen als Hadoop, für die ältere Versionen von Komponenten wie protobufs oder Guava erforderlich sind.
  4. 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 als bigtable-hbase-1.x oder bigtable-hbase-2.x-hadoop.
    • VERSION_NUMBER: Die von Ihnen verwendete Version der Clientbibliothek, formatiert wie 2.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

Ab Version 2.14.1 sind clientseitige Messwerte standardmäßig aktiviert. Sie können die 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);

Messwerte in Metrics Explorer aufrufen

  1. Rufen Sie in der Google Cloud Console die Seite Metrics Explorer auf.

    Zum Metrics Explorer

  2. Wählen Sie das Projekt aus.

  3. Klicken Sie auf Messwert auswählen.

  4. Suchen Sie nach bigtable.googleapis.com/client.

  5. 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.

Nachdem Sie clientseitige Messwerte aktiviert haben, lassen Sie Ihre Anwendung mindestens eine Minute lang laufen, bevor Sie nach veröffentlichten Messwerten suchen.

Nächste Schritte