Configura le metriche lato client
Questa pagina descrive come installare, configurare e utilizzare le metriche lato client di Bigtable.
Le metriche lato client sono disponibili per gli utenti delle seguenti librerie client:
- Libreria client Bigtable per C++
- Libreria client Bigtable per Java
- Client Bigtable HBase per Java
- Libreria client Bigtable per Go
- Libreria client Bigtable per Node.js
Per una panoramica, consulta la panoramica delle metriche lato client. Per un elenco dettagliato delle metriche, consulta Descrizioni delle metriche lato client.
Aggiungi o conferma le autorizzazioni dell'account di servizio
Per aggiungere le autorizzazioni IAM al account di servizio:
Nella Google Cloud console vai alla pagina IAM.
Seleziona il progetto in cui hai creato il cluster Bigtable.
Cerca il account di servizio a cui vuoi aggiungere l'autorizzazione.
Fai clic su Modifica entità.
Fai clic su Aggiungi un altro ruolo.
Cerca "writer di metriche di monitoraggio" e seleziona il risultato.
Fai clic su Salva.
Abilita l'API Cloud Monitoring
Nella Google Cloud console, vai alla pagina API e servizi.
Seleziona il progetto in cui hai creato il cluster Bigtable.
Fai clic su Abilita API e servizi.
Cerca
Monitoring.Nei risultati di ricerca, fai clic su API Cloud Monitoring.
Se viene visualizzato API abilitata, l'API è già abilitata. In caso contrario, fai clic su Abilita.
Configura la libreria client Bigtable
Dopo aver abilitato l'API Cloud Monitoring, configura la libreria client Bigtable.
C++
Segui questi passaggi se utilizzi la libreria client Bigtable per C++, che chiama le API Bigtable.
Installa e configura la libreria client per C++
Integra la libreria utilizzando i sistemi di build C++ comuni, come CMake o Bazel. Per saperne di più, consulta Creazione e installazione.
Affinché la libreria client Bigtable raccolga le metriche lato client, il progetto deve includere le dipendenze per OpenTelemetry e Cloud Monitoring. OpenTelemetry fornisce il framework per la libreria client per creare, strumentare e registrare le metriche, mentre la libreria Cloud Monitoring fornisce la funzionalità per esportare o pubblicare queste metriche in Cloud Monitoring.
Abilita le metriche lato client nella tua applicazione
Le metriche lato client sono abilitate per impostazione predefinita nella libreria client Bigtable per C++ a partire dalla versione 2.40.0.
Le metriche vengono raccolte automaticamente se nel progetto sono disponibili sia le dipendenze OpenTelemetry che Cloud Monitoring. Non sono previsti costi aggiuntivi per queste metriche.
(Facoltativo) Disattiva le metriche lato client
Puoi disattivare l'utilizzo delle metriche lato client impostando EnableMetricsOption su false quando crei la connessione dati.
auto options = Options{}.set<EnableMetricsOption>(false);
TableResource resource("my-project", "my-instance", "my-table");
Table table(MakeDataConnection(std::move(options)), std::move(resource));
Vai
Segui questi passaggi se utilizzi la libreria client Bigtable per Go, che chiama le API Bigtable.
Installa e configura la libreria client per Go
Aggiorna la libreria client Bigtable per Go alla versione 1.27.0 o successive. Il file go.mod dovrebbe essere simile al seguente:
require (
cloud.google.com/go/bigtable v1.27.2-0.20240725222120-ce31365acc54
(Facoltativo) Disattiva le metriche lato client
Le metriche lato client sono abilitate per impostazione predefinita nella libreria client Go. Per disattivarle, passa NoopMetricsProvider in ClientConfig:
client, err := bigtable.NewClientWithConfig(ctx, project, instance,
bigtable.ClientConfig{MetricsProvider: bigtable.NoopMetricsProvider{},
})
HBase
Segui questi passaggi se utilizzi il client Bigtable HBase per Java, che chiama l'API HBase, per connettere l'applicazione a Bigtable.
Installa e configura la libreria client HBase per Java
Scarica e installa l'ultima versione del client Bigtable HBase per Java. Per abilitare le metriche lato client, devi utilizzare la versione 2.6.4 o successive.
Crea un progetto Maven vuoto.
Determina la dipendenza dell'artefatto adatta al tuo caso d'uso. Le versioni
2.xincludono un client HBase asincrono che le versioni1.xnon hanno.bigtable-hbase-1.xobigtable-hbase-2.x: da utilizzare per applicazioni autonome in cui hai il controllo delle dipendenze.bigtable-hbase-1.x-hadoopobigtable-hbase-2.x-hadoop: da utilizzare negli ambienti Hadoop.bigtable-hbase-1.x-shadedobigtable-hbase-2.x-shaded: da utilizzare in ambienti diversi da Hadoop che richiedono versioni precedenti di componenti come protobuf o Guava.
Aggiorna il file pom.xml:
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud.bigtable</groupId> <artifactId>BIGTABLE_HBASE_ARTIFACT</artifactId> <version>VERSION_NUMBER</version> </dependency> </dependencies> </dependencyManagement>Fornisci quanto segue:
BIGTABLE_HBASE_ARTIFACT: la dipendenza dell'artefatto per il tuo progetto, formattata comebigtable-hbase-1.xobigtable-hbase-2.x-hadoop.VERSION_NUMBER: la versione della libreria client che stai utilizzando, formattata come2.6.4
Abilita le metriche lato client nella tua applicazione
Utilizzo di bigtable-hbase-1.x o bigtable-hbase-2.x
Quando crei una connessione utilizzando la libreria client HBase e gli artefatti bigtable-hbase-1.x o bigtable-hbase-2.x, il codice per abilitare le metriche lato client integrate è simile al seguente:
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();
Utilizzo di artefatti -hadoop o -shaded
Quando crei una connessione utilizzando la libreria client HBase e uno degli artefatti -hadoop o -shaded, il codice per abilitare le metriche lato client integrate è simile al seguente:
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();
(Facoltativo) Disattiva le metriche lato client
Se utilizzi la versione 2.14.1 o successive, le metriche lato client sono abilitate per impostazione predefinita. Puoi disattivarle.
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
Segui questi passaggi se utilizzi la libreria client Bigtable per Java, che chiama le API Bigtable.
Prima di iniziare
(Facoltativo) Se utilizzi un'integrazione di OpenCensus Stats
per ottenere le metriche Bigtable, ripristina le modifiche alla dipendenza e
StackdriverStatsExporter nella tua applicazione. Per capire perché, consulta
Quando eseguire l'upgrade.
Installa e configura la libreria client per Java
- Scarica e installa l'ultima versione della libreria client Bigtable per Java. Per utilizzare le metriche lato client, devi avere la versione 2.16.0 o successive.
Aggiorna il file pom.xml della libreria client Java per utilizzare l'ultima versione. Il file pom dovrebbe essere simile al seguente:
<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>
Abilita le metriche lato client nella tua applicazione
Quando crei un client utilizzando la libreria client, abilita le metriche integrate. Il codice dovrebbe essere simile al seguente:
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
}
Configura un'istanza OpenTelemetry personalizzata
Se utilizzi la versione 2.38.0 o successive e vuoi pubblicare le metriche lato client in Cloud Monitoring e nei sink personalizzati, puoi configurare un'istanza OpenTelemetry personalizzata.
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
}
(Facoltativo) Disattiva le metriche lato client
Se utilizzi la versione 2.38.0 e successive, puoi disattivare l'utilizzo delle metriche lato client.
BigtableDataSettings settings = BigtableDataSettings.newBuilder()
.setProjectId("my-project")
.setInstanceId("my-instance")
.setMetricsProvider(NoopMetricsProvider.INSTANCE)
.build();
Node.js
Segui questi passaggi se utilizzi la libreria client Bigtable per Node.js, che chiama le API Bigtable.
Installa e configura la libreria client per Node.js
Scarica e installa l'ultima versione della libreria client Bigtable per Node.js.
Per utilizzare le metriche lato client, devi avere la versione 6.2.0 o successive. Il file
package.jsondovrebbe essere simile al seguente:{ "dependencies": { "@google-cloud/bigtable": "^6.2.0" } }Nel progetto, reinstalla i moduli Node.js:
rm -rf node_modules rm package-lock.json npm i
Abilita le metriche lato client nella tua applicazione
Le metriche lato client sono abilitate per impostazione predefinita nella libreria client Bigtable per Node.js a partire dalla versione 6.4.0.
(Facoltativo) Disattiva le metriche lato client
Puoi disattivare l'utilizzo delle metriche lato client.
const bigtable = new Bigtable({metricsEnabled: false});
Visualizza le metriche in Metrics Explorer
Nella Google Cloud console, vai alla pagina Esplora metriche.
Seleziona il progetto.
Fai clic su Seleziona una metrica.
Cerca
bigtable.googleapis.com/client.Seleziona una metrica, un metodo
group bye uno stato, quindi scegli un aggregatore. Per esplorare altre opzioni, consulta Selezionare le metriche durante l'utilizzo di Esplora metriche.
Dopo aver abilitato le metriche lato client, lascia che l'applicazione venga eseguita per almeno un minuto prima di verificare la presenza di metriche pubblicate.
Visualizza le metriche nel monitoraggio di Bigtable
I grafici per le seguenti metriche lato client vengono visualizzati nella pagina di monitoraggio di Bigtable:
- Latenza di lettura lato client
- Latenza di scrittura lato client
- Latenza del tentativo di lettura lato client
- Latenza del tentativo di scrittura lato client
Per visualizzare le metriche lato client nella pagina Monitoraggio:
Apri l'elenco delle istanze Bigtable nella Google Cloud console.
Fai clic sull'istanza di cui vuoi visualizzare le metriche.
Nel riquadro a sinistra, fai clic su Monitoraggio. La Google Cloud console mostra una serie di grafici per l'istanza.
Scorri il riquadro per visualizzare le metriche lato client.
(Facoltativo) Per visualizzare le metriche a livello di tabella, fai clic su Tabelle.
(Facoltativo) Per visualizzare le metriche per i singoli profili dell'app, fai clic su Profili dell'applicazione.
Per saperne di più, consulta Monitoraggio di Bigtable.
Passaggi successivi
- Leggi una panoramica delle metriche lato client.
- Visualizza le descrizioni complete delle metriche lato client.