Configure métricas do lado do cliente

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

As métricas do lado do cliente estão disponíveis para os utilizadores das seguintes bibliotecas de cliente:

Para uma vista geral, consulte o artigo Vista geral das métricas do lado do cliente. Para uma lista detalhada das métricas, consulte o artigo Descrições das métricas por parte do cliente.

Adicione ou confirme autorizações de contas de serviço

Para adicionar autorizações da IAM à conta de serviço, conclua o seguinte:

  1. Na Google Cloud consola, aceda à página IAM.

    Aceder ao IAM

  2. Selecione o projeto onde criou o cluster do Bigtable.

  3. Pesquise a conta de serviço à qual quer adicionar a autorização.

  4. Clique em Editar principal.

  5. Clique em Adicionar outra função.

  6. Pesquise "monitoring metric writer" e selecione o resultado.

  7. Clique em Guardar.

Ative a API Cloud Monitoring

  1. Na Google Cloud consola, aceda à página APIs e serviços.

    Aceda a APIs e serviços

  2. Selecione o projeto onde criou o cluster do Bigtable.

  3. Clique em Ativar APIs e serviços.

  4. Pesquise Monitoring.

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

  6. Se for apresentada a mensagem API ativada, significa que a API já está ativada. Caso contrário, clique em Ativar.

Configure a biblioteca de cliente do Bigtable

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

C++

Siga estes passos se usar a biblioteca de cliente do Bigtable para C++, que chama as APIs Bigtable.

Instale e configure a biblioteca cliente para C++

Integrar a biblioteca através de sistemas de compilação C++ comuns, como o CMake ou o Bazel. Para mais informações, consulte o artigo Criar e instalar.

Para que a biblioteca de cliente do Bigtable recolha as métricas do lado do cliente, o seu projeto tem de incluir dependências do OpenTelemetry e do Cloud Monitoring. O OpenTelemetry fornece a estrutura para a biblioteca do cliente criar, instrumentar e registar as métricas, enquanto a biblioteca do Cloud Monitoring fornece a funcionalidade para, em seguida, exportar ou publicar estas métricas no Cloud Monitoring.

Ative as métricas do lado do cliente na sua aplicação

As métricas por parte do cliente estão ativadas por predefinição na biblioteca cliente do Bigtable para C++ a partir da versão 2.40.0.

As métricas são recolhidas automaticamente se as dependências do OpenTelemetry e do Cloud Monitoring estiverem disponíveis no seu projeto. Não existe qualquer custo adicional para estas métricas.

Opcional: desative as métricas do lado do cliente

Pode desativar a utilização de métricas do lado do cliente definindo o parâmetro EnableMetricsOption como false quando criar a associaçã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 estes passos se usar a biblioteca de cliente do Bigtable para Go, que chama as APIs Bigtable.

Instale e configure a biblioteca cliente para Go

Atualize a biblioteca cliente do Bigtable para Go para a versão 1.27.0 ou posterior. O seu go.mod deve ser semelhante ao seguinte:

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

Opcional: desative as métricas do lado do cliente

As métricas do lado do cliente estão ativadas por predefinição na biblioteca de cliente Go. Para desativar, passe NoopMetricsProvider no ClientConfig:

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

HBase

Siga estes passos se usar o cliente Bigtable HBase para Java, que chama a API HBase, para ligar a sua aplicação ao Bigtable.

Instale e configure a biblioteca cliente HBase para Java

  1. Transfira e instale o cliente HBase do Bigtable mais recente para Java. Para ativar as métricas do lado do cliente, tem de usar a versão 2.6.4 ou posterior.

  2. Crie um projeto Maven vazio.

  3. Determine a dependência de artefactos adequada para o seu exemplo de utilização. As versões 2.x incluem um cliente assíncrono do HBase que as versões 1.x não têm.

    • bigtable-hbase-1.x ou bigtable-hbase-2.x: use para aplicações autónomas onde tem o controlo das suas 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 que não sejam o Hadoop e que exijam versões anteriores de componentes, como protobufs ou Guava.
  4. Atualize o ficheiro pom.xml:

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

    Forneça os seguintes dados:

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

Ative as métricas do lado do cliente na sua aplicação

Usar bigtable-hbase-1.x ou bigtable-hbase-2.x

