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:
- Biblioteca cliente do Bigtable para C++
- Biblioteca cliente do Bigtable para Java
- Cliente HBase do Bigtable para Java
- Biblioteca cliente do Bigtable para Go
- Biblioteca cliente do Bigtable para Node.js
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:
Na Google Cloud consola, aceda à página IAM.
Selecione o projeto onde criou o cluster do Bigtable.
Pesquise a conta de serviço à qual quer adicionar a autorização.
Clique em Editar principal.
Clique em Adicionar outra função.
Pesquise "monitoring metric writer" e selecione o resultado.
Clique em Guardar.
Ative a API Cloud Monitoring
Na Google Cloud consola, aceda à página APIs e serviços.
Selecione o projeto onde criou o cluster do Bigtable.
Clique em Ativar APIs e serviços.
Pesquise
Monitoring
.Nos resultados da pesquisa, clique em API Cloud Monitoring.
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
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.
Crie um projeto Maven vazio.
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ões1.x
não têm.bigtable-hbase-1.x
oubigtable-hbase-2.x
: use para aplicações autónomas onde tem o controlo das suas 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 que não sejam o Hadoop e que exijam versões anteriores de componentes, como protobufs ou Guava.
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 comobigtable-hbase-1.x
oubigtable-hbase-2.x-hadoop
.VERSION_NUMBER
: a versão da biblioteca de cliente que está a usar, formatada como2.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
- 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.
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
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" } }
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
Na Google Cloud consola, aceda à página Explorador de métricas.
Selecione o projeto.
Clique em Selecionar uma métrica.
Pesquise
bigtable.googleapis.com/client
.Selecione uma métrica, um
group by
mé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:
Abra a lista de instâncias do Bigtable na Google Cloud consola.
Clique na instância cujas métricas quer ver.
No painel esquerdo, clique em Monitorização. A Google Cloud consola apresenta uma série de gráficos para a instância.
Desloque o painel para ver as métricas do lado do cliente.
Opcional: para ver métricas ao nível da tabela, clique em Tabelas.
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?
- Leia uma vista geral das métricas do lado do cliente.
- Veja descrições completas das métricas do lado do cliente.