Configurar métricas do cliente

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

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, faça o seguinte:

  1. No console do Google Cloud , acesse 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.

Ativar a API Cloud Monitoring.

  1. No console 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. Pesquisar por Monitoring.

  5. Nos resultados da pesquisa, clique em API Cloud Monitoring.

  6. Se a mensagem API ativada for exibida, quer dizer que 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.

C++

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

Instalar e configurar a biblioteca de cliente para C++

Integre a biblioteca usando sistemas de build comuns em C++, como CMake ou Bazel. Para mais informações, consulte Como criar e instalar.

Para que a biblioteca de cliente do Bigtable colete as métricas do lado do cliente, seu projeto precisa incluir dependências do OpenTelemetry e do Cloud Monitoring. O OpenTelemetry fornece a estrutura para a biblioteca de cliente criar, instrumentar e registrar as métricas, enquanto a biblioteca do Cloud Monitoring oferece a funcionalidade para exportar ou publicar essas métricas no Cloud Monitoring.

Ativar métricas do lado do cliente no seu aplicativo

As métricas do lado do cliente são ativadas por padrão na biblioteca de cliente do Bigtable para C++ a partir da versão 2.40.0.

As métricas são coletadas automaticamente se as dependências do OpenTelemetry e do Cloud Monitoring estiverem disponíveis no seu projeto. Não há cobrança adicional por essas métricas.

Opcional: desativar as métricas do lado do cliente

Para desativar o uso de métricas do lado do cliente, defina EnableMetricsOption como false ao criar sua conexão de dados.

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

Go

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

Instalar e configurar a biblioteca de cliente para Go

Atualize a biblioteca de cliente do Bigtable para Go para a versão 1.27.0 ou mais recente. Seu go.mod precisa 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 recusar, transmita NoopMetricsProvider na ClientConfig:

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

HBase

Siga estas etapas se você usar 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 o cliente HBase do 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 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 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);

Java

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

Antes de começar

Opcional: se você usa 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.

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

Node.js

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

Instalar e configurar a biblioteca de cliente para Node.js

  1. Faça o download e instale a biblioteca de cliente do Bigtable para Node.js mais recente.

    Você precisa ter a versão 6.2.0 ou posterior para usar métricas do lado do cliente. O arquivo package.json será semelhante a este:

    {
      "dependencies": {
        "@google-cloud/bigtable": "^6.2.0"
      }
    }
    
  2. No seu projeto, reinstale os módulos do Node.js:

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

Ativar métricas do lado do cliente no seu aplicativo

As métricas do lado do cliente são ativadas por padrão na biblioteca de cliente do Bigtable para Node.js a partir da versão 6.4.0.

Opcional: desativar as métricas do lado do cliente

É possível desativar o uso de métricas do lado do cliente.

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

Visualizar métricas no Metrics Explorer

  1. No console do Google Cloud , acesse a página 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.

Ver métricas no monitoramento do Bigtable

Os gráficos das seguintes métricas do lado do cliente são mostrados na página de monitoramento do Bigtable:

  • Latência de leitura do lado do cliente
  • Latência de gravação do lado do cliente
  • Latência de tentativa de leitura do lado do cliente
  • Latência de tentativa de gravação do lado do cliente

Para conferir as métricas do lado do cliente na página Monitoring, siga estas etapas:

  1. Abra a lista de instâncias do Bigtable no console Google Cloud .

    Abrir a lista de instâncias

  2. Clique na instância com as métricas que você quer exibir.

  3. No painel esquerdo, clique em Monitoramento. O console Google Cloud mostra uma série de gráficos para a instância.

  4. Role o painel para ver as métricas do lado do cliente.

  5. Opcional: para visualizar métricas no nível da tabela, clique em Tabelas.

  6. Opcional: para visualizar métricas de perfis de aplicativo individuais, clique em Perfis de aplicativo.

Para mais informações, consulte Monitoramento do Bigtable.

A seguir