Configurer des métriques côté client

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

Les métriques côté client sont disponibles pour les utilisateurs des bibliothèques clientes suivantes :

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.

Ajouter ou confirmer les autorisations du 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 "Rédacteur de statistiques de surveillance", 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, l'API est déjà activée. Sinon, cliquez sur Activer.

Configurer votre bibliothèque cliente Bigtable

Après avoir activé l'API Cloud Monitoring, configurez votre bibliothèque cliente Bigtable.

C++

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

Installer et configurer la bibliothèque cliente pour C++

Intégrez la bibliothèque à l'aide de systèmes de compilation C++ courants, tels que CMake ou Bazel. Pour en savoir plus, consultez Compiler et installer.

Pour que la bibliothèque cliente Bigtable collecte les métriques côté client, votre projet doit inclure des dépendances pour OpenTelemetry et Cloud Monitoring. OpenTelemetry fournit le framework permettant à la bibliothèque cliente de créer, d'instrumenter et d'enregistrer les métriques, tandis que la bibliothèque Cloud Monitoring fournit la fonctionnalité permettant d'exporter ou de publier ces métriques dans Cloud Monitoring.

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

Les métriques côté client sont activées par défaut dans la bibliothèque cliente Bigtable pour C++ à partir de la version 2.40.0.

Les métriques sont collectées automatiquement si les dépendances OpenTelemetry et Cloud Monitoring sont disponibles dans votre projet. Ces métriques n'entraînent aucuns frais supplémentaires.

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

Vous pouvez désactiver l'utilisation des métriques côté client en définissant EnableMetricsOption sur false lorsque vous créez votre connexion de données.

auto options = Options{}.set<EnableMetricsOption>(false);
TableResource resource("my-project", "my-instance", "my-table");
Table table(MakeDataConnection(std::move(options)), std::move(resource));

Go

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

Installer et configurer la bibliothèque cliente pour Go

Mettez à jour la bibliothèque cliente Bigtable pour Go vers la version 1.27.0 ou ultérieure. Votre fichier go.mod doit ressembler à ceci :

require (
  cloud.google.com/go/bigtable v1.27.2-0.20240725222120-ce31365acc54

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

Les métriques côté client sont activées par défaut dans la bibliothèque cliente Go. Pour désactiver cette fonctionnalité, transmettez NoopMetricsProvider dans ClientConfig :

client, err := bigtable.NewClientWithConfig(ctx, project, instance,
bigtable.ClientConfig{MetricsProvider: bigtable.NoopMetricsProvider{},
})

HBase

Suivez ces étapes si vous utilisez le client 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 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 ultérieure, les métriques côté client sont activées par défaut. Vous pouvez désactiver cette option.

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

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

Avant de commencer

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

Installer et configurer la bibliothèque cliente pour Java

  1. Téléchargez et installez la dernière bibliothèque cliente 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 fichier pom doit ressembler à ce qui 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 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 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();

Node.js

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

Installer et configurer la bibliothèque cliente pour Node.js

  1. Téléchargez et installez la dernière bibliothèque cliente Bigtable pour Node.js.

    Vous devez disposer de la version 6.2.0 ou d'une version ultérieure pour utiliser des métriques côté client. Votre fichier package.json doit ressembler à ce qui suit :

    {
      "dependencies": {
        "@google-cloud/bigtable": "^6.2.0"
      }
    }
    
  2. Dans votre projet, réinstallez les modules Node.js :

    rm -rf node_modules
    rm package-lock.json
    npm i
    

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

Les métriques côté client sont activées par défaut dans la bibliothèque cliente Bigtable pour Node.js à partir de la version 6.4.0.

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

Vous pouvez désactiver l'utilisation des métriques côté client.

const bigtable = new Bigtable({metricsEnabled: false});

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 à "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.

Afficher les métriques dans la surveillance Bigtable

Les graphiques des métriques côté client suivantes s'affichent sur la page de surveillance Bigtable :

  • Latence de lecture côté client
  • Latence d'écriture côté client
  • Latence des tentatives de lecture côté client
  • Latence des tentatives d'écriture côté client

Pour afficher les métriques côté client sur la page Surveillance, procédez comme suit :

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud .

    Ouvrir la liste des instances

  2. Cliquez sur l'instance dont vous souhaitez consulter les métriques.

  3. Dans le volet de gauche, cliquez sur Surveillance. La console Google Cloud affiche une série de graphiques pour l'instance.

  4. Faites défiler le volet pour afficher les métriques côté client.

  5. Facultatif : Pour afficher les métriques au niveau du tableau, cliquez sur Tableaux.

  6. Facultatif : Pour afficher les métriques de profils d'application spécifiques, cliquez sur Profils d'application.

Pour en savoir plus, consultez Surveillance de Bigtable.

Étapes suivantes