Menyiapkan metrik sisi klien

Halaman ini menjelaskan cara menginstal, menyiapkan, dan menggunakan metrik sisi klien Bigtable.

Metrik sisi klien tersedia untuk pengguna library klien berikut:

Untuk ringkasan, lihat Ringkasan metrik sisi klien. Untuk daftar metrik yang mendetail, lihat Deskripsi metrik sisi klien.

Menambahkan atau mengonfirmasi izin akun layanan

Untuk menambahkan izin IAM ke akun layanan, selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman IAM.

    Buka IAM

  2. Pilih project tempat Anda membuat cluster Bigtable.

  3. Telusuri akun layanan yang ingin Anda tambahkan izinnya.

  4. Klik Edit principal.

  5. Klik Tambahkan peran lain.

  6. Telusuri "monitoring metric writer" dan pilih hasilnya.

  7. Klik Simpan.

Aktifkan Cloud Monitoring API

  1. Di konsol Google Cloud , buka halaman APIs & Services.

    Buka API dan layanan

  2. Pilih project tempat Anda membuat cluster Bigtable.

  3. Klik Enable APIs and Service.

  4. Telusuri Monitoring.

  5. Di hasil penelusuran, klik Cloud Monitoring API.

  6. Jika API enabled ditampilkan, berarti API sudah diaktifkan. Jika belum, klik Aktifkan.

Menyiapkan library klien Bigtable

Setelah mengaktifkan Cloud Monitoring API, konfigurasi library klien Bigtable Anda.

C++

Ikuti langkah-langkah berikut jika Anda menggunakan library klien Bigtable untuk C++, yang memanggil Bigtable API.

Menginstal dan mengonfigurasi library klien untuk C++

Integrasikan library menggunakan sistem build C++ umum, seperti CMake atau Bazel. Untuk mengetahui informasi selengkapnya, lihat Membangun dan Menginstal.

Agar library klien Bigtable dapat mengumpulkan metrik sisi klien, project Anda harus menyertakan dependensi untuk OpenTelemetry dan Cloud Monitoring. OpenTelemetry menyediakan framework bagi library klien untuk membuat, mengukur, dan mencatat metrik, sementara library Cloud Monitoring menyediakan fungsi untuk mengekspor atau memublikasikan metrik ini ke Cloud Monitoring.

Mengaktifkan metrik sisi klien di aplikasi Anda

Metrik sisi klien diaktifkan secara default di library klien Bigtable untuk C++ mulai dari versi 2.40.0.

Metrik dikumpulkan secara otomatis jika dependensi OpenTelemetry dan Cloud Monitoring tersedia di project Anda. Tidak ada biaya tambahan untuk metrik ini.

Opsional: Menonaktifkan metrik sisi klien

Anda dapat memilih untuk tidak menggunakan metrik sisi klien dengan menetapkan EnableMetricsOption ke false saat membuat koneksi data.

auto options = Options{}.set<EnableMetricsOption>(false);
TableResource resource("my-project", "my-instance", "my-table");
Table table(MakeDataConnection(std::move(options)), std::move(resource));

Go

Ikuti langkah-langkah berikut jika Anda menggunakan library klien Bigtable untuk Go, yang memanggil Bigtable API.

Menginstal dan mengonfigurasi library klien untuk Go

Update library klien Bigtable untuk Go ke versi 1.27.0 atau yang lebih baru. go.mod Anda akan terlihat seperti berikut:

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

Opsional: Menonaktifkan metrik sisi klien

Metrik sisi klien diaktifkan secara default di library klien Go. Untuk memilih tidak ikut, teruskan NoopMetricsProvider di ClientConfig:

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

HBase

Ikuti langkah-langkah berikut jika Anda menggunakan klien HBase Bigtable untuk Java, yang memanggil HBase API, untuk menghubungkan aplikasi Anda ke Bigtable.

Menginstal dan mengonfigurasi library klien HBase untuk Java

  1. Download dan instal klien HBase Bigtable terbaru untuk Java. Untuk mengaktifkan metrik sisi klien, Anda harus menggunakan versi 2.6.4 atau yang lebih baru.

  2. Buat project Maven kosong.

  3. Tentukan dependensi artefak yang tepat untuk kasus penggunaan Anda. Versi 2.x mencakup klien asinkron HBase yang tidak dimiliki versi 1.x.

    • bigtable-hbase-1.x atau bigtable-hbase-2.x: Gunakan untuk aplikasi mandiri tempat Anda mengontrol dependensi.
    • bigtable-hbase-1.x-hadoop atau bigtable-hbase-2.x-hadoop: Digunakan di lingkungan Hadoop.
    • bigtable-hbase-1.x-shaded atau bigtable-hbase-2.x-shaded: Gunakan di lingkungan selain Hadoop yang memerlukan komponen versi sebelumnya seperti protobuf atau Guava.
  4. Perbarui file pom.xml:

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

    Berikan hal berikut:

    • BIGTABLE_HBASE_ARTIFACT: dependensi artefak untuk project Anda, diformat seperti bigtable-hbase-1.x atau bigtable-hbase-2.x-hadoop.
    • VERSION_NUMBER: versi library klien yang Anda gunakan, diformat seperti 2.6.4

