Mengumpulkan metrik dan trace OpenTelemetry Protocol (OTLP)

Dokumen ini menjelaskan cara menggunakan Agen Operasional dan penerima OpenTelemetry Protocol (OTLP) untuk mengumpulkan metrik dan trace yang ditentukan pengguna dari aplikasi yang diinstrumentasi menggunakan OpenTelemetry dan berjalan di Compute Engine.

Dokumen ini disusun sebagai berikut:

Ringkasan penggunaan penerima OTLP

Dengan penerima OTLP Agen Operasional, Anda dapat melakukan hal berikut:

  • Lengkapi aplikasi Anda dengan menggunakan salah satu SDK khusus bahasa untuk OpenTelemetry. Untuk mengetahui informasi tentang bahasa yang didukung, lihat Instrumentasi OpenTelemetry. Kombinasi OpenTelemetry SDK dan Agen Operasional akan melakukan hal berikut untuk Anda:
    • Kumpulkan metrik OTLP dari aplikasi Anda dan kirim metrik tersebut ke Cloud Monitoring untuk dianalisis.
    • Kumpulkan span OTLP—data rekaman aktivitas—dari aplikasi Anda, lalu kirim span tersebut ke Cloud Trace untuk dianalisis.
  • Mengumpulkan rekaman aktivitas dari aplikasi pihak ketiga yang memiliki dukungan bawaan untuk OTLP atau plugin dengan dukungan tersebut, aplikasi seperti Nginx. Penerima OTLP di Agen Operasional dapat mengumpulkan trace tersebut. Untuk contohnya, lihat modul nginx OpenTelemetry.
  • Menggunakan instrumentasi kustom OpenTelemetry.
  • Gunakan instrumentasi otomatis OpenTelemetry.

Anda dapat menggunakan penerima untuk mengumpulkan metrik, rekaman aktivitas, atau keduanya. Setelah Agen Operasional mengumpulkan metrik, Anda dapat menggunakan fitur Cloud Monitoring, termasuk diagram, dasbor, dan kebijakan pemberitahuan, untuk memantau metrik. Jika aplikasi Anda juga mengirimkan data rekaman aktivitas, Anda dapat menggunakan Cloud Trace untuk menganalisis data tersebut.

Manfaat

Sebelum plugin OTLP tersedia untuk Agen Operasional, cara utama untuk menginstrumentasikan aplikasi Anda guna mengumpulkan metrik dan trace yang ditentukan pengguna meliputi:

  • Penggunaan library klien yang mengimplementasikan Monitoring API atau Trace API.
  • Menggunakan library OpenCensus lama.

Penggunaan OpenTelemetry dengan penerima OTLP memiliki beberapa manfaat dibandingkan metode ini, termasuk:

  • OpenTelemetry adalah pengganti OpenCensus. Project OpenCensus sedang diarsipkan. Untuk mengetahui informasi selengkapnya, lihat Apa itu OpenTelemetry?.
  • Penyerapan 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 harus menggunakan Monitoring API atau Trace API secara langsung.
  • Aplikasi Anda mengirimkan data ke Agen Operasional, dan jika aplikasi Anda mengalami error, data apa pun yang telah dikumpulkan oleh Agen Operasional tidak akan hilang.

Batasan

Pemroses OTLP yang diekspos oleh penerima Agen Operasional mendukung transpor gRPC. HTTP, yang terutama digunakan untuk klien JavaScript, tidak didukung. Untuk informasi lebih lanjut tentang OpenTelemetry Protocol, lihat Detail Protokol.

Penerima OTLP tidak mengumpulkan log. Anda dapat mengumpulkan log menggunakan Agen Operasional dan penerima lainnya, serta dapat menyertakan informasi log dalam span OTLP, tetapi penerima OTLP tidak mendukung pengumpulan langsung log. Untuk mengetahui informasi tentang cara menggunakan Agen Operasional guna mengumpulkan log, lihat Konfigurasi logging.

Prasyarat

Untuk mengumpulkan metrik dan trace OTLP menggunakan penerima OTLP dan Agen Operasional, Anda harus menginstal Agen Operasional versi 2.37.0 atau yang lebih baru.

