Halaman ini menjelaskan cara mengirim metrik sisi klien gRPC ke Cloud Monitoring saat Anda menggunakan gRPC untuk berinteraksi dengan Cloud Storage menggunakan salah satu antarmuka yang didukung berikut:
Library klien Java Cloud Storage, versi 2.41.0 dan yang lebih baru
Metrik sisi klien dapat digunakan untuk memantau performa aplikasi klien yang berinteraksi dengan Cloud Storage menggunakan gRPC. Metrik sisi klien berbeda dengan metrik sisi server, yang memberikan insight tentang performa Cloud Storage dari perspektif sisi server.
Cara kerjanya
Anda dapat memilih untuk mengirim metrik sisi klien ke Cloud Monitoring saat menggunakan gRPC untuk berinteraksi dengan Cloud Storage menggunakan salah satu antarmuka yang didukung.
Harga
Metrik sisi klien Cloud Storage tidak dikenai biaya, yang berarti Anda dapat memunculkan, menyimpan, dan mengakses metrik sisi klien Cloud Storage tanpa dikenai biaya Cloud Monitoring. Untuk mengetahui informasi selengkapnya tentang harga, lihat Harga Google Cloud Observability.
Sebelum memulai
Untuk menggunakan metrik sisi klien, Anda harus menyelesaikan langkah-langkah berikut terlebih dahulu:
Pastikan library klien atau konektor Cloud Storage yang ingin Anda gunakan mendukung gRPC. Library klien dan konektor Cloud Storage berikut mendukung gRPC:
Aktifkan Cloud Monitoring API.
Aktifkan Cloud Storage API.
Tetapkan peran dan izin yang diperlukan untuk memunculkan metrik sisi klien.
Peran yang diperlukan
Untuk menetapkan izin yang diperlukan guna memunculkan metrik sisi klien gRPC ke Cloud Monitoring, berikan peran IAM Monitoring Metric Writer (roles/monitoring.metricWriter) pada akun layanan yang digunakan oleh klien gRPC.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk memunculkan metrik sisi klien gRPC ke Cloud Monitoring. Untuk melihat izin yang benar-benar diperlukan, lihat bagian Izin yang diperlukan:
Izin yang diperlukan
monitoring.timeSeries.create
Izin IAM ini disertakan dalam peran bawaan Cloud Storage berikut:
- Storage Admin (
roles/storage.admin) - Storage Object Admin (
roles/storage.objectAdmin) - Storage Object User (
roles/storage.objectUser)
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau
peran bawaan lainnya. Untuk mengetahui informasi selengkapnya tentang peran Monitoring Metric Writer, lihat dokumentasi IAM tentang roles/monitoring.metricWriter.
Deskripsi metrik
Bagian berikut menguraikan metrik sisi klien Cloud Storage yang dapat digunakan untuk memantau performa klien gRPC.
Metrik per upaya klien
Metrik berikut mengumpulkan data performa tentang upaya individual yang dilakukan oleh klien untuk berkomunikasi dengan server. Metrik per upaya klien dapat membantu Anda mengukur perilaku percobaan ulang, bottleneck, dan mengoptimalkan komunikasi antara klien dan server.
| Metrik lengkap | Deskripsi | Jenis instrumen | Unit | Atribut |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/client/attempt/started |
Preview. Total jumlah upaya RPC yang dimulai,
termasuk yang belum selesai. |
Penghitung | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview. Waktu end-to-end yang diperlukan untuk menyelesaikan upaya RPC, termasuk waktu yang diperlukan untuk memilih subsaluran. |
Histogram | s |
|
storage.googleapis.com/client/grpc/client/attempt/sent_total_compressed_message_size |
Preview. Total byte, yang dikompresi tetapi tidak dienkripsi,
yang dikirim di semua pesan permintaan kecuali metadata per upaya
RPC. Ini tidak termasuk byte framing gRPC atau transport. |
Histogram | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview. Total byte, yang dikompresi tetapi tidak dienkripsi,
yang diterima di semua pesan respons kecuali metadata per upaya
RPC. Ini tidak termasuk byte framing gRPC atau transport. |
Histogram | By |
|
Untuk mengetahui informasi selengkapnya tentang instrumen per upaya klien, lihat dokumentasi metrik OpenTelemetry di GitHub.
Metrik per panggilan klien
Metrik berikut memberikan tampilan gabungan dari seluruh siklus proses panggilan klien ke server. Metrik per panggilan klien memberikan data tingkat tinggi tentang panggilan klien, memberikan metrik pelacakan untuk memahami pola panggilan, dan membantu Anda mengidentifikasi frekuensi error.
| Metrik lengkap | Deskripsi | Jenis instrumen | Unit | Atribut |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview. Mengukur waktu end-to-end yang diperlukan library gRPC untuk menyelesaikan RPC dari perspektif aplikasi. |
Histogram | s |
|
Untuk mengetahui informasi selengkapnya tentang instrumen per panggilan klien, lihat dokumentasi metrik OpenTelemetry di GitHub.
Metrik pemuatan permintaan
Metrik berikut memberikan insight tentang efektivitas penggunaan deteksi beban permintaan oleh aplikasi klien Anda. Metrik deteksi beban permintaan dapat membantu Anda menyeimbangkan beban server, mengoptimalkan pemanfaatan resource, dan meningkatkan waktu respons klien. Metrik berikut hanya tersedia dengan konektivitas langsung.
| Metrik lengkap | Deskripsi | Jenis instrumen | Unit | Atribut |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/lb/rls/cache_entries |
Preview. Jumlah entri dalam cache sensor beban permintaan. |
Meteran | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview. Ukuran cache sensor beban permintaan saat ini. |
Meteran | By |
|
storage.googleapis.com/client/grpc/lb/rls/default_target_picks |
Preview. Jumlah pilihan load balancer (LB) yang dikirim ke target default. |
Penghitung | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview. Jumlah pilihan LB yang dikirim ke setiap target sensor beban permintaan. Jika target default juga ditampilkan oleh server sensor beban permintaan, RPC yang dikirim ke target tersebut dari cache akan dihitung dalam metrik ini, bukan dalam grpc.rls.default_target_picks. |
Penghitung | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview. Jumlah pilihan LB yang gagal karena
permintaan pemuatan permintaan yang gagal atau saluran pemuatan permintaan
yang dibatasi. |
Penghitung | {pick} |
|
Metrik klien xDiscovery Service
Metrik berikut memberikan insight tentang cara aplikasi klien Anda berinteraksi dengan bidang kontrol xDiscovery Service (xDS) untuk menemukan dan mengonfigurasi koneksi ke layanan backend. Metrik xDS dapat membantu Anda melacak latensi permintaan layanan, memantau update konfigurasi, dan mengoptimalkan performa xDS secara keseluruhan.
Metrik berikut hanya tersedia dengan konektivitas langsung.
| Metrik lengkap | Deskripsi | Jenis instrumen | Unit | Atribut |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/xds_client/connected |
Preview. Mengukur apakah klien xDS memiliki
aliran ADS yang berfungsi ke server xDS atau tidak. Untuk server tertentu, metrik ini
ditetapkan ke 1 saat aliran data pertama kali dibuat. Jika terjadi
kegagalan konektivitas atau saat streaming ADS gagal tanpa melihat
pesan respons sesuai dengan A57, metrik akan ditetapkan ke
0. Setelah ditetapkan ke 0, metrik
akan direset ke 1 saat respons pertama
diterima di aliran ADS. Metrik ini hanya tersedia untuk Library Klien Cloud untuk C++. |
Meteran | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview. Jumlah resource yang diterima yang dianggap tidak valid. Metrik ini hanya tersedia untuk Library Klien Cloud untuk C++. |
Penghitung | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_valid |
Preview. Jumlah resource yang diterima yang dianggap valid, meskipun tidak berubah.
Metrik ini hanya tersedia untuk Library Klien Cloud untuk C++. |
Penghitung | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview. Jumlah resource xDS. Metrik ini hanya tersedia untuk Library Klien Cloud untuk C++. |
Meteran | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview. Jumlah server xDS yang tidak lagi berfungsi dengan benar dan menjadi tidak tersedia, kelebihan beban, atau memberikan data konfigurasi yang salah atau tidak valid. Metrik ini hanya tersedia untuk Library Klien Cloud untuk C++. |
Penghitung | {failure} |
|
Untuk mengetahui informasi selengkapnya tentang metrik klien xDS, lihat dokumentasi Load balancing global berbasis xDS di GitHub.
Menonaktifkan metrik sisi klien
Anda dapat memilih untuk tidak menggunakan metrik sisi klien jika diperlukan.
Java
public GrpcStorageOptions.Builder setEnableGrpcClientMetrics(false enableGrpcClientMetrics)
Untuk mengetahui informasi selengkapnya, lihat
Library Klien Cloud untuk class Java GrpcStorageOptions.Builder untuk metrik klien gRPC.
C++
Untuk menonaktifkan metrik sisi klien untuk gRPC API menggunakan
Library Klien Cloud untuk C++, lihat
Struct EnableGrpcMetricsOption.
Jika Anda menggunakan Bazel untuk mem-build aplikasi dan ingin menonaktifkan
metrik sisi klien, tetapkan opsi enable_grpc_metrics ke false di
file build aplikasi Anda.