Configurar métricas do lado do cliente

Nesta página, descrevemos como instalar, configurar e usar métricas do lado do cliente do Bigtable.

Para ativar e visualizar métricas do lado do cliente, use a biblioteca de cliente do Cloud Bigtable para Java, que chama as APIs de serviço do Cloud Bigtable, ou o cliente HBase do Cloud Bigtable para Java, que usa a API HBase de código aberto.

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.

Antes de começar

Opcional: se você usar uma integração de Estatísticas do OpenCensus para receber métricas do Bigtable, reverta a dependência e as mudanças de StackdriverStatsExporter no aplicativo. Para entender o motivo, consulte Quando fazer upgrade.

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

Para adicionar permissões do IAM à conta de serviço, faça o seguinte:

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

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 e usar a biblioteca de cliente do Cloud Bigtable para Java

Siga estas etapas se você usar a biblioteca de cliente do Cloud Bigtable para Java, que chama as APIs Cloud Bigtable.

Instalar e configurar a biblioteca de cliente para Java

  1. Faça o download e instale a biblioteca de cliente do Cloud 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 coletores 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 métricas do lado do cliente

Se você estiver usando a versão 2.38.0 e posterior, será possível desativar o uso de métricas do lado do cliente.

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

Configurar e usar o cliente HBase do Cloud Bigtable para Java

Siga estas etapas se você usar o cliente HBase do Cloud 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 o cliente HBase do Cloud Bigtable para Java mais recente. 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 mais antigas 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 métricas do lado do cliente

Se você estiver usando a versão 2.14.1 ou posterior, as métricas do lado do cliente estarão ativadas por padrão. É possível 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);

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