Dokumen ini mengasumsikan bahwa Anda sudah memiliki aplikasi berbasis OpenTelemetry yang ditulis menggunakan salah satu OpenTelemetry SDK. Dokumen ini tidak mencakup penggunaan SDK OpenTelemetry. Untuk informasi tentang SDK dan bahasa yang didukung, lihat Instrumentasi OpenTelemetry.

Mengonfigurasi Agen Operasional

Untuk mengonfigurasi Agen Operasional agar menggunakan penerima OTLP, lakukan tindakan berikut:

  1. Ubah file konfigurasi pengguna untuk Agen Operasional agar menyertakan penerima OTLP.
  2. 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. Penggunaan penerima mengharuskan Anda mengonfigurasi layanan untuk metrik dan trace, 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 prosesor atau layanan yang diizinkan di bagian combined. Anda tidak boleh mengonfigurasi penerima lain dengan nama yang sama dengan 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 otlp
  • grpc_endpoint: Opsional. Endpoint gRPC tempat penerima OTLP diproses. Nilai defaultnya adalah 0.0.0.0:4317.
  • metrics_mode: Opsional. Defaultnya adalah googlemanagedprometheus, yang berarti penerima mengirim metrik OTLP sebagai metrik berformat Prometheus dengan menggunakan Prometheus API yang juga digunakan oleh Google Cloud Managed Service for Prometheus.

    Untuk mengirim metrik sebagai metrik kustom Cloud Monitoring dengan menggunakan Monitoring API, tetapkan opsi metrics_mode ke nilai googlecloudmonitoring.

    Pilihan ini memengaruhi cara metrik diserap dan cara metrik tersebut diukur untuk penagihan. Untuk 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 untuk trace. Jika tidak mengumpulkan metrik atau trace, Anda dapat membuat layanan kosong. Jika sudah memiliki layanan dengan pipeline lain, Anda dapat menambahkan pipeline OTLP ke pipeline tersebut.

Gambar berikut 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 koleksi OTLP, biarkan penerima OTLP keluar dari pipeline untuk layanan tersebut. Layanan harus ada, meskipun tidak memiliki pipeline. Jika aplikasi Anda mengirimkan data dari jenis tertentu dan tidak ada pipeline sesuai yang menyertakan penerima, Agen Operasional akan menghapus data tersebut.

Memulai ulang Agen Operasional

Untuk menerapkan perubahan konfigurasi, Anda harus memulai ulang Agen Operasional.

Linux

  1. Untuk memulai ulang agen, jalankan perintah berikut pada instance Anda:
    sudo systemctl restart google-cloud-ops-agent
    
  2. Untuk mengonfirmasi bahwa agen dimulai ulang, jalankan perintah berikut dan verifikasi bahwa komponen "Metrics Agent" dan "Logging Agent" dimulai:
    sudo systemctl status "google-cloud-ops-agent*"
    

Windows

  1. Hubungkan ke instance Anda menggunakan RDP atau alat serupa, lalu login ke Windows.
  2. Buka terminal PowerShell yang memiliki hak istimewa administrator dengan mengklik kanan ikon PowerShell dan memilih Run as Administrator
  3. Untuk memulai ulang agen, jalankan perintah PowerShell berikut:
    Restart-Service google-cloud-ops-agent -Force
    
  4. 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 menentukan pilihan ini dengan mengubah opsi metrics_mode di 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 Monitoring.

Bagian berikut menjelaskan perbedaan format yang digunakan oleh mode metrik dan cara mengkueri data yang diserap untuk digunakan dalam Monitoring.

Format proses transfer 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 ini diserap menggunakan API yang sama dengan yang digunakan oleh Managed Service for Prometheus.

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 dalam Cloud Monitoring. Anda dapat membuat diagram, dasbor, dan kebijakan pemberitahuan di Monitoring untuk metrik dalam salah satu format metrik, tetapi Anda merujuk pada 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, dan cara merujuk ke metrik dalam kueri.

Harga dan kuota

