Dokumen ini menunjukkan cara menjalankan OpenTelemetry Collector di cluster GKE untuk mengumpulkan log, metrik, dan trace OTLP dari aplikasi berinstrumen dan mengekspor data tersebut ke Google Cloud.
Sebelum memulai
Untuk menjalankan OpenTelemetry Collector di GKE, Anda memerlukan resource berikut:
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 untuk project Anda, lalu klik Create.
Buka Penagihan:
Pilih project yang baru saja Anda buat jika belum dipilih di bagian atas halaman.
Anda akan diminta untuk memilih profil pembayaran yang sudah ada atau membuat profil baru.
Monitoring API, Trace API, dan Logging API diaktifkan secara default untuk project baru.
Jika Anda sudah memiliki project Google Cloud, pastikan Monitoring API, Trace API, dan Logging API diaktifkan:
Buka API & layanan:
Pilih project Anda.
Klik add Aktifkan API dan layanan.
Telusuri setiap API berdasarkan namanya.
Di hasil penelusuran, klik API yang disebutkan. Monitoring API akan muncul sebagai "Stackdriver Monitoring API".
Jika "API enabled" tidak ditampilkan, klik tombol Enable.
Cluster Kubernetes. Jika Anda tidak memiliki cluster Kubernetes, ikuti petunjuk di Memulai cepat untuk GKE.
Alat command line berikut:
gcloud
kubectl
Alat
gcloud
dankubectl
adalah bagian dari Google Cloud CLI. Untuk mengetahui informasi tentang cara menginstalnya, lihat Mengelola komponen Google Cloud CLI. Untuk melihat komponen gcloud CLI yang telah Anda instal, jalankan perintah berikut:gcloud components list
Men-deploy Pengumpul
Pipeline Collector dapat di-deploy langsung dari GitHub dengan perintah berikut 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 -
Mengamati dan men-debug Pengumpul
OpenTelemetry Collector menyediakan metrik pengamatan mandiri secara langsung untuk membantu Anda memantau performanya dan memastikan waktu aktif pipeline penyerapan OTLP terus berlanjut.
Untuk memantau Kolektor, instal contoh dasbor untuk Kolektor. Dasbor ini menawarkan insight sekilas tentang beberapa metrik dari Pengumpul, termasuk waktu aktif, penggunaan memori, dan panggilan API ke Google Cloud Observability.
Untuk menginstal dasbor, lakukan hal berikut:
-
Di konsol Google Cloud, buka halaman Dasbor:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Pilih tab Sample Library.
- Pilih kategori OpenTelemetry Collector.
- Pilih dasbor "OpenTelemetry Collector".
- Klik Impor.
Untuk mengetahui informasi selengkapnya tentang proses penginstalan, lihat Menginstal contoh dasbor.
Mengonfigurasi Pengumpul
Pipeline transfer OTLP mandiri mencakup konfigurasi OpenTelemetry Collector default yang dirancang untuk mengirimkan metrik, log, dan trace OTLP dalam volume tinggi dengan metadata GKE dan Kubernetes yang konsisten. Alat ini juga dirancang untuk mencegah masalah penyerapan umum.
Namun, Anda mungkin memiliki kebutuhan unik yang memerlukan penyesuaian konfigurasi default. Bagian ini menjelaskan setelan default yang dikirimkan dengan pipeline dan cara Anda dapat menyesuaikan setelan default tersebut agar sesuai dengan kebutuhan Anda.
Konfigurasi Pengumpul default terletak di GitHub sebagai
config/collector.yaml
:
Pengekspor
Pengekspor default mencakup pengekspor googlecloud
(untuk log dan rekaman aktivitas) dan pengekspor googlemanagedprometheus
(untuk metrik).
Pengekspor googlecloud
dikonfigurasi dengan nama log default. Ekspor
googlemanagedprometheus
tidak memerlukan konfigurasi default apa pun;
lihat Memulai Pengumpul
OpenTelemetry
dalam dokumentasi Google Cloud Managed Service for Prometheus untuk mengetahui informasi selengkapnya tentang
mengonfigurasi eksportir ini.
Prosesor
Konfigurasi default mencakup pemroses berikut:
batch
: Dikonfigurasi untuk mengelompokkan permintaan telemetri dengan jumlah entri maksimum Google Cloud per permintaan, atau dengan interval minimum Google Cloud setiap 5 detik (mana saja yang lebih dulu).k8sattributes
: Menautkan atribut resource Kubernetes ke label telemetri secara otomatis.memory_limiter
: Membatasi penggunaan memori Collector pada tingkat yang wajar untuk mencegah error karena kehabisan memori dengan menghapus titik data di luar tingkat ini.resourcedetection
: Mendeteksi label resource Google Cloud secara otomatis seperti nama cluster dan project ID.transform
: Mengganti nama label metrik yang akan bentrok dengan kolom resource yang dipantau Google Cloud.
Penerima
Konfigurasi default hanya menyertakan penerima
otlp
.
Lihat Memilih pendekatan instrumentasi untuk mendapatkan petunjuk mendetail tentang cara melakukan instrumentasi aplikasi untuk mendorong pelacakan dan metrik OTLP ke endpoint OTLP Pengumpul.
Langkah berikutnya: mengumpulkan dan melihat telemetri
Bagian ini menjelaskan cara men-deploy aplikasi contoh dan mengarahkan aplikasi tersebut ke endpoint OTLP Pengumpul, serta melihat telemetri di Google Cloud. Aplikasi contoh adalah generator kecil yang mengekspor rekaman aktivitas, log, dan metrik ke Kolektor.
Jika sudah memiliki aplikasi yang dilengkapi dengan OpenTelemetry SDK, Anda dapat mengarahkan aplikasi ke endpoint Pengumpul.
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 ada yang menggunakan OpenTelemetry SDK ke endpoint
Collector, tetapkan variabel lingkungan OTEL_EXPORTER_OTLP_ENDPOINT
ke
http://opentelemetry-collector.opentelemetry.svc.cluster.local:4317
.
Setelah beberapa menit, telemetri yang dihasilkan oleh aplikasi mulai mengalir melalui Collector ke konsol Google Cloud untuk setiap sinyal.