Configurar métricas do cliente

Esta página descreve como instalar, configurar e usar o Bigtable do lado do cliente métricas.

As métricas do lado do cliente estão disponíveis para usuários das bibliotecas de cliente a seguir:

Para uma visão geral, consulte a visão geral das métricas do lado do cliente. Para ver uma lista detalhada das métricas, consulte Descrições de métricas do lado do cliente.

Adicionar ou confirmar permissões da conta de serviço

Para adicionar permissões do IAM à conta de serviço, siga estas etapas:

  1. No console do Google Cloud, abra a página IAM.

    Acessar o IAM

  2. Selecione o projeto em que você criou o cluster do Bigtable.

  3. Procure a conta de serviço em que você quer adicionar a permissão.

  4. Clique em Editar principal.

  5. Clique em Adicionar outro papel.

  6. Pesquise por "gravador de métricas de monitoramento" e selecione o resultado.

  7. Clique em Save.

Ative a API Cloud Monitoring.

  1. No Console do Google Cloud, acesse a página APIs e serviços.

    Acesse APIs e serviços

  2. Selecione o projeto em que você criou o cluster do Bigtable.

  3. Clique em Ativar APIs e serviços.

  4. Pesquise "Monitoring".

  5. Nos resultados da pesquisa, clique em "API Stackdriver Monitoring".

  6. Se for exibido "API ativada", a API já está ativada. Caso contrário, clique em Ativar.

Configurar a biblioteca de cliente do Bigtable

Depois de ativar a API Cloud Monitoring, configure a biblioteca de cliente do Bigtable.

Go

Siga estas etapas se você usa o Bigtable para Go, que chama as APIs do Bigtable.

Instalar e configurar a biblioteca de cliente para Go

Atualização da biblioteca de cliente do Bigtable para Go para a versão 1.27.0 ou mais tarde. O go.mod vai ser semelhante a este:

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

Opcional: desativar as métricas do lado do cliente

As métricas do lado do cliente são ativadas por padrão na biblioteca de cliente do Go. Para desativar o recurso, transmita NoopMetricsProvider no ClientConfig:

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

HBase

Siga estas etapas se você usa o cliente HBase do Bigtable para Java, que chama a API HBase, para conectar o aplicativo ao Bigtable.

Instalar e configurar a biblioteca de cliente do HBase para Java

  1. Faça o download e instale a versão mais recente do cliente HBase do Bigtable para Java. Para ativar as métricas do lado do cliente, use a versão 2.6.4 ou mais recente.

  2. Crie um projeto do Maven vazio.

  3. Determine a dependência de artefato ideal para seu caso de uso. As versões 2.x contêm um cliente HBase assíncrono que as versões 1.x não têm.

    • bigtable-hbase-1.x ou bigtable-hbase-2.x: use para aplicativos independentes em que você controla as dependências.
    • bigtable-hbase-1.x-hadoop ou bigtable-hbase-2.x-hadoop: use em ambientes Hadoop.
    • bigtable-hbase-1.x-shaded ou bigtable-hbase-2.x-shaded: use em ambientes diferentes do Hadoop que exigem versões anteriores de componentes, como protobufs ou Guava.
  4. Atualize o arquivo pom.xml:

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

    Preencha o seguinte:

    • BIGTABLE_HBASE_ARTIFACT: a dependência de artefato do projeto, formatada em bigtable-hbase-1.x ou bigtable-hbase-2.x-hadoop.
    • VERSION_NUMBER: a versão da biblioteca de cliente que você está usando, formatada em 2.6.4.

Ativar métricas do lado do cliente no seu aplicativo

Como usar bigtable-hbase-1.x ou bigtable-hbase-2.x

Quando você cria uma conexão usando a biblioteca de cliente HBase e os artefatos bigtable-hbase-1.x ou bigtable-hbase-2.x, o código para ativar as métricas integradas do lado do cliente é semelhante a este:

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

Como usar artefatos -hadoop ou -shaded

Quando você cria uma conexão usando a biblioteca de cliente HBase e um dos artefatos -hadoop ou -shaded, o código para ativar as métricas integradas do lado do cliente é semelhante a este:

  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: desativar as métricas do lado do cliente

Se você estiver usando a versão 2.14.1 ou mais recente, as métricas do lado do cliente serão ativadas por padrão. Você pode desativar essa opção.

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

Siga estas etapas se você usa o Bigtable biblioteca de cliente para Java que chama as APIs do Bigtable.

Antes de começar

Opcional: se você usar um comando OpenCensus Estatísticas para acessar as métricas do Bigtable, reverter a dependência e StackdriverStatsExporter mudanças no aplicativo. Para entender o motivo, consulte Quando fazer upgrade.

Instalar e configurar a biblioteca de cliente para Java

  1. Faça o download e instale a biblioteca de cliente do Bigtable para Java mais recente. Você precisa ter a versão 2.16.0 ou posterior para usar métricas do lado do cliente.
  2. Atualize o arquivo pom.xml da biblioteca de cliente do Java para usar a versão mais recente. Seu pom deve ser semelhante a este:

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

Ativar métricas do lado do cliente no seu aplicativo

Ao criar um cliente com a biblioteca de cliente, ative as métricas integradas. O código vai ser semelhante a este:

  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
  }

Configurar uma instância personalizada do OpenTelemetry

Se você estiver usando a versão 2.38.0 ou mais recente e quiser publicar métricas do lado do cliente no Cloud Monitoring e em destinos personalizados, configure uma instância personalizada do 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: desativar as métricas do lado do cliente

Se você estiver usando a versão 2.38.0 ou mais recente, poderá desativar o uso de métricas do lado do cliente.

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

Visualizar métricas no Metrics Explorer

  1. No Console do Google Cloud, acesse a página do Metrics Explorer.

    Acesse o Metrics Explorer

  2. Selecione o projeto.

  3. Clique em Selecionar uma métrica.

  4. Pesquise bigtable.googleapis.com/client.

  5. Selecione uma métrica, um método group by e um status e escolha um Agregador. Para conhecer outras opções, consulte Selecionar métricas ao usar o Metrics Explorer.

Depois de ativar as métricas do lado do cliente, deixe o aplicativo ser executado por pelo menos um minuto antes de verificar se há métricas publicadas.

A seguir