Format penyerapan yang Anda gunakan akan menentukan cara penagihan metrik OTLP:

  • Prometheus API: Saat Anda menggunakan Prometheus API untuk menyerap metrik aplikasi, data tunduk pada harga berdasarkan sampel, seolah-olah metrik tersebut masuk menggunakan Managed Service for Prometheus.

  • Monitoring API: Saat Anda menggunakan Monitoring API untuk menyerap metrik aplikasi, data tersebut akan dikenai harga berbasis volume, seperti data dari integrasi lain dengan Agen Operasional.

Metrik yang diserap menggunakan penerima OTLP dianggap sebagai jenis metrik "kustom" saat diserap ke dalam 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, keterkaitan setiap nilai dengan nilai sebelumnya, dan label yang terkait dengan nilai tersebut. Jika Anda mengonfigurasi penerima OTLP untuk menyerap metrik menggunakan Prometheus API, deskripsi metrik yang dibuat berbeda dengan deskripsi metrik yang dibuat saat Anda menggunakan Monitoring API.

Prometheus API: Saat Anda menggunakan Prometheus API untuk menyerap metrik aplikasi, setiap metrik ditransformasikan menggunakan transformasi OpenTelemetry-to-Prometheus standar dan dipetakan ke jenis resource yang dimonitor Cloud Monitoring.

  • Transformasi ini mencakup perubahan berikut:
    • Nama metrik OTLP diawali dengan string prometheus.googleapis.com/.
    • Semua karakter non-alfanumerik, seperti titik (.), dalam nama metrik OTLP diganti dengan garis bawah (_).
    • Nama metrik OTLP diberi akhiran dengan string yang menunjukkan jenis metrik, seperti /gauge atau /counter.
  • Label berikut, yang diisi dengan nilai dari resource OTLP, akan ditambahkan ke metrik:
    • instance_name: Nilai atribut resource host.name.
    • machine_type: Nilai atribut resource host.type.
  • Resource yang dipantau yang dicatat dengan pengukuran metrik adalah jenis prometheus_target umum. Deret waktu Prometheus yang dihasilkan mencakup label berikut dari resource prometheus_target, yang diisi dengan nilai dari resource OTLP:

    • location: Nilai atribut resource cloud.availability_zone.
    • namespace: Nilai atribut resource host.id.

    Jenis resource prometheus_target juga menyertakan label berikut:

    • project_id: ID project Google Cloud, seperti my-project, tempat Agen Operasional 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 akan diambil dari informasi tentang VM yang menjalankan Agen Operasional. Perilaku ini berarti bahwa data OTLP tanpa atribut resource ini muncul dengan label yang sama dengan data yang dikumpulkan oleh penerima Operations Agent Prometheus.

Monitoring API: Saat Anda menggunakan Monitoring API untuk menyerap metrik aplikasi, setiap metrik akan ditangani sebagai berikut:

  • Nama metrik OTLP diawali dengan string workload.googleapis.com/, kecuali jika nama metrik OTLP sudah berisi string ini atau domain metrik lain yang valid, seperti custom.googleapis.com. Sebaiknya gunakan domain "beban kerja".
  • Resource yang dipantau 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 Go OpenTelemetry. 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 di aplikasi yang membuat metrik. Satu-satunya perubahan adalah mode metrik yang digunakan oleh penerima OTLP.

Aplikasi ini membuat metrik pengukur OTLP, otlp.test.gauge, yang mencatat nilai floating point 64-bit. Tab berikut menunjukkan deskripsi metrik yang dibuat oleh setiap API penyerapan:

API Prometheus

