Dokumen ini memperkenalkan penggunaan OpenTelemetry Collector dengan eksportir
otlphttp dan Telemetry (OTLP) API,
telemetry.googleapis.com, yang mengimplementasikan OpenTelemetry Line Protocol.
Kombinasi eksportir otlphttp dan Telemetry API memungkinkan Anda menyerap metrik OTLP ke Cloud Monitoring.
Endpoint OTLP mendukung semua protokol OTLP, termasuk http/protobuf, 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 OpenTelemetry Terkelola 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 penamaan dan persyaratan untuk metrik yang diserap ke Cloud Monitoring menggunakan Telemetry API:
Nama metrik dan kunci label tidak mendukung UTF-8 lengkap.
- Nama metrik yang tidak sesuai dengan ekspresi reguler
[a-zA-Z][a-zA-Z0-9_:./-]*akan ditolak. Satu-satunya karakter khusus yang diizinkan dalam nama metrik adalah dalam kumpulan_:./-. - DataPoint yang berisi atribut (yaitu, kunci label) yang tidak
sesuai dengan ekspresi reguler
[a-zA-Z_][a-zA-Z0-9_.]*akan ditolak. Satu-satunya karakter khusus yang diizinkan dalam kunci label adalah dalam kumpulan_.. Semua karakter khusus diizinkan dalam nilai label.
Untuk mencegah penolakan metrik karena alasan ini, Anda dapat menyiapkan a prosesor untuk mengubah nama dan atribut metrik Anda menggunakan fungsi
replace_pattern.- Nama metrik yang tidak sesuai dengan ekspresi reguler
Penting: Untuk membuat kueri nama metrik dan kunci label dengan karakter khusus selain titik dua (
:) dan garis bawah (_), Anda harus mengapitnya dengan tanda kurung kurawal ({}) dan tanda kutip ("), 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 diserap menggunakan Telemetry API dan eksportir otlphttp berinteraksi dengan Cloud Monitoring:
Mungkin ada kemungkinan terjadi konflik jenis nilai antara metrik jenis
INT64danDOUBLE, khususnya jika Anda sebelumnya mengirim metriktarget_info. Jika Anda mengalami jenis konflik ini, hapus deskriptor metrikINT64. Anda dapat menggunakan skrip Golang ini untuk menghapus semua metrik jenisINT64target_infodari cakupan metrik Anda.Mempertahankan label
lesaat membuat kueri histogram Eksponensial dapat menampilkan hasil yang tidak diharapkan. Kueri yang lebih umumhistogram_quantile(.99, sum by (le) (metric))diharapkan berfungsi.Metrik delta mungkin tidak dapat dikueri dengan benar dalam situasi tertentu, seperti delta yang sangat jarang.
Dukungan protokol
Endpoint OTLP mendukung semua protokol OTLP, termasuk http/protobuf, http/json, dan grpc. Saat mengekspor dari OpenTelemetry Collector, Anda dapat menggunakan salah satu protokol. Namun, karena kurangnya dukungan untuk penyegaran token dinamis di sebagian besar eksportir SDK, sebaiknya gunakan hanya eksportir gRPC OTLP, bukan eksportir 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 standar dan Google Cloud Managed Service for Prometheus metrik berlaku. Misalnya, metrik tidak boleh memiliki lebih dari 200 label.
Kuota default untuk metrik yang diserap oleh Telemetry API adalah 60.000 permintaan per menit. Dengan ukuran batch maksimum 200 poin per permintaan, ini adalah kuota default 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
- Untuk mengetahui informasi tentang cara mengirim metrik ke Telemetry API dari aplikasi yang menggunakan SDK, lihat Menggunakan SDK untuk mengirim metrik dari aplikasi.
- Untuk mengetahui informasi tentang cara menggunakan 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.