Configurer des métriques côté client

Cette page explique comment installer, configurer et utiliser des métriques côté client Bigtable.

Pour activer et afficher les métriques côté client, vous devez utiliser la bibliothèque cliente Cloud Bigtable pour Java, qui appelle les API de service Cloud Bigtable, ou le client Cloud Bigtable HBase pour Java, qui utilise l'API HBase Open Source.

Pour en savoir plus, consultez la page Présentation des métriques côté client. Pour obtenir une liste détaillée des métriques, consultez la page Descriptions des métriques côté client.

Avant de commencer

Facultatif: Si vous utilisez actuellement une intégration OpenCensus Stats pour obtenir des métriques Bigtable, annulez la dépendance et les modifications StackdriverStatsExporter dans votre application. Pour en comprendre la raison, consultez Quand effectuer la mise à niveau.

Ajouter ou confirmer des autorisations de compte de service

Pour ajouter des autorisations IAM au compte de service, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page IAM.

    Accéder à IAM

  2. Sélectionnez le projet dans lequel vous avez créé le cluster Bigtable.

  3. Recherchez le compte de service auquel vous souhaitez ajouter l'autorisation.

  4. Cliquez sur Modifier le compte principal.

  5. Cliquez sur Ajouter un autre rôle.

  6. Recherchez "monitoring metric writer", puis sélectionnez le résultat.

  7. Cliquez sur Enregistrer.

Activer l'API Cloud Monitoring.

  1. Dans la console Google Cloud, accédez à la page API et services.

    Accéder aux API et services

  2. Sélectionnez le projet dans lequel vous avez créé le cluster Bigtable.

  3. Cliquez sur Activer les API et les services.

  4. Recherchez "Monitoring".

  5. Dans les résultats de recherche, cliquez sur "API Cloud Monitoring".

  6. Si "API activée" s'affiche, cela signifie que l'API est déjà activée. Sinon, cliquez sur Activer.

Configurer et utiliser la bibliothèque cliente Cloud Bigtable pour Java

Suivez ces étapes si vous utilisez la bibliothèque cliente Cloud Bigtable pour Java, qui appelle les API Cloud Bigtable.

Installer et configurer la bibliothèque cliente pour Java

  1. Téléchargez et installez la dernière bibliothèque cliente Cloud Bigtable pour Java. Vous devez disposer de la version 2.16.0 ou d'une version ultérieure pour utiliser des métriques côté client.
  2. Mettez à jour le fichier pom.xml de la bibliothèque cliente Java pour utiliser la dernière version. Votre pom doit se présenter comme suit:

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

Activer les métriques côté client dans votre application

Lorsque vous créez un client à l'aide de la bibliothèque cliente, activez les métriques intégrées. Votre code doit ressembler à ce qui suit :

  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
  }

Configurer une instance OpenTelemetry personnalisée

Si vous utilisez la version 2.38.0 ou une version ultérieure, et que vous souhaitez publier des métriques côté client dans Cloud Monitoring et des récepteurs personnalisés, vous pouvez configurer une instance OpenTelemetry personnalisée.

  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
  }

Facultatif: désactiver les métriques côté client

Si vous utilisez la version 2.38.0 ou une version ultérieure, vous pouvez désactiver les métriques côté client.

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

Configurer et utiliser le client Cloud Bigtable HBase pour Java

Suivez ces étapes si vous utilisez le client Cloud Bigtable HBase pour Java, qui appelle l'API HBase, pour connecter votre application à Bigtable.

Installer et configurer la bibliothèque cliente HBase pour Java

  1. Téléchargez et installez la dernière version du client Cloud Bigtable HBase pour Java. Pour activer les métriques côté client, vous devez utiliser la version 2.6.4 ou ultérieure.

  2. Créez un projet Maven vide.

  3. Déterminez la dépendance à l'artefact qui convient à votre cas d'utilisation. Les versions 2.x incluent un client asynchrone HBase que les versions 1.x n'ont pas.

    • bigtable-hbase-1.x ou bigtable-hbase-2.x : à utiliser pour les applications autonomes à partir desquelles vous contrôlez les dépendances.
    • bigtable-hbase-1.x-hadoop ou bigtable-hbase-2.x-hadoop : à utiliser dans les environnements Hadoop.
    • bigtable-hbase-1.x-shaded ou bigtable-hbase-2.x-shaded : à utiliser dans des environnements autres que Hadoop nécessitant des versions plus anciennes de composants tels que protobufs ou Guava.
  4. Mettez à jour le fichier pom.xml :

    <dependencyManagement>
        <dependencies>
            <dependency>
                  <groupId>com.google.cloud.bigtable</groupId>
                  <artifactId>BIGTABLE_HBASE_ARTIFACT</artifactId>
                  <version>VERSION_NUMBER</version>
              </dependency>
        </dependencies>
    </dependencyManagement>
    

    Indiquez les éléments suivants :

    • BIGTABLE_HBASE_ARTIFACT : dépendance d'artefact pour votre projet, au format bigtable-hbase-1.x ou bigtable-hbase-2.x-hadoop
    • VERSION_NUMBER : version de la bibliothèque cliente que vous utilisez, au format 2.6.4

Activer les métriques côté client dans votre application

Utiliser bigtable-hbase-1.x ou bigtable-hbase-2.x

Lorsque vous créez une connexion à l'aide de la bibliothèque cliente HBase et des artefacts bigtable-hbase-1.x ou bigtable-hbase-2.x, votre code permettant d'activer les métriques intégrées côté client se présente comme suit :

  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();

Utiliser des artefacts -hadoop ou -shaded

Lorsque vous créez une connexion à l'aide de la bibliothèque cliente HBase et de l'un des artefacts -hadoop ou -shaded, votre code permettant d'activer les métriques intégrées côté client se présente comme suit :

  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();

Facultatif: désactiver les métriques côté client

Si vous utilisez la version 2.14.1 ou une version ultérieure, les métriques côté client sont activées par défaut. Vous pouvez désactiver cette fonctionnalité.

Configuration configuration = BigtableConfiguration.configure("my-project-id", "my-instance-id");
configuration.setBoolean(BigtableOptionsFactory.BIGTABLE_ENABLE_CLIENT_SIDE_METRICS, false);
Connection connection = new BigtableConnection(configuration);

Afficher les métriques dans l'Explorateur de métriques

  1. Dans la console Google Cloud, accédez à la page Explorateur de métriques.

    Accéder à l'explorateur de métriques

  2. Sélectionnez le projet.

  3. Cliquez sur Sélectionner une métrique.

  4. Recherchez bigtable.googleapis.com/client.

  5. Sélectionnez une métrique, une méthode group by et un état, puis choisissez un agrégateur. Pour découvrir plus d'options, consultez la section Sélectionner des métriques lors de l'utilisation de l'explorateur de métriques.

Une fois les métriques côté client activées, laissez votre application s'exécuter pendant au moins une minute avant de rechercher des métriques publiées.

Étapes suivantes