Dokumen ini mengilustrasikan cara mengirim metrik langsung dari aplikasi
ke endpoint OTLP menggunakan SDK dan pengekspor gRPC, yang merupakan
pengekspor yang direkomendasikan untuk digunakan dengan SDK.
Endpoint OTLP mendukung semua protokol OTLP, termasuk
http/proto, http/json, dan grpc. Untuk mengetahui informasi selengkapnya, lihat
Dukungan protokol.
Saat Anda mengirim metrik aplikasi langsung ke endpoint OTLP, OpenTelemetry Collector tidak akan menangani autentikasi, deteksi resource, atau pengelompokan untuk Anda. Saat menggunakan SDK untuk mengirim metrik dari aplikasi, Anda perlu melakukan hal berikut:
- Konfigurasikan kredensial untuk pengekspor gRPC OTLP agar menggunakan Kredensial Default Aplikasi Google, seperti yang dijelaskan dalam Mendapatkan kredensial autentikasi.
- Mendeteksi resource Kubernetes Google Cloud dari aplikasi. Cara melakukannya bergantung pada aplikasi yang Anda jalankan.
- Konfigurasikan ukuran tumpukan ekspor maksimum 200 titik data metrik agar permintaan tidak melebihi batas Telemetry API sebesar 200 titik data per permintaan.
Sebelum memulai
Untuk menjalankan contoh, Anda harus mengaktifkan API yang diperlukan dan mendapatkan kredensial autentikasi.
Mengaktifkan API
Aktifkan Cloud Monitoring API dan Telemetry API di projectGoogle Cloud Anda dengan menjalankan perintah berikut:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Mendapatkan kredensial autentikasi
Konfigurasikan kredensial untuk pengekspor gRPC OTLP agar menggunakan Kredensial Default Aplikasi Google dengan menjalankan perintah berikut:
gcloud auth application-default login
Contoh spesifik per bahasa
Bagian ini menyediakan pilihan contoh khusus bahasa yang membuat dan menulis metrik penghitung. Pilih tab untuk mendapatkan informasi tentang cara menjalankan contoh dan melihat kode.
Go
Untuk mengetahui informasi tentang cara mengonfigurasi dan menjalankan contoh ini, lihat file README untuk contoh Go.
Java
Untuk mengetahui informasi tentang cara mengonfigurasi dan menjalankan contoh ini, lihat file README untuk contoh Java.
NodeJS
Untuk mengetahui informasi tentang cara mengonfigurasi dan menjalankan contoh ini, lihat file README untuk contoh NodeJS.
Python
Untuk mengetahui informasi tentang cara menjalankan contoh ini, lihat file README untuk contoh Python.
Menggunakan downward API untuk aplikasi yang berjalan sebagai pod
Jika Anda menjalankan aplikasi sebagai pod di Kubernetes dan tidak mengirim telemetri melalui OpenTelemetry Collector, pastikan untuk menggunakan downward API untuk menetapkan atribut resource Kubernetes:
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE_NAME
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: CONTAINER_NAME
value: my-container-name
- name: OTEL_RESOURCE_ATTRIBUTES
value: k8s.pod.name=$(POD_NAME),k8s.namespace.name=$(NAMESPACE_NAME),k8s.container.name=$(CONTAINER_NAME)
Langkah berikutnya
- 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 pengekspor
otlphttpdari pengekspor lain, lihat Bermigrasi ke pengekspor OTLP. - Untuk mempelajari Telemetry API lebih lanjut, lihat Ringkasan Telemetry (OTLP) API.