Mengaktifkan metrik sisi klien di aplikasi Anda

Menggunakan bigtable-hbase-1.x atau bigtable-hbase-2.x

Saat Anda membuat koneksi menggunakan library klien HBase dan artefak bigtable-hbase-1.x atau bigtable-hbase-2.x, kode Anda untuk mengaktifkan metrik sisi klien bawaan akan terlihat seperti berikut:

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

Menggunakan artefak -hadoop atau -shaded

Saat Anda membuat koneksi menggunakan library klien HBase dan salah satu artefak -hadoop atau -shaded, kode Anda untuk mengaktifkan metrik bawaan sisi klien akan terlihat mirip dengan berikut ini:

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

Opsional: Menonaktifkan metrik sisi klien

Jika Anda menggunakan versi 2.14.1 atau yang lebih baru, metrik sisi klien diaktifkan secara default. Anda dapat memilih untuk tidak ikut.

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

Ikuti langkah-langkah berikut jika Anda menggunakan library klien Bigtable untuk Java, yang memanggil Bigtable API.

Sebelum memulai

Opsional: Jika Anda menggunakan integrasi OpenCensus Stats untuk mendapatkan metrik Bigtable, batalkan perubahan dependensi dan StackdriverStatsExporter di aplikasi Anda. Untuk memahami alasannya, lihat Kapan harus mengupgrade.

Menginstal dan mengonfigurasi library klien untuk Java

  1. Download dan instal library klien Bigtable untuk Java terbaru. Anda harus memiliki versi 2.16.0 atau yang lebih tinggi untuk menggunakan metrik sisi klien.
  2. Update file pom.xml library klien Java untuk menggunakan versi terbaru. POM Anda akan terlihat seperti berikut:

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

Mengaktifkan metrik sisi klien di aplikasi Anda

Saat membuat klien menggunakan library klien, aktifkan metrik bawaan. Kode Anda akan terlihat mirip dengan berikut:

  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
  }

Menyiapkan instance OpenTelemetry kustom

Jika Anda menggunakan versi 2.38.0 atau yang lebih baru, dan ingin memublikasikan metrik sisi klien ke Cloud Monitoring dan sink kustom, Anda dapat menyiapkan instance OpenTelemetry kustom.

  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
  }

Opsional: Menonaktifkan metrik sisi klien

Jika Anda menggunakan versi 2.38.0 dan yang lebih baru, Anda dapat memilih untuk tidak menggunakan metrik sisi klien.

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

Node.js

Ikuti langkah-langkah berikut jika Anda menggunakan library klien Bigtable untuk Node.js, yang memanggil Bigtable API.

Menginstal dan mengonfigurasi library klien untuk Node.js

  1. Download dan instal library klien Bigtable terbaru untuk Node.js.

    Anda harus memiliki versi 6.2.0 atau yang lebih baru untuk menggunakan metrik sisi klien. File package.json Anda akan terlihat seperti berikut:

    {
      "dependencies": {
        "@google-cloud/bigtable": "^6.2.0"
      }
    }
    
  2. Di project Anda, instal ulang modul Node.js:

    rm -rf node_modules
    rm package-lock.json
    npm i
    

Mengaktifkan metrik sisi klien di aplikasi Anda

Metrik sisi klien diaktifkan secara default di library klien Bigtable untuk Node.js mulai dari versi 6.4.0.

Opsional: Menonaktifkan metrik sisi klien

Anda dapat memilih untuk tidak menggunakan metrik sisi klien.

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

Melihat metrik di Metrics Explorer

  1. Di Google Cloud konsol, buka halaman Metrics Explorer.

    Buka Metrics Explorer

  2. Pilih project.

  3. Klik Select a metric.

  4. Telusuri bigtable.googleapis.com/client.

  5. Pilih metrik, metode group by, dan status, lalu pilih Penggabung. Untuk menjelajahi opsi lainnya, lihat Memilih metrik saat menggunakan Metrics Explorer.

Setelah mengaktifkan metrik sisi klien, biarkan aplikasi Anda berjalan setidaknya selama satu menit sebelum Anda memeriksa metrik yang dipublikasikan.

Melihat metrik di pemantauan Bigtable

Diagram untuk metrik sisi klien berikut ditampilkan di halaman pemantauan Bigtable:

  • Latensi baca sisi klien
  • Latensi penulisan sisi klien
  • Latensi upaya baca sisi klien
  • Latensi upaya penulisan sisi klien

Untuk melihat metrik sisi klien di halaman Monitoring, ikuti langkah-langkah berikut:

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Klik instance yang metriknya ingin Anda lihat.

  3. Di panel kiri, klik Monitoring. Konsol Google Cloud menampilkan serangkaian diagram untuk instance.

  4. Scroll melalui panel untuk melihat metrik sisi klien.

  5. Opsional: Untuk melihat metrik di tingkat tabel, klik Tabel.

  6. Opsional: Untuk melihat metrik profil aplikasi individual, klik Profil Aplikasi.

Untuk mengetahui informasi selengkapnya, lihat Pemantauan Bigtable.

Langkah berikutnya