Dokumen ini menunjukkan cara menjalankan OpenTelemetry Collector di GKE cluster untuk mengumpulkan log, metrik, dan trace OTLP dari aplikasi berinstrumen dan mengekspor data tersebut ke Google Cloud.
Sebelum memulai
Menjalankan OpenTelemetry Collector di GKE memerlukan hal-hal berikut referensi:
Project Google Cloud dengan Cloud Monitoring API, Cloud Trace API, dan Cloud Logging API diaktifkan.
Jika Anda tidak memiliki project Google Cloud, lakukan hal berikut:
Di konsol Google Cloud, buka New Project:
Di kolom Project Name, masukkan nama project Anda lalu klik Create.
Buka Penagihan:
Pilih project yang baru saja Anda buat jika belum yang dipilih di bagian atas halaman.
Anda akan diminta untuk memilih profil pembayaran yang sudah ada atau membuat yang baru.
Monitoring API, Trace API, dan Logging API diaktifkan secara default untuk project baru.
Jika Anda sudah memiliki project Google Cloud, pastikan bahwa Monitoring API, Trace API, dan Logging API diaktifkan:
Buka API & layanan:
Pilih project Anda.
Klik add Enable APIs and services.
Telusuri setiap API berdasarkan nama.
Di hasil penelusuran, klik API yang telah diberi nama. Monitoring API muncul sebagai "Stackdriver Monitoring API".
Jika "API diaktifkan" tidak ditampilkan, lalu klik tombol Enable.
Cluster Kubernetes. Jika Anda tidak memiliki cluster Kubernetes, lalu ikuti petunjuk di Panduan Memulai GKE.
Alat command line berikut:
gcloud
kubectl
Alat
gcloud
dankubectl
adalah bagian dari di Google Cloud CLI. Untuk informasi tentang cara menginstal mereka, lihat Mengelola komponen Google Cloud CLI. Untuk melihat komponen gcloud CLI yang telah Anda instal, jalankan perintah berikut:gcloud components list
Men-deploy Kolektor
Pipeline Collector dapat di-deploy langsung dari GitHub dengan perintah setelah mengganti PROJECT_ID dengan ID project Google Cloud Anda:
export GCLOUD_PROJECT=PROJECT_ID kubectl kustomize https://github.com/GoogleCloudPlatform/otlp-k8s-ingest.git/k8s/base | envsubst | kubectl apply -f -
Amati dan debug Collector
OpenTelemetry Collector memberikan metrik kemampuan observasi mandiri yang siap pakai untuk membantu Anda memantau performanya dan memastikan waktu beroperasi OTLP yang berkelanjutan pipeline penyerapan.
Untuk memantau Collector, instal dasbor contoh untuk Collector. Ini menawarkan wawasan sekilas ke dalam beberapa metrik dari Kolektor, termasuk waktu beroperasi, penggunaan memori, dan panggilan API ke Google Cloud Observability.
Untuk menginstal dasbor, lakukan tindakan berikut:
-
Di konsol Google Cloud, buka halaman Dashboards:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Pilih tab Sample Library.
- Pilih kategori OpenTelemetry Collector.
- Pilih "OpenTelemtry Collector" dasbor.
- Klik Impor.
Untuk informasi selengkapnya tentang proses penginstalan, lihat Contoh penginstalan dasbor.
Mengonfigurasi Kolektor
Pipeline penyerapan OTLP yang dikelola sendiri mencakup Konfigurasi OpenTelemetry Collector yang dirancang untuk mengirimkan volume tinggi metrik, log, dan trace OTLP dengan metadata GKE dan Kubernetes yang konsisten terlampir. Hal ini juga dirancang untuk mencegah masalah umum penyerapan.
Namun, Anda mungkin memiliki kebutuhan unik yang memerlukan penyesuaian konfigurasi. Bagian ini menjelaskan default yang dikirimkan bersama pipeline dan cara Anda dapat menyesuaikan {i>default<i} tersebut sesuai kebutuhan Anda.
Konfigurasi Kolektor default terletak di GitHub sebagai
config/collector.yaml
:
Pengekspor
Pengekspor default mencakup
googlecloud
pengekspor (untuk log dan trace) dan
googlemanagedprometheus
pengekspor (untuk metrik).
Pengekspor googlecloud
dikonfigurasi dengan nama log default. Tujuan
Pengekspor googlemanagedprometheus
tidak memerlukan konfigurasi default apa pun;
lihat Memulai OpenTelemetry
Kolektor
dalam dokumentasi Google Cloud Managed Service for Prometheus untuk informasi lebih lanjut tentang
mengonfigurasi pengekspor ini.
Prosesor
Konfigurasi default mencakup prosesor berikut:
batch
: Dikonfigurasi ke permintaan telemetri batch pada jumlah maksimum Google Cloud entri per permintaan, atau pada interval minimum Google Cloud setiap 5 detik (mana saja yang lebih dulu).k8sattributes
: Secara otomatis memetakan atribut resource Kubernetes ke label telemetri.memory_limiter
: Membatasi penggunaan memori Collector pada tingkat yang wajar untuk mencegah kehabisan memori error dengan menurunkan titik data di luar level ini.resourcedetection
: Secara otomatis mendeteksi label resource Google Cloud, seperti nama cluster dan project ID Anda.transform
: Mengganti nama label metrik yang akan bertabrakan dengan resource yang dipantau Google Cloud kolom.
Penerima Sinyal
Konfigurasi default hanya menyertakan otlp
penerima.
Lihat Memilih instrumentasi
pendekatan untuk memperoleh
petunjuk tentang cara menginstrumentasikan aplikasi Anda untuk mengirim pelacakan dan metrik OTLP
ke titik akhir OTLP Kolektor.
Langkah berikutnya: mengumpulkan dan melihat telemetri
Bagian ini menjelaskan cara men-deploy aplikasi contoh dan menunjukkan bahwa aplikasi ke endpoint OTLP Collector, dan melihat telemetri di Google Cloud. Aplikasi contoh adalah generator kecil yang mengekspor rekaman aktivitas, log, dan metrik ke Collector.
Jika Anda sudah memiliki aplikasi yang diinstrumentasi dengan OpenTelemetry SDK, maka Anda dapat mengarahkan aplikasi ke endpoint Collector.
Untuk men-deploy aplikasi contoh, jalankan perintah berikut:
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/otlp-k8s-ingest/main/sample/app.yaml
Untuk mengarahkan aplikasi yang sudah ada yang menggunakan OpenTelemetry SDK di layanan Collector
setel variabel lingkungan OTEL_EXPORTER_OTLP_ENDPOINT
ke
http://opentelemetry-collector.opentelemetry.svc.cluster.local:4317
.
Setelah beberapa menit, telemetri yang dihasilkan oleh aplikasi akan mulai mengalir melalui Collector ke konsol Google Cloud untuk setiap sinyal.