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:

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:

  1. Nella Google Cloud console vai alla pagina IAM.

    Vai a IAM

  2. Seleziona il progetto in cui hai creato il cluster Bigtable.

  3. Cerca il account di servizio a cui vuoi aggiungere l'autorizzazione.

  4. Fai clic su Modifica entità.

  5. Fai clic su Aggiungi un altro ruolo.

  6. Cerca "writer di metriche di monitoraggio" e seleziona il risultato.

  7. Fai clic su Salva.

Abilita l'API Cloud Monitoring

  1. Nella Google Cloud console, vai alla pagina API e servizi.

    Vai ad API e servizi

  2. Seleziona il progetto in cui hai creato il cluster Bigtable.

  3. Fai clic su Abilita API e servizi.

  4. Cerca Monitoring.

  5. Nei risultati di ricerca, fai clic su API Cloud Monitoring.

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

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

  2. Crea un progetto Maven vuoto.

  3. Determina la dipendenza dell'artefatto adatta al tuo caso d'uso. Le versioni 2.x includono un client HBase asincrono che le versioni 1.x non hanno.

    • bigtable-hbase-1.x o bigtable-hbase-2.x: da utilizzare per applicazioni autonome in cui hai il controllo delle dipendenze.
    • bigtable-hbase-1.x-hadoop o bigtable-hbase-2.x-hadoop: da utilizzare negli ambienti Hadoop.
    • bigtable-hbase-1.x-shaded o bigtable-hbase-2.x-shaded: da utilizzare in ambienti diversi da Hadoop che richiedono versioni precedenti di componenti come protobuf o Guava.
  4. 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 come bigtable-hbase-1.x o bigtable-hbase-2.x-hadoop.
    • VERSION_NUMBER: la versione della libreria client che stai utilizzando, formattata come 2.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

  1. 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.
  2. 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

  1. 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.json dovrebbe essere simile al seguente:

    {
      "dependencies": {
        "@google-cloud/bigtable": "^6.2.0"
      }
    }
    
  2. 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

  1. Nella Google Cloud console, vai alla pagina Esplora metriche.

    Vai a Esplora metriche

  2. Seleziona il progetto.

  3. Fai clic su Seleziona una metrica.

  4. Cerca bigtable.googleapis.com/client.

  5. Seleziona una metrica, un metodo group by e 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:

  1. Apri l'elenco delle istanze Bigtable nella Google Cloud console.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza di cui vuoi visualizzare le metriche.

  3. Nel riquadro a sinistra, fai clic su Monitoraggio. La Google Cloud console mostra una serie di grafici per l'istanza.

  4. Scorri il riquadro per visualizzare le metriche lato client.

  5. (Facoltativo) Per visualizzare le metriche a livello di tabella, fai clic su Tabelle.

  6. (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