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:
- Konfigurasi kredensial untuk eksportir gRPC OTLP agar menggunakan Kredensial Default Aplikasi Google, seperti yang dijelaskan dalam Mendapatkan kredensial autentikasi.
- Mendeteksi Google Cloud dan 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 projectGoogle Cloud 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 Kredensial Default Aplikasi Google 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 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
file README untuk
contoh Python.
Menggunakan API ke bawah untuk aplikasi yang berjalan sebagai pod
Jika Anda menjalankan aplikasi sebagai pod di Kubernetes dan tidak mengirim 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 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.