Configura métricas del cliente

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

Las métricas del cliente están disponibles para los usuarios de las siguientes bibliotecas cliente:

Para obtener una descripción general, consulta la 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.

Agrega o confirma permisos de la cuenta de servicio

Para agregar permisos de IAM a la cuenta de servicio, completa lo siguiente:

  1. En la Google Cloud consola de, dirígete 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 deseas agregar el permiso.

  4. Haz clic en Editar principal.

  5. Haz clic en Agregar otro rol.

  6. Busca "escritor de métricas de Monitoring" y selecciona el resultado.

  7. Haz clic en Guardar.

Habilita la API de Cloud Monitoring

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

    Ir a 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 Cloud Monitoring.

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

Configura tu biblioteca cliente de Bigtable

Después de habilitar la API de Cloud Monitoring, configura tu biblioteca cliente de Bigtable.

C++

Sigue estos pasos si usas la biblioteca cliente de Bigtable para C++, que llama a las APIs de Bigtable.

Instala y configura la biblioteca cliente para C++

Integra la biblioteca con sistemas de compilación comunes de C++, como CMake o Bazel. Para obtener más información, consulta Compilación e instalación.

Para que la biblioteca cliente de Bigtable recopile las métricas del cliente, tu proyecto debe incluir dependencias de OpenTelemetry y Cloud Monitoring. OpenTelemetry proporciona el framework para que la biblioteca cliente cree, instrumente y registre las métricas, mientras que la biblioteca de Cloud Monitoring proporciona la funcionalidad para exportar o publicar estas métricas en Cloud Monitoring.

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

Las métricas del cliente están habilitadas de forma predeterminada en la biblioteca cliente de Bigtable para C++ a partir de la versión 2.40.0.

Las métricas se recopilan automáticamente si las dependencias de OpenTelemetry y Cloud Monitoring están disponibles en tu proyecto. No hay cargos adicionales por estas métricas.

Opcional: Inhabilita las métricas del cliente

Puedes inhabilitar el uso de métricas del cliente si configuras EnableMetricsOption en false cuando creas tu conexión de datos.

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

Go

Sigue estos pasos si usas la biblioteca cliente de Bigtable para Go, que llama a las APIs de Bigtable.

Instala y configura la biblioteca cliente para Go

Actualiza la biblioteca cliente de Bigtable para Go a la versión 1.27.0 o posterior. Tu go.mod debería verse de la siguiente manera:

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

Opcional: Inhabilita las métricas del cliente

Las métricas del cliente están habilitadas de forma predeterminada en la biblioteca cliente de Go. Para inhabilitarlas, pasa NoopMetricsProvider en ClientConfig:

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

HBase

Sigue estos pasos si usas el cliente de HBase de 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 Bigtable para Java más reciente. 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 artefacto adecuada para tu caso de uso. Las versiones 2.x incluyen un cliente asíncrono de HBase que no tienen las versiones 1.x.

    • bigtable-hbase-1.x o bigtable-hbase-2.x: Se usa para aplicaciones independientes en las que controlas tus dependencias.
    • bigtable-hbase-1.x-hadoop o bigtable-hbase-2.x-hadoop: Se usa en entornos de Hadoop.
    • bigtable-hbase-1.x-shaded o bigtable-hbase-2.x-shaded: Se usa en entornos que no sean de Hadoop y que requieran 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: La dependencia de artefacto de tu proyecto, con el formato bigtable-hbase-1.x o bigtable-hbase-2.x-hadoop.
    • VERSION_NUMBER: La versión de la biblioteca cliente que usas, 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 los artefactos bigtable-hbase-1.x o bigtable-hbase-2.x, tu código para habilitar las métricas del cliente integradas se ve de la siguiente manera:

  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 uno de los artefactos -hadoop o -shaded, tu código para habilitar las métricas del cliente integradas se ve de la siguiente manera:

  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 posterior, las métricas del cliente están habilitadas de forma predeterminada. Puedes inhabilitarlas.

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

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

Antes de comenzar

Opcional: Si usas una integración de estadísticas de OpenCensus Stats para obtener métricas de Bigtable, revierte los cambios de dependencia y StackdriverStatsExporter en tu aplicación. Para comprender por qué, consulta Cuándo actualizar.

Instala y configura la biblioteca cliente para Java

  1. Descarga e instala la biblioteca cliente de Bigtable para Java más reciente. Debes tener la versión 2.16.0 o posterior 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. Tu pom debería verse de la siguiente manera:

    <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 creas un cliente con la biblioteca cliente, habilita las métricas integradas. Tu código debería verse de la siguiente manera:

  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 posterior y deseas publicar métricas del cliente en Cloud Monitoring y 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 posterior, puedes inhabilitar el uso de métricas del cliente.

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

Node.js

Sigue estos pasos si usas la biblioteca cliente de Bigtable para Node.js, que llama a las APIs de Bigtable.

Instala y configura la biblioteca cliente para Node.js

  1. Descarga e instala la biblioteca cliente de Bigtable para Node.js más reciente.

    Debes tener la versión 6.2.0 o posterior para usar las métricas del cliente. Tu archivo package.json debería verse de la siguiente manera:

    {
      "dependencies": {
        "@google-cloud/bigtable": "^6.2.0"
      }
    }
    
  2. En tu proyecto, vuelve a instalar los módulos de Node.js:

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

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

Las métricas del cliente están habilitadas de forma predeterminada en la biblioteca cliente de Bigtable para Node.js a partir de la versión 6.4.0.

Opcional: Inhabilita las métricas del cliente

Puedes inhabilitar el uso de métricas del cliente.

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

Visualiza métricas en el Explorador de métricas

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

    Ir al Explorador de métricas

  2. Selecciona el proyecto.

  3. Haz clic en Selecciona 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, deja que tu aplicación se ejecute durante al menos un minuto antes de verificar si hay métricas publicadas.

Visualiza métricas en la supervisión de Bigtable

Los gráficos de las siguientes métricas del cliente se muestran en la página de supervisión de Bigtable:

  • Latencia de lectura del cliente
  • Latencia de escritura del cliente
  • Latencia del intento de lectura del cliente
  • Latencia del intento de escritura del cliente

Para ver las métricas del cliente en la página Supervisión, sigue estos pasos:

  1. Abre la lista de instancias de Bigtable en la Google Cloud consola de.

    Abrir la lista de instancias

  2. Haz clic en la instancia cuyas métricas quieres ver.

  3. En el panel de la izquierda, haz clic en Supervisión. La Google Cloud consola de muestra una serie de gráficos para la instancia.

  4. Desplázate por el panel para ver las métricas del cliente.

  5. Opcional: Para ver las métricas a nivel de tabla, haz clic en Tablas.

  6. Opcional: Para ver las métricas de los perfiles de apps individuales, haz clic en Perfiles de aplicación.

Para obtener más información, consulta Supervisión de Bigtable.

¿Qué sigue?