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:
- Biblioteca de cliente do Bigtable para C++
- Biblioteca de cliente do Bigtable para Java
- Cliente HBase do Bigtable para Java
- Biblioteca de cliente do Bigtable para Go
- Biblioteca de cliente do Bigtable para Node.js
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:
No console do Google Cloud , acesse a página IAM.
Selecione o projeto em que você criou o cluster do Bigtable.
Procure a conta de serviço em que você quer adicionar a permissão.
Clique em Editar principal.
Clique em Adicionar outro papel.
Pesquise por "gravador de métricas de monitoramento" e selecione o resultado.
Clique em Save.
Ativar a API Cloud Monitoring.
No console Google Cloud , acesse a página APIs e serviços.
Selecione o projeto em que você criou o cluster do Bigtable.
Clique em Ativar APIs e serviços.
Pesquisar por
Monitoring
.Nos resultados da pesquisa, clique em API Cloud Monitoring.
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
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.
Crie um projeto do Maven vazio.
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ões1.x
não têm.bigtable-hbase-1.x
oubigtable-hbase-2.x
: use para aplicativos independentes em que você controla as dependências.bigtable-hbase-1.x-hadoop
oubigtable-hbase-2.x-hadoop
: use em ambientes Hadoop.bigtable-hbase-1.x-shaded
oubigtable-hbase-2.x-shaded
: use em ambientes diferentes do Hadoop que exigem versões mais antigas de componentes, como protobufs ou Guava.
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 embigtable-hbase-1.x
oubigtable-hbase-2.x-hadoop
.VERSION_NUMBER
: a versão da biblioteca de cliente que você está usando, formatada em2.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
- 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.
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
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" } }
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
No console do Google Cloud , acesse a página Metrics Explorer.
Selecione o projeto.
Clique em Selecionar uma métrica.
Pesquise
bigtable.googleapis.com/client
.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:
Abra a lista de instâncias do Bigtable no console Google Cloud .
Clique na instância com as métricas que você quer exibir.
No painel esquerdo, clique em Monitoramento. O console Google Cloud mostra uma série de gráficos para a instância.
Role o painel para ver as métricas do lado do cliente.
Opcional: para visualizar métricas no nível da tabela, clique em Tabelas.
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
- Leia uma visão geral das métricas do lado do cliente.
- Veja as descrições completas das métricas do lado do cliente.