Quando cria uma ligação através da biblioteca do cliente HBase e dos artefactos bigtable-hbase-1.x ou bigtable-hbase-2.x, o código para ativar as métricas incorporadas do lado do cliente é semelhante ao seguinte:

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

Usar artefactos -hadoop ou -shaded

Quando cria uma ligação através da biblioteca do cliente HBase e de um dos artefactos -hadoop ou -shaded, o código para ativar as métricas incorporadas do lado do cliente é semelhante ao seguinte:

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

Se estiver a usar a versão 2.14.1 ou posterior, as métricas do lado do cliente estão ativadas por predefinição. Pode desativá-la.

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 estes passos se usar a biblioteca cliente do Bigtable para Java, que chama as APIs Bigtable.

Antes de começar

Opcional: se usar uma integração do OpenCensus Stats para obter métricas do Bigtable, reverta a dependência e as alterações StackdriverStatsExporter na sua aplicação. Para saber porquê, consulte o artigo Quando atualizar.

Instale e configure a biblioteca cliente para Java

  1. Transfira e instale a biblioteca cliente do Bigtable mais recente para Java. Tem de ter a versão 2.16.0 ou superior para usar métricas do lado do cliente.
  2. Atualize o ficheiro pom.xml da biblioteca de cliente Java para usar a versão mais recente. O seu POM deve ser semelhante ao seguinte:

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

Ative as métricas do lado do cliente na sua aplicação

Quando cria um cliente através da biblioteca cliente, ative as métricas incorporadas. O seu código deve ser semelhante ao seguinte:

  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
  }

Configure uma instância personalizada do OpenTelemetry

Se estiver a usar a versão 2.38.0 ou posterior e quiser publicar métricas do lado do cliente no Cloud Monitoring e em destinos personalizados, pode configurar 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: desative as métricas do lado do cliente

Se estiver a usar a versão 2.38.0 e posterior, pode desativar a utilização de métricas do lado do cliente.

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

Node.js

Siga estes passos se usar a biblioteca cliente do Bigtable para Node.js, que chama as APIs Bigtable.

Instale e configure a biblioteca cliente para Node.js

  1. Transfira e instale a biblioteca cliente do Bigtable mais recente para Node.js.

    Tem de ter a versão 6.2.0 ou posterior para usar métricas do lado do cliente. O ficheiro package.json deve ter um aspeto semelhante ao seguinte:

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

Ative as métricas do lado do cliente na sua aplicação

As métricas do lado do cliente estão ativadas por predefinição na biblioteca cliente do Bigtable para Node.js a partir da versão 6.4.0.

Opcional: desative as métricas do lado do cliente

Pode desativar a utilização de métricas do lado do cliente.

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

Veja métricas no explorador de métricas

  1. Na Google Cloud consola, aceda à página Explorador de métricas.

    Aceder ao Explorador de métricas

  2. Selecione o projeto.

  3. Clique em Selecionar uma métrica.

  4. Pesquise bigtable.googleapis.com/client.

  5. Selecione uma métrica, um group bymétodo e um estado, e escolha um agregador. Para explorar mais opções, consulte o artigo Selecione métricas quando usar o explorador de métricas.

Depois de ativar as métricas do lado do cliente, deixe a aplicação ser executada durante, pelo menos, um minuto antes de verificar se existem métricas publicadas.

Veja métricas na monitorização do Bigtable

São apresentados gráficos para as seguintes métricas do lado do cliente na página de monitorização do Bigtable:

  • Latência de leitura por parte do cliente
  • Latência de escrita por parte do cliente
  • Latência da tentativa de leitura do lado do cliente
  • Latência da tentativa de escrita por parte do cliente

Para ver as métricas do lado do cliente na página Monitorização, siga estes passos:

  1. Abra a lista de instâncias do Bigtable na Google Cloud consola.

    Abra a lista de instâncias

  2. Clique na instância cujas métricas quer ver.

  3. No painel esquerdo, clique em Monitorização. A Google Cloud consola apresenta uma série de gráficos para a instância.

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

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

  6. Opcional: para ver métricas de perfis de apps individuais, clique em Perfis de aplicações.

Para mais informações, consulte o artigo Monitorização do Bigtable.

O que se segue?