Configura métricas del cliente

En esta página, se describe cómo instalar, configurar y usar las métricas del cliente de Bigtable.

Para habilitar y ver las métricas del cliente, debes usar el Cloud Bigtable para Java, que llama a las APIs del servicio de Cloud Bigtable, o Cliente de HBase de Cloud Bigtable para Java, que usa la plataforma de código API de HBase.

Para obtener una descripción general, consulta Descripción general de las métricas del cliente. Para obtener una lista detallada de las métricas, consulta Descripciones de las métricas del cliente.

Antes de comenzar

Opcional: Si actualmente usas un Estadísticas de OpenCensus para obtener métricas de Bigtable, revertir la dependencia y StackdriverStatsExporter cambios en tu aplicación. Para entender por qué, consulta Cuándo hacer la actualización.

Agrega o confirma los permisos de la cuenta de servicio

Para agregar permisos de IAM a la cuenta de servicio, completa los siguientes pasos:

  1. En la consola de Google Cloud, ve a la página IAM.

    Ir a IAM

  2. Selecciona el proyecto en el que creaste el clúster de Bigtable.

  3. Busca la cuenta de servicio a la que quieres agregar el permiso.

  4. Haz clic en Editar principal.

  5. Haz clic en Agregar otro rol.

  6. Busca "escritor de métricas de supervisión" y selecciona el resultado.

  7. Haz clic en Guardar.

Habilita la API de Cloud Monitoring

  1. En la consola de Google Cloud, ve a la página API y servicios.

    Ir hasta APIs y Servicios

  2. Selecciona el proyecto en el que creaste el clúster de Bigtable.

  3. Haz clic en Habilitar APIs y servicios.

  4. Busca “Monitoring”.

  5. En los resultados de la búsqueda, haz clic en "API de Monitoring" de Stackdriver.

  6. Si se muestra "API habilitada", significa que la API ya está habilitada. De lo contrario, haz clic en Habilitar.

Configura y usa la biblioteca cliente de Cloud Bigtable para Java

Sigue estos pasos si usas Cloud Bigtable para Java, que llama a las APIs de Cloud Bigtable.

Instala y configura la biblioteca cliente para Java

  1. Descarga e instala la biblioteca cliente de Cloud Bigtable más reciente para Java Debes tener la versión 2.16.0 o superior para usar las métricas del cliente.
  2. Actualiza el archivo pom.xml de la biblioteca cliente de Java para usar la versión más reciente. El pom debería ser similar al siguiente:

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

Habilita las métricas del cliente en tu aplicación

Cuando crees un cliente usando la biblioteca cliente, habilita el módulo métricas. El código debería ser similar al siguiente:

  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
  }

Configura una instancia personalizada de OpenTelemetry

Si usas la versión 2.38.0 o una posterior y deseas publicar métricas del cliente en Cloud Monitoring y los receptores personalizados, puedes configurar una instancia personalizada de OpenTelemetry.

  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
  }

Opcional: Inhabilita las métricas del cliente

Si usas la versión 2.38.0 o una posterior, puedes inhabilitar la métricas del cliente.

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

Configura y usa el cliente de HBase de Cloud Bigtable para Java

Sigue estos pasos si usas el cliente de HBase de Cloud Bigtable para Java, que llama a la API de HBase para conectar tu aplicación a Bigtable.

Instala y configura la biblioteca cliente de HBase para Java

  1. Descarga e instala el cliente de HBase de Cloud Bigtable más reciente para Java Para habilitar las métricas del cliente, debes usar la versión 2.6.4 o posterior.

  2. Crea un proyecto de Maven vacío.

  3. Determina la dependencia de artefactos adecuada para tu caso de uso. El 2.x incluyen un cliente asíncrono de HBase que las versiones de 1.x no tienen.

    • bigtable-hbase-1.x o bigtable-hbase-2.x: Se usa para contenido independiente. aplicaciones en las que tienes el control de tus dependencias.
    • bigtable-hbase-1.x-hadoop o bigtable-hbase-2.x-hadoop: Se usa en Hadoop. entornos de prueba.
    • bigtable-hbase-1.x-shaded o bigtable-hbase-2.x-shaded: Se usan en entornos. además de Hadoop, que requieren versiones anteriores de componentes, como protobufs o Guava.
  4. Actualiza el archivo pom.xml:

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

    Proporcione lo siguiente:

    • BIGTABLE_HBASE_ARTIFACT: Es la dependencia del artefacto para tu proyecto, con el formato bigtable-hbase-1.x o bigtable-hbase-2.x-hadoop.
    • VERSION_NUMBER: Es la versión de la biblioteca cliente que deseas. utilizando, con el formato 2.6.4

Habilita las métricas del cliente en tu aplicación

Usa bigtable-hbase-1.x o bigtable-hbase-2.x

Cuando creas una conexión con la biblioteca cliente de HBase y Artefactos de bigtable-hbase-1.x o bigtable-hbase-2.x, el código para habilitar las métricas integradas del cliente son similares a la siguiente:

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

Usa artefactos -hadoop o -shaded

Cuando creas una conexión con la biblioteca cliente de HBase y una de las Artefactos de -hadoop o -shaded, tu código para habilitar las aplicaciones integradas del cliente las métricas tienen un aspecto similar al siguiente:

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

Opcional: Inhabilita las métricas del cliente

Si usas la versión 2.14.1 o una posterior, las métricas del cliente estarán habilitadas de forma predeterminada. Puedes inhabilitar esta opción.

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

Visualiza métricas en el Explorador de métricas

  1. En la consola de Google Cloud, ve a la página Explorador de métricas.

    Ir al Explorador de métricas

  2. Selecciona el proyecto.

  3. Haz clic en Elige una métrica.

  4. Busca bigtable.googleapis.com/client.

  5. Selecciona una métrica, un método group by y un estado, y elige un Agregador. Para explorar más opciones, consulta Selecciona métricas cuando uses el Explorador de métricas.

Después de habilitar las métricas del cliente, permite que tu aplicación se ejecute durante al menos un minuto antes de comprobar si hay métricas publicadas.

¿Qué sigue?