Dokumen ini menjelaskan cara mengonfigurasi aplikasi App Hub sehingga metrik dan data rekaman aktivitas yang dihasilkan aplikasi berisi label khusus aplikasi. Dokumen ini juga menjelaskan cara membuat aplikasi Anda mengekspor metrik yang digunakan oleh Pemantauan Aplikasi untuk melaporkan tingkat traffic, rasio error server, atau latensi untuk beban kerja permintaan HTTP yang berjalan di Google Kubernetes Engine.
Tentang label spesifik per aplikasi
Label khusus aplikasi merujuk pada label atau atribut yang disisipkan ke dalam data log, metrik, atau rekaman aktivitas. Label ini mengidentifikasi layanan atau workload yang menghasilkan data. Anda dapat menggunakan label khusus aplikasi seperti label lainnya. Misalnya, Anda dapat memfilter data menurut ID aplikasi. Telemetri yang dihasilkan oleh infrastruktur yang didukung secara otomatis menyertakan label ini. Dengan instrumentasi, metrik dan rekaman aktivitas yang ditulis oleh aplikasi Anda dapat menyertakan label ini.
Di bagian ini,
tafsirkan a.b.{x,y}
sebagai a.b.x
dan a.b.y
.
Data metrik dari instrumentasi yang Anda tambahkan ke aplikasi dapat mencakup label metrik berikut:
metric.labels.apphub_application_{container,id,location}
metric.labels.apphub_workload_{criticality_type,environment_type,id}
Rentang rekaman aktivitas yang dihasilkan oleh instrumentasi yang Anda tambahkan ke aplikasi Anda dapat mencakup atribut resource berikut:
gcp.apphub.application.{container,id,location}
gcp.apphub.{workload,service}.{criticality_type,environment_type,id}
Tentang metrik server HTTP OpenTelemetry
Tidak ada metrik sistem untuk beban kerja yang berjalan di Google Kubernetes Engine yang dapat melaporkan tingkat traffic, rasio error server, atau latensi untuk permintaan HTTP. Namun, nilai untuk sinyal utama ini dapat diperoleh dari
http.server.request.duration
,
yang merupakan metrik yang dikumpulkan secara otomatis oleh
library klien HTTP OpenTelemetry.
Pengekspor googlemanagedprometheus
mengonversi metrik OpenTelemetry http.server.request.duration
menjadi metrik Prometheus yang memiliki properti berikut:
- Nama:
prometheus/http_server_request_duration_seconds/histogram
- Metrik:
prometheus.googleapis.com/http_server_request_duration_seconds/histogram
- Jenis resource:
prometheus_target
- Unit:
s
- Jenis:
CUMULATIVE
- Jenis nilai:
DISTRIBUTION
Jika project Google Cloud Anda berisi metrik http_server_request_duration_seconds
, dasbor OOTB akan menampilkan tingkat traffic, rasio error server, dan latensi untuk permintaan HTTP.
Untuk mempelajari cara mengonfigurasi aplikasi Anda agar mengekspor metrik
http_server_request_duration_seconds
,
lihat bagian Menggunakan OpenTelemetry di Kubernetes dalam dokumen ini.
Menambahkan label aplikasi ke data metrik
Google Cloud Observability mencoba mengidentifikasi sumber metrik Prometheus dengan membandingkan atribut yang dilampirkan ke metrik Prometheus yang dikirim ke project Anda dengan data yang ditampilkan dari App Hub API. Bagian selanjutnya dalam bagian ini mencantumkan konfigurasi yang memungkinkan Google Cloud Observability mengidentifikasi aplikasi App Hub.
Menggunakan OpenTelemetry di Kubernetes
Agar Google Cloud Observability melampirkan label aplikasi ke data metrik yang dihasilkan oleh workload aplikasi Anda yang berjalan di Google Kubernetes Engine, lakukan hal berikut:
Lengkapi aplikasi dengan OpenTelemetry.
- Untuk informasi umum, lihat Instrumentasi dan kemampuan observasi.
- Untuk link ke contoh Go, Java, Node.js, dan Python beserta informasi tentang contoh tersebut, lihat Ringkasan contoh instrumentasi.
Deploy Collector buatan Google atau OpenTelemetry Collector, lalu konfigurasi collector sebagai berikut:
- Mengekspor data metrik dengan pengekspor
googlemanagedprometheus
. - Konfigurasi prosesor
k8sattributes
untuk mengekstrak metadata, sepertinamespace
, dari lingkungan. - Konfigurasi pemroses
transform/collision
untuk menetapkan atributproject_id
,location
,cluster
, dannamespace
. - Konfigurasi pemroses
transform/aco-gke
untuk mengisi labeltop_level_controller_name
dantop_level_controller_type
.
Sebagai contoh, lihat
otlp-k8s-ingest/config/collector.yaml
, yang merupakan file konfigurasi untuk Pengumpul data buatan Google. Untuk mempelajari lebih lanjut pengumpul ini, lihat Men-deploy OpenTelemetry Collector Buatan Google di GKE.- Mengekspor data metrik dengan pengekspor
Daftarkan beban kerja aplikasi Anda dengan App Hub.
Menggunakan Google Cloud Managed Service for Prometheus di GKE
Agar Google Cloud Observability melampirkan label aplikasi ke data metrik yang dihasilkan oleh workload aplikasi Anda yang berjalan di cluster Google Kubernetes Engine, lakukan hal berikut:
Gunakan Google Cloud Managed Service for Prometheus dengan pengumpulan terkelola.
Deploy beban kerja Anda di cluster Google Kubernetes Engine yang versinya minimal
1.32.1-gke.1439000
.Daftarkan beban kerja aplikasi Anda dengan App Hub.
Google Cloud Managed Service for Prometheus menemukan nilai label aplikasi melalui metadata penemuan layanan, lalu menambahkan label top_level_controller_{name,type}
ke targetLabels.metadata
.
Selama penyerapan metrik, Google Cloud Observability menggunakan label top_level_controller_{name,type}
dan App Hub API untuk mengidentifikasi aplikasi App Hub Anda dan menambahkan label yang sesuai ke data metrik Anda.
Menggunakan Cloud Run
Agar Google Cloud Observability melampirkan label aplikasi ke data metrik yang dihasilkan oleh workload Cloud Run Anda, lakukan hal berikut:
Instrumentasikan aplikasi Anda menggunakan OpenTelemetry atau file bantuan Managed Service for Prometheus untuk Cloud Run. Untuk mengetahui informasi tentang pendekatan ini, lihat dokumen berikut:
Daftarkan beban kerja aplikasi Anda dengan App Hub.
Memverifikasi label metrik
Untuk memverifikasi bahwa aplikasi Anda mengirimkan metrik Prometheus ke project Anda, lakukan hal berikut:
-
Verifikasi bahwa aplikasi Anda mengirimkan metrik Prometheus ke project Anda:
-
Di konsol Google Cloud , buka halaman leaderboard Metrics explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Di toolbar konsol Google Cloud , pilih project Google Cloud Anda. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
- Pada elemen Metrik, luaskan menu Pilih metrik, masukkan
Prometheus Target
di panel filter, lalu gunakan submenu untuk memilih jenis dan metrik resource tertentu:- Di menu Active resources, pilih Prometheus Target.
- Untuk memilih metrik, gunakan menu Kategori metrik aktif dan Metrik aktif.
- Klik Terapkan.
Untuk menambahkan filter, yang menghapus deret waktu dari hasil kueri, gunakan elemen Filter.
- Konfigurasi cara data dilihat.
Untuk melihat label, luaskan menu Filter. Setiap entri di Filter sesuai dengan label.
Untuk informasi selengkapnya tentang cara mengonfigurasi diagram, lihat Memilih metrik saat menggunakan Metrics Explorer.
Jika Anda tidak melihat metrik Prometheus, tinjau konfigurasi Anda.
-
Jika metrik Prometheus Anda tidak berisi label aplikasi, lakukan hal berikut:
Pastikan Anda telah mendaftarkan beban kerja atau layanan Anda dengan App Hub.
Periksa log Anda untuk menentukan apakah ada error.
Misalnya, jika Anda men-deploy OpenTelemetry Collector atau Collector buatan Google dan berjalan di Google Kubernetes Engine, Anda dapat melakukan hal berikut:
-
Di konsol Google Cloud , buka halaman Workloads:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Kubernetes Engine.
- Pilih deployment pengumpul Anda, lalu pilih tab Log.
-
Jika Anda menggunakan OpenTelemetry Collector atau Collector buatan Google, tinjau konfigurasi pengumpul Anda. Pengumpul Anda harus melakukan hal berikut:
- Mengekspor data metrik dengan pengekspor
googlemanagedprometheus
. - Konfigurasi prosesor
k8sattributes
untuk mengekstrak metadata, sepertinamespace
, dari lingkungan. - Konfigurasi pemroses
transform/collision
untuk menetapkan atributproject_id
,location
,cluster
, dannamespace
. - Konfigurasi pemroses
transform/aco-gke
untuk mengisi labeltop_level_controller_name
dantop_level_controller_type
.
Sebagai contoh, lihat file konfigurasi Pengumpul data buatan Google:
otlp-k8s-ingest/config/collector.yaml
.- Mengekspor data metrik dengan pengekspor
Menambahkan atribut aplikasi ke span rekaman aktivitas
Agar Cloud Trace melampirkan atribut resource khusus aplikasi ke data trace yang dihasilkan oleh layanan dan workload aplikasi, lakukan hal berikut:
- Daftarkan layanan dan beban kerja Anda ke App Hub.
- Lakukan instrumentasi pada aplikasi Anda dengan OpenTelemetry dan kirim data trace yang dikumpulkan dari aplikasi Anda ke project Anda menggunakan endpoint OTLP.Google Cloud
Konfigurasi OpenTelemetry Collector atau Collector buatan Google sehingga data rentang yang diekspor mencakup atribut resource OpenTelemetry yang mengidentifikasi resource yang didukung Google Cloud yang digunakan oleh aplikasi Anda. Atribut resource harus mencakup hal berikut:
cloud.account.id
- Salah satu dari
cloud.{availability_zone,region}
- Atribut khusus resource. Misalnya, untuk workload Kubernetes, rentang harus memiliki
k8s.cluster.name
,k8s.namespace
, dan jenis deployment Kubernetes yang ditetapkan.
Gunakan pemroses agar pengumpul melampirkan atribut khusus resource ke rentang Anda. Untuk mempelajari lebih lanjut, lihat
resourcedetectionprocessor
dank8sattributesprocessor
.Google Cloud Observability menggunakan atribut resource sebelumnya dan App Hub API untuk mengidentifikasi aplikasi App Hub Anda. Atribut spesifik per aplikasi ditambahkan ke data rekaman aktivitas saat aplikasi diidentifikasi.
Untuk mengetahui informasi selengkapnya tentang atribut ini, lihat Google Cloud Konvensi semantik App Hub.