Dokumen ini mengilustrasikan cara mengirim metrik langsung dari aplikasi ke endpoint OTLP menggunakan SDK dan eksportir gRPC, yang merupakan eksportir 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 menangani autentikasi dan pengayaan untuk Anda. Saat menggunakan SDK untuk mengirim metrik dari aplikasi, Anda harus melakukan hal berikut:
- Mengonfigurasi kredensial untuk eksportir gRPC OTLP agar menggunakan Google Kredensial Default Aplikasi, seperti yang dijelaskan dalam Mendapatkan kredensial autentikasi.
- Mendeteksi Google Cloud resource Kubernetes dari aplikasi. Cara melakukannya bergantung pada aplikasi yang Anda jalankan.
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 Google Cloud project Anda dengan menjalankan perintah berikut:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Mendapatkan kredensial autentikasi
Konfigurasi kredensial untuk eksportir gRPC OTLP agar menggunakan Google Kredensial Default Aplikasi dengan menjalankan perintah berikut:
gcloud auth application-default login
Contoh khusus bahasa
Bagian ini menyediakan pilihan contoh khusus bahasa yang membuat dan menulis metrik penghitung. Pilih tab untuk mengetahui informasi tentang cara menjalankan contoh dan melihat kodenya.
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 fileREADME 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 eksportir
otlphttpdari eksportir lain, lihat Bermigrasi ke eksportir OTLP. - Untuk mempelajari Telemetry API lebih lanjut, lihat Ringkasan Telemetry (OTLP) API.