Ringkasan penyerapan metrik OTLP

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.

  • 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 INT64 dan DOUBLE, khususnya jika Anda sebelumnya mengirim metrik target_info. Jika Anda mengalami jenis konflik ini, hapus deskriptor metrik INT64. Anda dapat menggunakan skrip Golang ini untuk menghapus semua metrik jenis INT64 target_info dari cakupan metrik Anda.

  • Mempertahankan label le saat membuat kueri histogram Eksponensial dapat menampilkan hasil yang tidak diharapkan. Kueri yang lebih umum histogram_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