{
  "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 ini membuat metrik penghitung OTLP, otlp.test.cumulative, yang mencatat peningkatan nilai floating point 64 bit. Tab berikut menunjukkan deskripsi metrik yang dibuat oleh setiap API penyerapan:

API Prometheus

{
  "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:

  API Prometheus Monitoring API
Domain metrik prometheus.googleapis.com workload.googleapis.com
Nama metrik OTLP Diubah selama penyerapan Digunakan sesuai ketentuan
Resource yang dimonitor prometheus_target gce_instance

Format dan kueri proses transfer

Mode metrik yang digunakan pada penerima OTLP memengaruhi cara Anda membuat kueri metrik yang dihasilkan di Cloud Monitoring saat Anda membuat diagram, dasbor, dan kebijakan pemberitahuan.

Saat Anda mengonfigurasi diagram, dasbor, atau kebijakan pemberitahuan di Cloud Monitoring, konfigurasi tersebut mencakup kueri untuk data tempat diagram, dasbor, atau kebijakan pemberitahuan dioperasikan.

Cloud Monitoring mendukung alat berikut untuk membuat kueri data metrik:

  • Antarmuka berbasis pembuat kueri yang terintegrasi dalam alat seperti Metrics Explorer, antarmuka pembuat dasbor, dan antarmuka konfigurasi pemberitahuan kebijakan.
  • Bahasa Kueri Monitoring (MQL): Bahasa kueri berbasis teks khusus untuk Cloud Monitoring.
  • Prometheus Query Language (PromQL): Bahasa kueri berbasis teks yang digunakan oleh Prometheus open source.

Untuk mendapatkan informasi tentang cara membuat kueri metrik OTLP menggunakan alat ini, lihat artikel berikut:

Mengkueri metrik OTLP yang diserap menggunakan Prometheus API

Bagian ini mengilustrasikan 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 dalam 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 dimonitor prometheus_target.

Tab tersebut 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, tentukan jenis metrik dan jenis resource yang dimonitor dengan mengetik di kolom yang mendukung penelusuran. Jumlah jenis resource jauh lebih sedikit dibandingkan jenis metrik, jadi biasanya paling efisien untuk menelusuri jenis resource, lalu menggunakan menu metrik terkait untuk menemukan jenis metrik.

Jika Anda memasukkan "prometheus" di kolom penelusuran, hasilnya akan mencakup resource yang dimonitor prometheus_target, yang ditampilkan dengan nama tampilan "Prometheus Target", dan kumpulan metrik yang menulis ke resource. Metrik dikategorikan berdasarkan 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 penggunaan builder kueri, lihat Membuat kueri dengan menggunakan menu.

Screenshot berikut menunjukkan hasil kueri terhadap metrik prometheus.googleapis.com/otlp_test_gauge/gauge:

Diagram Metrics Explorer berbasis Builder untuk metrik pengukur OTLP yang diserap menggunakan Prometheus API.

Screenshot berikut menunjukkan hasil kueri terhadap metrik prometheus.googleapis.com/otlp_test_cumulative/counter:

Diagram Metrics Explorer berbasis Builder untuk metrik penghitung OTLP yang diserap menggunakan Prometheus API.

MQL

Untuk membuat kueri data metrik menggunakan MQL, gunakan pernyataan fetch, lalu tentukan jenis metrik dan jenis resource yang dimonitor, dengan :: di antara keduanya. Kueri MQL sederhana untuk contoh metrik akan terlihat seperti berikut:

  • fetch prometheus.googleapis.com/otlp_test_gauge/gauge::prometheus_target
  • fetch prometheus.googleapis.com/otlp_test_cumulative/counter::prometheus_target

Untuk informasi selengkapnya tentang pembuatan kueri MQL, lihat Contoh kueri MQL.

Screenshot berikut menunjukkan hasil kueri terhadap metrik prometheus.googleapis.com/otlp_test_gauge/gauge:

Diagram MQL Metrics Explorer untuk metrik pengukur OTLP yang diserap menggunakan Prometheus API.

Screenshot berikut menunjukkan hasil kueri terhadap metrik prometheus.googleapis.com/otlp_test_cumulative/counter:

Diagram Metrics Explorer MQL untuk metrik penghitung OTLP yang diserap menggunakan Prometheus API.

PromQL

Saat menggunakan PromQL untuk membuat kueri data metrik yang diserap menggunakan Prometheus API, Anda hanya perlu menentukan bentuk perubahan nama metrik OTLP asli. Anda tidak perlu menentukan string prometheus.googleapis.com/ berawalan atau jenis postfixed.

Jika metrik hanya dapat ditulis berdasarkan satu jenis resource yang dipantau, Anda tidak perlu menentukan resource-nya. Seperti yang dijelaskan dalam Struktur metrik, metrik OTLP yang diserap menggunakan Prometheus API hanya ditulis berdasarkan jenis resource yang dimonitor prometheus_target. Kueri PromQL sederhana untuk contoh metrik akan terlihat seperti berikut:

  • otlp_test_gauge
  • otlp_test_cumulative

Untuk mengetahui informasi selengkapnya tentang penggunaan PromQL di Cloud Monitoring untuk mengkueri metrik yang diserap menggunakan Prometheus API, lihat data Google Cloud Managed Service untuk Prometheus di Cloud Monitoring. Untuk mengetahui informasi tentang bahasa PromQL, lihat Membuat Kueri Prometheus.

Screenshot berikut menunjukkan hasil kueri terhadap metrik prometheus.googleapis.com/otlp_test_gauge/gauge:

Diagram PromQL Metrics Explorer untuk metrik pengukur OTLP yang diserap menggunakan Prometheus API.

Screenshot berikut menunjukkan hasil kueri terhadap metrik prometheus.googleapis.com/otlp_test_cumulative/counter:

Diagram Metrics Explorer PromQL untuk metrik penghitung OTLP yang diserap menggunakan Prometheus API.

Metrik OTLP kueri yang diserap menggunakan Monitoring API

Bagian ini mengilustrasikan cara membuat kueri untuk 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 dalam 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 akan ditulis berdasarkan jenis resource yang dimonitor gce_instance.

Tab tersebut 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, tentukan jenis metrik dan jenis resource yang dimonitor dengan mengetik di kolom yang mendukung penelusuran. Jumlah jenis resource jauh lebih sedikit dibandingkan jenis metrik, jadi biasanya paling 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 tersebut. Metrik dikategorikan berdasarkan 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 penggunaan builder kueri, lihat Membuat kueri dengan menggunakan menu.

Screenshot berikut menunjukkan hasil kueri terhadap metrik workload.googleapis.com/otlp.test.gauge:

Diagram Metrics Explorer berbasis Builder untuk metrik pengukur OTLP yang diserap menggunakan Monitoring API.

Screenshot berikut menunjukkan hasil kueri terhadap metrik workload.googleapis.com/otlp.test.cumulative:

Diagram Metrics Explorer berbasis Builder untuk metrik penghitung OTLP yang diserap menggunakan Monitoring API.

MQL

Untuk membuat kueri data metrik menggunakan MQL, gunakan pernyataan fetch, lalu tentukan jenis metrik dan jenis resource yang dimonitor, dengan :: di antara keduanya. Kueri MQL sederhana untuk contoh metrik akan terlihat seperti berikut:

  • fetch workload.googleapis.com/otlp.test.gauge::gce_instance
  • fetch workload.googleapis.com/otlp.test.cumulative::gce_instance

Untuk informasi selengkapnya tentang pembuatan kueri MQL, lihat Contoh kueri MQL.

Screenshot berikut menunjukkan hasil kueri terhadap metrik workload.googleapis.com/otlp.test.gauge:

Diagram MQL Metrics Explorer untuk metrik pengukur OTLP yang diserap menggunakan Monitoring API.

Screenshot berikut menunjukkan hasil kueri terhadap metrik workload.googleapis.com/otlp.test.cumulative:

Diagram Metrics Explorer MQL untuk metrik penghitung OTLP yang diserap menggunakan Monitoring API.

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

  • Ganti / pertama dengan :.
  • Ganti semua karakter khusus lainnya (termasuk . dan karakter / lainnya) dengan _.

Untuk mengetahui informasi selengkapnya tentang aturan pemetaan, lihat artikel 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 berdasarkan satu jenis resource yang dipantau, Anda tidak perlu menentukan resource-nya. Contoh metrik ditulis berdasarkan jenis resource yang dimonitor gce_instance, tetapi seperti yang dijelaskan dalam Struktur metrik, gce_instance hanyalah salah satu jenis metrik yang memungkinkan. 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 mengetahui informasi selengkapnya tentang penggunaan PromQL di Cloud Monitoring, lihat PromQL di Cloud Monitoring. Untuk mengetahui informasi tentang bahasa PromQL, lihat Membuat Kueri Prometheus.

Kueri PromQL sederhana untuk contoh metrik akan 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 terhadap metrik workload.googleapis.com/otlp.test.gauge:

Diagram PromQL Metrics Explorer untuk metrik pengukur OTLP yang diserap menggunakan Monitoring API.

Screenshot berikut menunjukkan hasil kueri terhadap metrik workload.googleapis.com/otlp.test.cumulative:

Diagram Metrics Explorer PromQL untuk metrik penghitung OTLP yang diserap menggunakan Monitoring API.

Lihat penggunaan dan diagnostik metrik di Cloud Monitoring

Halaman Metrics Management Cloud Monitoring menyediakan informasi yang dapat membantu Anda mengontrol jumlah biaya yang dikeluarkan untuk metrik yang dapat dikenakan biaya tanpa memengaruhi kemampuan observasi. Halaman Pengelolaan Metrik melaporkan informasi berikut:

  • Volume penyerapan untuk penagihan berbasis byte dan sampel, di seluruh domain metrik dan untuk masing-masing metrik.
  • Data tentang label dan kardinalitas metrik.
  • Penggunaan metrik dalam kebijakan pemberitahuan dan dasbor kustom.
  • Rasio error penulisan metrik.

Untuk menampilkan halaman Metrics Management, lakukan hal berikut:

  1. Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih  Metrics management:

    Buka Pengelolaan metrik

  2. Di toolbar, pilih periode waktu. Secara default, halaman Metrics Management menampilkan informasi tentang metrik yang dikumpulkan dalam satu hari sebelumnya.

Untuk informasi selengkapnya tentang halaman Metrics Management, baca artikel Melihat dan mengelola penggunaan metrik.

Mengumpulkan rekaman aktivitas OTLP

Jika telah mengonfigurasi Agen Operasional untuk mengumpulkan trace, tetapi tidak mendapatkan trace 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 bukan pelacakan.

Bagian berikut ini menjelaskan cara memberikan otorisasi Cloud Trace yang diperlukan ke 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 akan 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"

Selanjutnya, 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-nya kini menyertakan roles/cloudtrace.agent:

ROLE
roles/cloudtrace.agent
roles/logging.logWriter
roles/monitoring.metricWriter

Untuk mengetahui informasi selengkapnya tentang cara mengelola peran IAM, baca artikel Mengelola akses ke project, folder, dan organisasi.

Setelah Anda mengizinkan akun layanan yang digunakan oleh Agen Operasional untuk menulis data ke Cloud Trace, saat Anda menjalankan aplikasi berbasis OpenTelemetry, trace tersebut akan muncul di Cloud Trace:

Panel detail rekaman aktivitas menampilkan rekaman aktivitas OTLP.

Menonaktifkan penerima OTLP

Jika Anda mengumpulkan metrik dan trace OTLP menggunakan Agen Operasional, dan ingin menonaktifkan pengumpulan salah satu metrik atau trace, tetapi tidak keduanya, lakukan tindakan berikut:

  1. Nonaktifkan pengumpulan metrik atau trace dengan melakukan salah satu perubahan berikut pada file konfigurasi pengguna, config.yaml:

    • Hapus pipeline otlp dari layanan metrics.
    • Hapus pipeline otlp dari layanan traces.
  2. Mulai ulang Agen Operasional.

Untuk menonaktifkan pengumpulan metrik OTLP dan trace oleh Agen Operasional, lakukan tindakan berikut:

  1. Hapus konfigurasi OTLP dari file konfigurasi pengguna:

    • Hapus seluruh bagian combined, yang mencakup penerima otlp.
    • Hapus pipeline otlp dari layanan metrics.
    • Hapus seluruh layanan traces.
  2. Mulai ulang Agen Operasional.

Langkah selanjutnya

Setelah metrik dan trace aplikasi diserap, Anda dapat menggunakan Konsol Google Cloud untuk memantau dan menganalisis data.