Dokumen ini menjelaskan cara menggunakan Agen Operasional dan penerima OpenTelemetry Protocol (OTLP) untuk mengumpulkan metrik dan rekaman aktivitas yang ditentukan pengguna dari aplikasi yang diinstrumentasi menggunakan OpenTelemetry dan berjalan di Compute Engine.
Dokumen ini disusun sebagai berikut:
- Ringkasan yang menjelaskan kasus penggunaan untuk penerima OTLP.
- Prasyarat untuk menggunakan penerima OTLP.
- Mengonfigurasi agen untuk menggunakan penerima OTLP.
- Menggunakan penerima untuk mengumpulkan metrik. Bagian ini menjelaskan cara membuat kueri metrik OpenTelemetry di Cloud Monitoring.
- Menggunakan penerima untuk mengumpulkan rekaman aktivitas. Bagian ini menjelaskan cara memberikan otorisasi kepada akun layanan untuk menulis data ke Cloud Trace.
Ringkasan penggunaan penerima OTLP
Dengan penerima OTLP Agen Operasi, Anda dapat melakukan hal berikut:
- Instrumentasikan aplikasi Anda menggunakan salah satu SDK khusus bahasa untuk
OpenTelemetry. Untuk informasi tentang bahasa yang didukung, lihat Instrumentasi
OpenTelemetry. Kombinasi SDK OpenTelemetry dan Agen Operasi melakukan hal berikut untuk Anda:
- Kumpulkan metrik OTLP dari aplikasi Anda dan kirim metrik tersebut ke Cloud Monitoring untuk dianalisis.
- Kumpulkan span OTLP—data trace—dari aplikasi Anda, lalu kirim span tersebut ke Cloud Trace untuk dianalisis.
- Kumpulkan rekaman aktivitas dari aplikasi pihak ketiga yang memiliki dukungan bawaan untuk OTLP atau plugin dengan dukungan tersebut, aplikasi seperti Nginx. Penerima OTLP di Ops Agent dapat mengumpulkan trace tersebut. Untuk contohnya, lihat Modul nginx OpenTelemetry.
- Gunakan instrumentasi kustom OpenTelemetry.
- Gunakan instrumentasi otomatis OpenTelemetry.
Anda dapat menggunakan penerima untuk mengumpulkan metrik, rekaman aktivitas, atau keduanya. Setelah Ops Agent mengumpulkan metrik, Anda dapat menggunakan fitur Cloud Monitoring, termasuk diagram, dasbor, dan kebijakan pemberitahuan, untuk memantau metrik. Jika aplikasi Anda juga mengirim data rekaman aktivitas, Anda dapat menggunakan Cloud Trace untuk menganalisis data tersebut.
Manfaat
Sebelum ketersediaan plugin OTLP untuk Agen Operasional, cara utama untuk melengkapi aplikasi Anda dengan instrumentasi guna mengumpulkan metrik dan trace yang ditentukan pengguna mencakup hal berikut:
- Menggunakan library klien yang mengimplementasikan Monitoring API atau Trace API.
- Menggunakan library OpenCensus lama.
Menggunakan OpenTelemetry dengan penerima OTLP memiliki beberapa manfaat dibandingkan dengan metode ini, termasuk:
- OpenTelemetry adalah pengganti OpenCensus. Project OpenCensus sedang diarsipkan. Untuk mengetahui informasi selengkapnya, lihat Apa itu OpenTelemetry?.
- Proses transfer dikontrol di tingkat agen, sehingga Anda tidak perlu men-deploy ulang aplikasi jika konfigurasi agen berubah.
- Aplikasi Anda tidak perlu menyiapkan kredensial Google Cloud; semua otorisasi ditangani di tingkat agen.
- Kode aplikasi Anda tidak berisi kode pemantauan atau pelacakan khusus Google Cloud. Anda tidak perlu menggunakan Monitoring API atau Trace API secara langsung.
- Aplikasi Anda mengirimkan data ke Ops Agent, dan jika aplikasi Anda error, data apa pun yang telah dikumpulkan oleh Ops Agent tidak akan hilang.
Batasan
Pemroses OTLP yang ditampilkan oleh penerima Agen Operasi mendukung transpor gRPC. HTTP, yang terutama digunakan untuk klien JavaScript, tidak didukung. Untuk informasi selengkapnya tentang OpenTelemetry Protocol, lihat Detail Protokol.
Penerima OTLP tidak mengumpulkan log. Anda dapat mengumpulkan log menggunakan Ops Agent dan penerima lainnya, serta menyertakan informasi log dalam span OTLP, tetapi penerima OTLP tidak mendukung pengumpulan log langsung. Untuk mengetahui informasi tentang cara menggunakan Agen Ops untuk mengumpulkan log, lihat Konfigurasi logging.
Prasyarat
Untuk mengumpulkan metrik dan rekaman aktivitas OTLP menggunakan penerima OTLP dan Ops Agent, Anda harus menginstal Ops Agent versi 2.37.0 atau yang lebih tinggi.
Dokumen ini mengasumsikan bahwa Anda sudah memiliki aplikasi berbasis OpenTelemetry yang ditulis menggunakan salah satu OpenTelemetry SDK. Dokumen ini tidak membahas penggunaan OpenTelemetry SDK. Untuk informasi tentang SDK dan bahasa yang didukung, lihat Instrumentasi OpenTelemetry.
Mengonfigurasi Agen Operasional
Untuk mengonfigurasi Agen Operasional agar menggunakan penerima OTLP, lakukan hal berikut:
- Ubah file konfigurasi pengguna untuk Ops Agent agar menyertakan penerima OTLP.
- Mulai ulang Agen Operasional.
Bagian berikut menjelaskan setiap langkah.
Mengubah file konfigurasi pengguna Agen Operasional
Tambahkan elemen konfigurasi untuk penerima OTLP ke file konfigurasi pengguna untuk Agen Operasional:
- Untuk linux:
/etc/google-cloud-ops-agent/config.yaml
- Untuk Windows:
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
Untuk informasi umum tentang cara mengonfigurasi agen, lihat Model konfigurasi.
Penerima OTLP memperkenalkan bagian konfigurasi combined
untuk Agen Operasional. Untuk menggunakan penerima, Anda harus mengonfigurasi layanan untuk
metrik dan rekaman aktivitas, meskipun Anda tidak menggunakan keduanya.
Bagian berikut menjelaskan langkah-langkah konfigurasi untuk penerima OTLP.
Menambahkan bagian penerima combined
Anda menempatkan penerima untuk metrik dan trace OTLP di bagian combined
. Tidak ada pemroses atau layanan yang diizinkan di bagian combined
.
Anda tidak boleh mengonfigurasi penerima lain dengan nama yang sama seperti penerima di bagian combined
. Contoh berikut
menggunakan otlp
sebagai nama penerima.
Konfigurasi combined
minimal untuk OTLP terlihat seperti berikut:
combined: receivers: otlp: type: otlp
Penerima otlp
memiliki opsi konfigurasi berikut:
type
: Wajib diisi. Harus berupaotlp
grpc_endpoint
: Opsional. Endpoint gRPC tempat penerima OTLP mendengarkan. Default-nya adalah0.0.0.0:4317
.metrics_mode
: Opsional. Secara default adalahgooglemanagedprometheus
, yang berarti penerima mengirim metrik OTLP sebagai metrik berformat Prometheus dengan menggunakan Prometheus API yang juga digunakan oleh Managed Service for Prometheus.Untuk mengirim metrik sebagai metrik kustom Cloud Monitoring menggunakan Monitoring API, tetapkan opsi
metrics_mode
ke nilaigooglecloudmonitoring
.Pilihan ini memengaruhi cara metrik Anda diserap dan diukur untuk penagihan. Untuk mengetahui informasi selengkapnya tentang format metrik, lihat Format penyerapan untuk metrik OTLP.
Menambahkan pipeline OTLP ke layanan Anda
Penerima OTLP dapat mengumpulkan metrik dan trace, sehingga Anda harus menentukan layanan untuk metrik dan trace. Jika tidak akan mengumpulkan metrik atau rekaman aktivitas, Anda dapat membuat layanan kosong. Jika sudah memiliki layanan dengan pipeline lain, Anda dapat menambahkan pipeline OTLP ke layanan tersebut.
Berikut ini menunjukkan layanan metrics
dan traces
dengan penerima OTLP
yang disertakan dalam pipeline:
combined: receivers: otlp: type: otlp metrics: service: pipelines: otlp: receivers: [otlp] traces: service: pipelines: otlp: receivers: [otlp]
Jika Anda tidak ingin menggunakan layanan metrics
atau traces
untuk pengumpulan
OTLP, biarkan penerima OTLP keluar dari pipeline untuk layanan tersebut.
Layanan harus ada, meskipun tidak memiliki pipeline. Jika aplikasi Anda mengirim
data dari jenis tertentu dan tidak ada pipeline yang sesuai yang menyertakan
penerima, Ops Agent akan menghapus data tersebut.
Memulai ulang Agen Operasional
Untuk menerapkan perubahan konfigurasi, Anda harus memulai ulang Ops Agent.
Linux
- Untuk memulai ulang agen, jalankan perintah berikut di instance Anda:
sudo systemctl restart google-cloud-ops-agent
- Untuk mengonfirmasi bahwa agen dimulai ulang, jalankan perintah berikut dan
pastikan komponen "Metrics Agent" dan "Logging Agent" dimulai:
sudo systemctl status "google-cloud-ops-agent*"
Windows
- Hubungkan ke instance Anda menggunakan RDP atau alat serupa, lalu login ke Windows.
- Buka terminal PowerShell dengan hak istimewa administrator dengan mengklik kanan ikon PowerShell dan memilih Run as Administrator
- Untuk memulai ulang agen, jalankan perintah PowerShell berikut:
Restart-Service google-cloud-ops-agent -Force
- Untuk mengonfirmasi bahwa agen dimulai ulang, jalankan perintah berikut dan
verifikasi bahwa komponen "Metrics Agent" dan "Logging Agent" dimulai:
Get-Service google-cloud-ops-agent*
Mengumpulkan metrik OTLP
Saat Anda menggunakan penerima OTLP untuk mengumpulkan metrik dari aplikasi OpenTelemetry, pilihan konfigurasi utama untuk penerima adalah API yang ingin Anda gunakan untuk menyerap metrik.
Anda membuat pilihan ini dengan mengubah opsi metrics_mode
dalam
konfigurasi penerima otlp
atau menggunakan nilai default.
Pilihan ini memengaruhi cara metrik OTLP Anda diserap ke dalam Cloud Monitoring dan cara data tersebut diukur untuk tujuan penagihan.
Pilihan metrics_mode
tidak memengaruhi kemampuan Anda untuk membuat diagram,
dasbor, dan kebijakan pemberitahuan di Pemantauan.
- Untuk informasi tentang cara membuat diagram dan dasbor, lihat Ringkasan dasbor dan diagram.
- Untuk informasi tentang kebijakan pemberitahuan, lihat Ringkasan pemberitahuan.
Bagian berikut menjelaskan perbedaan dalam format yang digunakan oleh mode metrik dan cara membuat kueri data yang ditransfer untuk digunakan dalam Pemantauan.
Format penyerapan untuk metrik OTLP
Penerima OTLP menyediakan opsi metrics_mode
, yang menentukan
API yang digunakan untuk menyerap data metrik Anda. Secara default, penerima menggunakan Prometheus API; nilai default untuk opsi metrics_mode
adalah googlemanagedprometheus
. Metrik diserap menggunakan API yang sama dengan yang digunakan oleh Managed Service for Prometheus.
Sebagai gantinya, Anda dapat mengonfigurasi penerima untuk mengirim data metrik ke Cloud Monitoring API. Untuk mengirim data ke Monitoring API,
tetapkan nilai opsi metrics_mode
ke googlecloudmonitoring
, seperti
yang ditunjukkan pada contoh berikut:
combined: receivers: otlp: type: otlp metrics_mode: googlecloudmonitoring
Format penyerapan yang Anda gunakan menentukan cara metrik OTLP dipetakan ke Cloud Monitoring. Anda dapat membuat diagram, dasbor, dan kebijakan pemberitahuan di Monitoring untuk metrik dari salah satu format metrik, tetapi Anda merujuk ke metrik secara berbeda dalam kueri.
Format penyerapan juga menentukan model harga yang digunakan untuk penyerapan data.
Bagian berikut menjelaskan harga, perbedaan struktural antara metrik yang diserap oleh Prometheus API dan metrik yang sama yang diserap oleh Monitoring API, serta cara merujuk ke metrik dalam kueri.
Harga dan kuota
Format penyerapan yang Anda gunakan menentukan cara penagihan metrik OTLP:
Prometheus API: Saat Anda menggunakan Prometheus API untuk menyerap metrik aplikasi, data akan dikenai harga berbasis sampel, seolah-olah metrik telah masuk menggunakan Managed Service for Prometheus.
- Untuk mengetahui harga saat ini, lihat ringkasan harga Cloud Monitoring.
- Untuk informasi selengkapnya tentang cara menghitung sampel dan memperkirakan biaya, lihat Contoh harga berdasarkan sampel yang diserap.
Monitoring API: Saat Anda menggunakan Monitoring API untuk menyerap metrik aplikasi, data akan dikenai harga berbasis volume, seperti data dari integrasi lain dengan Ops Agent.
- Untuk mengetahui harga saat ini, lihat ringkasan harga Cloud Monitoring.
- Untuk informasi selengkapnya tentang volume penyerapan dan estimasi biaya, lihat Contoh harga berdasarkan byte yang diserap.
Metrik yang diserap menggunakan penerima OTLP dianggap sebagai jenis metrik "kustom" saat diserap ke Cloud Monitoring dan tunduk pada kuota dan batas untuk metrik kustom.
Struktur metrik
Cloud Monitoring menjelaskan format data metrik menggunakan skema yang disebut deskripsi metrik. Deskripsi metrik mencakup nama metrik, jenis data nilai metrik, cara setiap nilai terkait dengan nilai sebelumnya, dan label apa pun yang terkait dengan nilai tersebut. Jika Anda mengonfigurasi penerima OTLP untuk menyerap metrik menggunakan Prometheus API, deskripsi metrik yang dibuat akan berbeda dengan deskripsi metrik yang dibuat saat Anda menggunakan Monitoring API.
Prometheus API: Saat Anda menggunakan Prometheus API untuk menyerap metrik aplikasi, setiap metrik akan diubah menggunakan transformasi OpenTelemetry-to-Prometheus standar dan dipetakan ke jenis resource yang dipantau Cloud Monitoring.
- Transformasi ini mencakup perubahan berikut:
- Nama metrik OTLP diawali dengan string
prometheus.googleapis.com/
. - Setiap karakter non-alfanumerik, seperti titik (
.
), dalam nama metrik OTLP akan diganti dengan garis bawah (_
). - Nama metrik OTLP diakhiri dengan string yang menunjukkan jenis metrik, seperti
/gauge
atau/counter
.
- Nama metrik OTLP diawali dengan string
- Label berikut, yang diisi dengan nilai dari resource OTLP,
ditambahkan ke metrik:
instance_name
: Nilai atribut resourcehost.name
.machine_type
: Nilai atribut resourcehost.type
.
Resource yang dimonitor dan dicatat dengan pengukuran metrik adalah jenis
prometheus_target
generik. Deret waktu Prometheus yang dihasilkan menyertakan label berikut dari resourceprometheus_target
, yang diisi dengan nilai dari resource OTLP:location
: Nilai atribut resourcecloud.availability_zone
.namespace
: Nilai atribut resourcehost.id
.
Jenis resource
prometheus_target
juga menyertakan label berikut:project_id
: ID project Google Cloud, sepertimy-project
, tempat Ops Agent berjalan.cluster
: Nilainya selalu__gce__
saat metrik dikumpulkan oleh Agen Operasional.
Jika data OTLP yang masuk tidak memiliki atribut resource yang digunakan untuk nilai label, nilai tersebut diambil dari informasi tentang VM yang menjalankan Ops Agent. Perilaku ini berarti bahwa data OTLP tanpa atribut resource ini akan muncul dengan label yang sama seperti data yang dikumpulkan oleh penerima Prometheus Agen Ops.
Monitoring API: Saat Anda menggunakan Monitoring API untuk menyerap metrik aplikasi, setiap metrik ditangani sebagai berikut:
- Nama metrik OTLP diawali dengan string
workload.googleapis.com/
, kecuali jika nama metrik OTLP sudah berisi string ini atau domain metrik valid lainnya, seperticustom.googleapis.com
. Sebaiknya gunakan domain "workload". - Resource yang dimonitor dan dicatat dengan pengukuran metrik adalah
jenis virtual machine Compute Engine
gce_instance
.
Contoh berikut menunjukkan deskripsi metrik untuk sepasang metrik OpenTelemetry. Metrik dibuat oleh aplikasi yang menggunakan
library metrik OpenTelemetry Go.
Tab Prometheus API menampilkan
deskripsi metrik yang dibuat saat penerima OTLP menggunakan mode metrik Prometheus default. Tab Monitoring API menampilkan
deskripsi metrik yang dibuat saat penerima OTLP menggunakan
mode metrik googlecloudmonitoring
.
Tidak ada yang berubah dalam aplikasi yang membuat metrik; satu-satunya perubahan adalah mode metrik yang digunakan oleh penerima OTLP.
Aplikasi membuat metrik pengukur OTLP, otlp.test.gauge
, yang
mencatat nilai floating point 64-bit.
Tab berikut menampilkan deskripsi metrik yang dibuat oleh setiap API transfer:
Prometheus API
{ "name": "projects/PROJECT_ID/metricDescriptors/prometheus.googleapis.com/otlp_test_gauge/gauge", "labels": [ { "key": "instance_name" }, { "key": "machine_type" } ], "metricKind": "GAUGE", "valueType": "DOUBLE", "type": "prometheus.googleapis.com/otlp_test_gauge/gauge", "monitoredResourceTypes": [ "prometheus_target" ] }
Monitoring API
{ "name": "projects/PROJECT_ID/metricDescriptors/workload.googleapis.com/otlp.test.gauge", "labels": [ { "key": "instrumentation_source" } ], "metricKind": "GAUGE", "valueType": "DOUBLE", "type": "workload.googleapis.com/otlp.test.gauge", "monitoredResourceTypes": [ "gce_instance", ...many other types deleted... ] }
Aplikasi membuat metrik penghitung OTLP, otlp.test.cumulative
,
yang mencatat peningkatan nilai floating point 64-bit.
Tab berikut menampilkan deskripsi metrik yang dibuat oleh setiap API transfer:
Prometheus API
{ "name": "projects/PROJECT_ID/metricDescriptors/prometheus.googleapis.com/otlp_test_cumulative/counter", "labels": [ { "key": "instance_name" }, { "key": "machine_type" } ], "metricKind": "CUMULATIVE", "valueType": "DOUBLE", "type": "prometheus.googleapis.com/otlp_test_cumulative/counter", "monitoredResourceTypes": [ "prometheus_target" ] }
Monitoring API
{ "name": "projects/PROJECT_ID/metricDescriptors/workload.googleapis.com/otlp.test.cumulative", "labels": [ { "key": "instrumentation_source" } ], "metricKind": "CUMULATIVE", "valueType": "DOUBLE", "type": "workload.googleapis.com/otlp.test.cumulative", "monitoredResourceTypes": [ "gce_instance", ...many other types deleted... ] }
Tabel berikut merangkum beberapa perbedaan format yang diberlakukan oleh API yang digunakan untuk menyerap metrik OTLP:
Prometheus API | Monitoring API | |
---|---|---|
Domain metrik | prometheus.googleapis.com |
workload.googleapis.com |
Nama metrik OTLP | Diubah selama penyerapan | Digunakan sebagaimana yang disediakan |
Resource yang dipantau |
prometheus_target |
gce_instance |
Format dan kueri transfer
Mode metrik yang digunakan di penerima OTLP memengaruhi cara Anda membuat kueri untuk metrik yang dihasilkan di Cloud Monitoring saat membuat diagram, dasbor, dan kebijakan pemberitahuan.
Saat Anda mengonfigurasi diagram, dasbor, atau kebijakan pemberitahuan di Cloud Monitoring, konfigurasi akan menyertakan kueri untuk data tempat diagram, dasbor, atau kebijakan pemberitahuan beroperasi.
Cloud Monitoring mendukung alat berikut untuk membuat kueri data metrik:
- Antarmuka berbasis pembuat kueri yang terintegrasi dengan alat seperti Metrics Explorer, antarmuka pembuat dasbor, dan antarmuka konfigurasi kebijakan pemberitahuan.
- Monitoring Query Language (MQL): Bahasa kueri berbasis teks khusus untuk Cloud Monitoring.
- Prometheus Query Language (PromQL): Bahasa kueri berbasis teks yang digunakan oleh Prometheus open source.
Untuk informasi tentang cara membuat kueri metrik OTLP menggunakan alat ini, lihat artikel berikut:
- Mengkueri metrik OTLP yang diserap menggunakan Prometheus API
- Buat kueri metrik OTLP yang diserap menggunakan Monitoring API
Membuat kueri metrik OTLP yang diserap menggunakan Prometheus API
Bagian ini menggambarkan cara membuat kueri metrik OTLP yang diserap menggunakan Prometheus API, yang merupakan mode metrik default untuk penerima OTLP.
Kueri didasarkan pada metrik OTLP yang dijelaskan dalam Struktur metrik:
otlp.test.gauge
: Metrik pengukur OTLP yang mencatat nilai floating point 64-bit.otlp.test.cumlative
: Metrik penghitung OTLP yang mencatat peningkatan nilai floating point 64-bit.
Metrik ini diserap ke Cloud Monitoring dengan jenis metrik berikut, yang berfungsi sebagai nama:
prometheus.googleapis.com/otlp_test_gauge/gauge
prometheus.googleapis.com/otlp_test_cumulative/counter
Metrik yang diserap menggunakan Prometheus API ditulis berdasarkan
jenis resource yang dipantau prometheus_target
.
Tab ini menunjukkan tampilan kueri dasar saat membuat kueri metrik menggunakan konsol Google Cloud. Contoh ini menggunakan Metrics Explorer, tetapi prinsipnya sama untuk dasbor dan kebijakan pemberitahuan.
Antarmuka pembuat kueri
Untuk menggunakan antarmuka pembuat kueri guna membuat kueri data metrik, Anda harus menentukan jenis metrik dan jenis resource yang dimonitor dengan mengetik ke kolom yang mengaktifkan penelusuran. Jenis resource jauh lebih sedikit daripada jenis metrik, sehingga biasanya lebih efisien untuk menelusuri jenis resource, lalu menggunakan menu metrik terkait untuk menemukan jenis metrik.
Jika Anda memasukkan "prometheus" di kolom penelusuran, hasilnya akan menyertakan
resource prometheus_target
yang dipantau, yang ditampilkan dengan nama tampilan "Prometheus
Target", dan kumpulan metrik yang menulis ke resource. Metrik tersebut
dikategorikan menurut nama; dua contoh metrik muncul sebagai kategori Otlp.
Anda dapat memilih Prometheus/otlp_test_cumulative/counter atau Prometheus/otlp_test_gauge/gauge.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan pembuat kueri, lihat Mem-build kueri menggunakan menu.
Screenshot berikut menunjukkan hasil kueri metrik prometheus.googleapis.com/otlp_test_gauge/gauge
:
Screenshot berikut menunjukkan hasil kueri metrik prometheus.googleapis.com/otlp_test_cumulative/counter
:
MQL
Untuk membuat kueri data metrik menggunakan MQL, gunakan pernyataan fetch
dan tentukan jenis metrik dan jenis resource yang dimonitor, dengan ::
di antaranya. Kueri MQL yang sederhana untuk contoh metrik terlihat seperti
berikut:
fetch prometheus.googleapis.com/otlp_test_gauge/gauge::prometheus_target
fetch prometheus.googleapis.com/otlp_test_cumulative/counter::prometheus_target
Untuk mengetahui informasi selengkapnya tentang cara membuat kueri MQL, lihat Contoh kueri MQL.
Screenshot berikut menunjukkan hasil kueri metrik prometheus.googleapis.com/otlp_test_gauge/gauge
:
Screenshot berikut menunjukkan hasil kueri metrik prometheus.googleapis.com/otlp_test_cumulative/counter
:
PromQL
Saat menggunakan PromQL untuk membuat kueri data metrik yang diserap menggunakan Prometheus API, Anda hanya perlu menentukan bentuk yang diubah dari nama metrik OTLP asli. Anda tidak perlu menentukan string prometheus.googleapis.com/
dengan awalan atau jenis dengan akhiran.
Jika metrik hanya dapat ditulis untuk satu jenis resource yang dimonitor, Anda tidak perlu menentukan resource. Seperti yang dijelaskan dalam Struktur
metrik, metrik OTLP yang diserap menggunakan
Prometheus API hanya ditulis terhadap
jenis resource yang dipantau prometheus_target
.
Kueri PromQL sederhana untuk contoh metrik terlihat seperti berikut:
otlp_test_gauge
otlp_test_cumulative
Untuk informasi selengkapnya tentang cara menggunakan PromQL di Cloud Monitoring untuk membuat kueri terhadap metrik yang diserap menggunakan Prometheus API, lihat Data Google Cloud Managed Service for Prometheus di Cloud Monitoring. Untuk mengetahui informasi tentang bahasa PromQL, lihat Mengkueri Prometheus.
Screenshot berikut menunjukkan hasil kueri metrik prometheus.googleapis.com/otlp_test_gauge/gauge
:
Screenshot berikut menunjukkan hasil kueri metrik prometheus.googleapis.com/otlp_test_cumulative/counter
:
Membuat kueri metrik OTLP yang diserap menggunakan Monitoring API
Bagian ini menggambarkan cara membuat kueri metrik OTLP yang diserap menggunakan Monitoring API. Anda memilih Cloud Monitoring API dengan menetapkan
kolom metrics_mode
penerima OTLP ke nilai
googlecloudmonitoring
.
Kueri didasarkan pada metrik OTLP yang dijelaskan dalam Struktur metrik:
otlp.test.gauge
: Metrik pengukur OTLP yang mencatat nilai floating point 64-bit.otlp.test.cumlative
: Metrik penghitung OTLP yang mencatat peningkatan nilai floating point 64-bit.
Metrik ini diserap ke Cloud Monitoring dengan jenis metrik berikut, yang berfungsi sebagai nama:
workload.googleapis.com/otlp.test.gauge
workload.googleapis.com/otlp.test.cumulative
Metrik yang diserap menggunakan Monitoring API ditulis berdasarkan
jenis resource yang dipantau gce_instance
.
Tab ini menunjukkan tampilan kueri dasar saat membuat kueri metrik menggunakan konsol Google Cloud. Contoh ini menggunakan Metrics Explorer, tetapi prinsipnya sama untuk dasbor dan kebijakan pemberitahuan.
Antarmuka pembuat kueri
Untuk menggunakan antarmuka pembuat kueri guna membuat kueri data metrik, Anda harus menentukan jenis metrik dan jenis resource yang dimonitor dengan mengetik ke kolom yang mengaktifkan penelusuran. Jenis resource jauh lebih sedikit daripada jenis metrik, sehingga biasanya lebih efisien untuk menelusuri jenis resource, lalu menggunakan menu metrik terkait untuk menemukan jenis metrik.Jika Anda memasukkan "gce_instance" di kolom penelusuran, hasilnya akan menampilkan jenis resource berdasarkan nama tampilannya, "VM Instance", dan kumpulan metrik yang menulis ke resource. Metrik dikategorikan menurut nama; dua contoh metrik muncul sebagai kategori Otlp. Anda dapat memilih Workload/otlp_test_cumulative atau Workload/otlp_test_gauge.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan pembuat kueri, lihat Mem-build kueri menggunakan menu.
Screenshot berikut menunjukkan hasil kueri metrik workload.googleapis.com/otlp.test.gauge
:
Screenshot berikut menunjukkan hasil kueri metrik workload.googleapis.com/otlp.test.cumulative
:
MQL
Untuk membuat kueri data metrik menggunakan MQL, gunakan pernyataanfetch
dan tentukan jenis metrik dan jenis resource yang dimonitor, dengan ::
di antaranya. Kueri MQL yang sederhana untuk contoh metrik terlihat seperti
berikut:
fetch workload.googleapis.com/otlp.test.gauge::gce_instance
fetch workload.googleapis.com/otlp.test.cumulative::gce_instance
Untuk mengetahui informasi selengkapnya tentang cara membuat kueri MQL, lihat Contoh kueri MQL.
Screenshot berikut menunjukkan hasil kueri metrik workload.googleapis.com/otlp.test.gauge
:
Screenshot berikut menunjukkan hasil kueri metrik workload.googleapis.com/otlp.test.cumulative
:
PromQL
Saat menggunakan PromQL untuk membuat kueri data metrik yang diserap menggunakan Monitoring API, Anda harus memetakan nama metrik ke konvensi PromQL. Aturan pemetaan dasar mencakup hal berikut:
- Ganti
/
pertama dengan:
. - Ganti semua karakter khusus lainnya (termasuk
.
dan karakter/
lainnya) dengan_
.
Untuk mengetahui informasi selengkapnya tentang aturan pemetaan, lihat Memetakan metrik Cloud Monitoring ke PromQL.
Jenis metrik Monitoring untuk contoh metrik dipetakan ke PromQL sebagai berikut:
workload_googleapis_com:otlp_test_gauge
workload_googleapis_com:otlp_test_cumulative
Jika metrik hanya dapat ditulis untuk satu jenis resource yang dimonitor, Anda tidak perlu menentukan resource. Contoh metrik ditulis
berdasarkan jenis resource yang dimonitor gce_instance
,
tetapi seperti yang dijelaskan dalam Struktur metrik, gce_instance
hanya salah satu dari kemungkinan jenis metrik. Oleh karena itu, kueri
PromQL untuk metrik ini harus menyertakan filter untuk jenis resource
gce_instance
. Untuk menyertakan filter, tambahkan string berikut ke akhir nama metrik yang dipetakan: {monitored_resource="gce_instance"}
Untuk informasi selengkapnya tentang cara menggunakan PromQL di Cloud Monitoring, lihat PromQL di Cloud Monitoring. Untuk mengetahui informasi tentang bahasa PromQL, lihat Mengkueri Prometheus.
Kueri PromQL sederhana untuk contoh metrik terlihat seperti berikut:
workload_googleapis_com:otlp_test_gauge{monitored_resource="gce_instance"}
workload_googleapis_com:otlp_test_cumulative{monitored_resource="gce_instance"}
Screenshot berikut menunjukkan hasil kueri metrik workload.googleapis.com/otlp.test.gauge
:
Screenshot berikut menunjukkan hasil kueri metrik workload.googleapis.com/otlp.test.cumulative
:
Melihat penggunaan dan diagnostik metrik di Cloud Monitoring
Halaman Pengelolaan Metrik Cloud Monitoring memberikan informasi yang dapat membantu Anda mengontrol jumlah yang Anda belanjakan untuk metrik yang dapat ditagih tanpa memengaruhi visibilitas. Halaman Pengelolaan Metrik melaporkan informasi berikut:
- Volume transfer untuk penagihan berbasis byte dan sampel, di seluruh domain metrik dan untuk setiap metrik.
- Data tentang label dan kardinalitas metrik.
- Jumlah pembacaan untuk setiap metrik.
- Penggunaan metrik dalam kebijakan pemberitahuan dan dasbor kustom.
- Rasio error penulisan metrik.
Anda juga dapat menggunakan Pengelolaan Metrik untuk mengecualikan metrik yang tidak diperlukan, sehingga menghilangkan biaya penyerapannya.
Untuk melihat halaman Pengelolaan Metrik, lakukan tindakan berikut:
-
Di konsol Google Cloud, buka halaman
Metrics management:Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Di toolbar, pilih jangka waktu. Secara default, halaman Pengelolaan Metrik menampilkan informasi tentang metrik yang dikumpulkan dalam satu hari sebelumnya.
Untuk informasi selengkapnya tentang halaman Pengelolaan Metrik, lihat Melihat dan mengelola penggunaan metrik.
Mengumpulkan rekaman aktivitas OTLP
Jika Anda telah mengonfigurasi Agen Ops untuk mengumpulkan rekaman aktivitas, tetapi tidak mendapatkan rekaman aktivitas di Cloud Trace saat menjalankan aplikasi, Anda mungkin perlu memberikan peran tambahan ke akun layanan Compute Engine yang digunakan agen. Secara default, akun layanan mendapatkan peran yang diperlukan untuk menulis metrik dan log, tetapi tidak untuk rekaman aktivitas.
Bagian berikut menjelaskan cara memberikan otorisasi Cloud Trace yang diperlukan kepada akun layanan.
Menentukan peran yang diberikan ke akun layanan
Untuk melihat peran yang diberikan ke akun layanan, jalankan perintah
gcloud projects get-iam-policy
berikut:
gcloud projects get-iam-policy PROJECT_ID --format="table(bindings.role)" --flatten="bindings[].members" --filter="bindings.members:SERVICE_ACCT_NAME@PROJECT_ID.iam.gserviceaccount.com"
Anda mungkin melihat output seperti berikut:
ROLE roles/logging.logWriter roles/monitoring.metricWriter
Jika output menyertakan roles/cloudtrace.agent
atau
roles/cloudtrace.admin
, akun layanan memiliki izin
yang memadai untuk menulis rekaman aktivitas. Untuk memberikan salah satu peran ini ke akun
layanan, lihat bagian berikut.
Memberikan peran Cloud Trace ke akun layanan
Untuk akun layanan, peran Agen Cloud Trace,
roles/cloudtrace.agent
,
biasanya sesuai. Untuk memberikan peran ini ke akun layanan, jalankan perintah gcloud projects
add-iam-policy-binding
berikut:
gcloud projects add-iam-policy-binding PROJECT_ID --member "serviceAccount:SERVICE_ACCT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudtrace.agent"
Kemudian, Anda dapat menjalankan perintah gcloud projects get-iam-policy
untuk memverifikasi bahwa perubahan telah dilakukan:
gcloud projects get-iam-policy PROJECT_ID --format="table(bindings.role)" --flatten="bindings[].members" --filter="bindings.members:SERVICE_ACCT_NAME@PROJECT_ID.iam.gserviceaccount.com"
Output kini menyertakan roles/cloudtrace.agent
:
ROLE roles/cloudtrace.agent roles/logging.logWriter roles/monitoring.metricWriter
Untuk mengetahui informasi selengkapnya tentang cara mengelola peran IAM, lihat Mengelola akses ke project, folder, dan organisasi.
Setelah Anda memberikan otorisasi ke akun layanan yang digunakan oleh Ops Agent untuk menulis data ke Cloud Trace, saat Anda menjalankan aplikasi berbasis OpenTelemetry, trace akan muncul di Cloud Trace:
Menonaktifkan penerima OTLP
Jika Anda mengumpulkan metrik dan trace OTLP menggunakan Agen Operasional, dan ingin menonaktifkan pengumpulan metrik atau trace, tetapi tidak keduanya, lakukan tindakan berikut:
Nonaktifkan pengumpulan metrik atau rekaman aktivitas dengan melakukan salah satu perubahan berikut pada file konfigurasi pengguna,
config.yaml
:- Hapus pipeline
otlp
dari layananmetrics
. - Hapus pipeline
otlp
dari layanantraces
.
- Hapus pipeline
Untuk menonaktifkan pengumpulan metrik dan trace OTLP oleh Agen Operasional, lakukan hal berikut:
Hapus konfigurasi OTLP dari file konfigurasi pengguna:
- Hapus seluruh bagian
combined
, yang mencakup penerimaotlp
. - Hapus pipeline
otlp
dari layananmetrics
. - Hapus seluruh layanan
traces
.
- Hapus seluruh bagian
Langkah selanjutnya
Setelah metrik dan rekaman aktivitas aplikasi diserap, Anda dapat menggunakan konsol Google Cloud untuk memantau dan menganalisis data.
- Untuk informasi tentang dasbor dan jenis diagram yang dapat Anda buat, lihat Dasbor dan diagram.
- Untuk informasi tentang kebijakan pemberitahuan, lihat Menggunakan kebijakan pemberitahuan.
- Untuk mengetahui informasi tentang cara menganalisis data rekaman aktivitas, lihat Menemukan dan menjelajahi rekaman aktivitas.