Dokumen ini memperkenalkan penggunaan OpenTelemetry Collector dengan eksportir
otlphttp dan Telemetry (OTLP) API,
telemetry.googleapis.com, yang menerapkan OpenTelemetry OTLP Protocol.
Kombinasi eksportir otlphttp dan Telemetry API memungkinkan Anda
memasukkan metrik OTLP ke Cloud Monitoring.
Endpoint OTLP mendukung semua protokol OTLP, termasuk
http/proto, http/json, dan grpc. Untuk mengetahui informasi selengkapnya, lihat
Dukungan protokol.
Anda juga dapat mengirim metrik langsung ke Telemetry API dari aplikasi yang menggunakan SDK. Untuk mengetahui informasi selengkapnya, lihat Menggunakan SDK untuk mengirim metrik dari aplikasi.
Jika menggunakan Google Kubernetes Engine, Anda dapat mengikuti Managed OpenTelemetry untuk GKE, bukan men-deploy dan mengonfigurasi OpenTelemetry Collector secara manual yang menggunakan Telemetry API.
OTLP untuk metrik Prometheus hanya berfungsi saat menggunakan OpenTelemetry Collector versi 0.140.0 atau yang lebih baru.
Nama metrik dan label di Telemetry API
Bagian ini menjelaskan konvensi dan persyaratan penamaan untuk metrik yang dimasukkan ke Cloud Monitoring menggunakan Telemetry API:
Nama metrik dan kunci label tidak mendukung UTF-8 penuh.
- Nama metrik yang tidak sesuai dengan ekspresi reguler
[a-zA-Z][a-zA-Z0-9_:./]*akan ditolak. - DataPoint yang berisi atribut (yaitu, kunci label) yang tidak sesuai dengan ekspresi reguler
[a-zA-Z_][a-zA-Z0-9_.]*akan ditolak.
Untuk mencegah penolakan metrik Anda karena alasan ini, Anda dapat menyiapkan pemroses untuk mengubah nama dan atribut metrik Anda dengan menggunakan fungsi
replace_pattern.- Nama metrik yang tidak sesuai dengan ekspresi reguler
Penting: Mengirim kueri nama metrik dan kunci label dengan karakter khusus selain titik dua (
:) dan garis bawah (_) mengharuskan Anda menyertakannya dalam tanda kurung kurawal ({}) dan tanda petik ("), sesuai dengan spesifikasi UTF-8 PromQL. Misalnya, kueri berikut valid:{"my.metric.name"}{"my.metric.name", "label.key.KEY"="value"}
Metrik Telemetry API dan Cloud Monitoring
Bagian ini menjelaskan cara metrik yang di-ingest menggunakan Telemetry API dan eksportir otlphttp berinteraksi dengan Cloud Monitoring:
Mungkin ada kemungkinan konflik jenis nilai antara metrik jenis
INT64danDOUBLE, khususnya jika Anda sebelumnya telah mengirimkan metriktarget_info. Jika Anda mengalami jenis konflik ini, hapus deskriptor metrikINT64. Anda dapat menggunakan skrip Golang ini untuk menghapus semua metrikINT64target_infodari cakupan metrik Anda.Mempertahankan label
lesaat membuat kueri histogram Eksponensial dapat menampilkan hasil yang tidak terduga. Kuerihistogram_quantile(.99, sum by (le) (metric))yang lebih umum diperkirakan akan berfungsi.Metrik delta mungkin tidak dikueri dengan benar dalam keadaan tertentu, seperti delta yang sangat jarang.
Dukungan protokol
Endpoint OTLP mendukung semua protokol OTLP, termasuk
http/proto, http/json, dan grpc. Saat mengekspor dari
OpenTelemetry Collector, Anda dapat menggunakan salah satu protokol. Namun, karena kurangnya dukungan untuk penggantian token dinamis di sebagian besar pengekspor SDK, sebaiknya gunakan hanya pengekspor gRPC OTLP, bukan pengekspor HTTP, saat mengekspor langsung dari SDK. Untuk mengetahui informasi selengkapnya, lihat
Menggunakan SDK untuk mengirim metrik dari aplikasi.
Penagihan
Penagihan untuk metrik OTLP diperhitungkan dalam SKU "Prometheus Samples Ingested", yang sama dengan yang digunakan untuk metrik dari Google Cloud Managed Service for Prometheus. Untuk mengetahui informasi selengkapnya, lihat halaman Penagihan.
Batas dan kuota
Penyerapan metrik menggunakan Telemetry API tunduk pada batas metrik Telemetry API.
Selain itu, semua kuota dan batas metrik Cloud Monitoring dan Google Cloud Managed Service for Prometheus standar berlaku. Misalnya, metrik tidak boleh memiliki lebih dari 200 label.
Kuota default untuk metrik yang di-ingest oleh Telemetry API adalah 60.000 permintaan per menit. Dengan ukuran batch maksimum 200 titik per permintaan, ini adalah kuota default yang efektif sebesar 200.000 sampel per detik. Anda dapat meminta penambahan kuota.
Langkah berikutnya
- Untuk mengetahui petunjuk langkah demi langkah tentang cara men-deploy dan menggunakan OpenTelemetry Collector dengan Telemetry API, lihat Men-deploy dan menggunakan pengumpul data
- Untuk informasi tentang pengiriman metrik ke Telemetry API dari aplikasi yang menggunakan SDK, lihat Menggunakan SDK untuk mengirim metrik dari aplikasi.
- Untuk mengetahui informasi tentang penggunaan OpenTelemetry Collector dan Telemetry API dengan instrumentasi tanpa kode OpenTelemetry, lihat Menggunakan instrumentasi tanpa kode OpenTelemetry untuk Java.
- Untuk mengetahui informasi tentang cara bermigrasi ke eksportir
otlphttpdari eksportir lain, lihat Bermigrasi ke eksportir OTLP. - Untuk mempelajari Telemetry API lebih lanjut, lihat Ringkasan Telemetry (OTLP) API.