Anda dapat memilih pendekatan instrumentasi yang paling efektif untuk aplikasi Anda berdasarkan platform komputasi dan persyaratan telemetri Anda. Google Cloud Panduan ini memberikan rekomendasi untuk Google Kubernetes Engine (GKE), Compute Engine, dan Cloud Run, yang membantu Anda memutuskan antara Kolektor OpenTelemetry Buatan Google, Agen Operasional, dan ekspor OpenTelemetry dalam proses langsung.
Dokumen ini memberikan rekomendasi umum, serta panduan untuk platform berikut:
Untuk aplikasi contoh, lihat Contoh dan panduan penerapan.
Rekomendasi di halaman ini bukanlah satu-satunya solusi, dan pendekatan lain dapat berhasil. Untuk panduan tambahan, hubungi Cloud Customer Care.
Rekomendasi umum
Bagian ini berisi rekomendasi umum tentang cara melengkapi aplikasi Anda. Untuk panduan khusus platform, lihat Rekomendasi platform.
Data log: Sebaiknya gunakan framework yang dapat dikonfigurasi untuk menghasilkan log terstruktur JSON untuk Cloud Logging. Untuk menulis data log, sebaiknya lakukan hal berikut:
Data metrik: Sebaiknya gunakan OpenTelemetry atau library klien Prometheus:
- OpenTelemetry menyediakan framework open source dan library klien yang tidak bergantung pada vendor untuk menginstrumentasikan aplikasi untuk metrik.
- Library klien Prometheus (Go, Java, Python, dll.) menghasilkan metrik yang dapat diekspos di endpoint HTTP dan di-scrape oleh agen.
Data trace: Sebaiknya gunakan OpenTelemetry untuk membuat data trace terdistribusi dari kode aplikasi Anda.
Arsitektur pengumpulan OpenTelemetry
Saat melengkapi aplikasi dengan library OpenTelemetry, Anda dapat merutekan telemetri melalui OpenTelemetry Collector mandiri atau mengekspor langsung dari proses aplikasi Anda. File konfigurasi OpenTelemetry Collector mengontrol cara kolektor menerima, memproses, dan mengekspor telemetri. Secara umum, sebaiknya kolektor menerima dan mengekspor telemetri menggunakan OpenTelemetry Protocol (OTLP). Telemetry (OTLP) API mengimplementasikan protokol ini.
Ada dua pendekatan mendasar untuk mengirim telemetri ke project Google Cloud Anda:
Ekspor berbasis kolektor (netral vendor): Anda menginstrumentasikan kode aplikasi dengan OpenTelemetry SDK dan menggunakan pengekspor OTLP dalam proses untuk mengirim data ke kolektor OpenTelemetry, seperti Kolektor OpenTelemetry Buatan Google atau penerima Agen Operasional. Kolektor menerima telemetri dan meneruskannya ke project Google Cloud Anda. Kode aplikasi Anda tetap sepenuhnya netral terhadap vendor.
Ekspor langsung (khusus vendor): Anda melengkapi kode aplikasi dengan SDK OpenTelemetry dan mengonfigurasi OpenTelemetry untuk mengirim telemetri ke project Anda menggunakan Telemetry API. Anda tidak perlu men-deploy kolektor, tetapi kode aplikasi Anda menyertakan dependensi khusus vendor.
Sebaiknya gunakan kolektor OpenTelemetry jika lingkungan komputasi Anda mendukungnya. Untuk lingkungan yang tidak memungkinkan menjalankan proses kolektor terpisah, gunakan ekspor langsung dalam proses.
Rekomendasi platform
Karena lingkungan komputasi Google Cloud memiliki kemampuan siklus proses dan sidecar yang berbeda, pola pengumpulan yang optimal bervariasi menurut platform. Bagian berikut memberikan rekomendasi khusus untuk lingkungan deployment Anda.
GKE
Untuk mengetahui informasi umum tentang GKE, lihat Ringkasan GKE.
| Jenis | Rekomendasi |
|---|---|
| Metrik | Sebaiknya gunakan Google Cloud Managed Service for Prometheus. Untuk instrumentasi, lakukan salah satu hal berikut:
|
| Trace | Lakukan tindakan berikut:
|
| Log | Konfigurasikan aplikasi Anda untuk menghasilkan log terstruktur JSON ke GKE mengumpulkan log yang ditulis ke
|
Compute Engine
Untuk informasi umum tentang Compute Engine, lihat Instance virtual machine.
| Jenis | Rekomendasi |
|---|---|
| Metrik dan Trace | Lakukan tindakan berikut:
Atau, jika Anda hanya ingin mengonfigurasi pengumpulan untuk metrik berformat Prometheus, gunakan penerima Prometheus Agen Operasional untuk mengumpulkan metrik yang diinstrumentasikan menggunakan library klien Prometheus atau OpenTelemetry SDK. |
| Log | Lakukan tindakan berikut:
|
Cloud Run
Untuk mengetahui informasi umum tentang Cloud Run, lihat Apa itu Cloud Run.
| Jenis | Rekomendasi |
|---|---|
| Metrik dan Trace | Lakukan tindakan berikut:
Atau, jika Anda hanya ingin mengonfigurasi pengumpulan untuk metrik berformat Prometheus, gunakan sidecar Prometheus untuk Cloud Run guna mengumpulkan metrik yang diinstrumentasikan menggunakan library klien Prometheus atau OpenTelemetry SDK. |
| Log | Konfigurasikan aplikasi Anda untuk menghasilkan log terstruktur JSON ke Cloud Run mengumpulkan log yang ditulis ke
|
Cloud Run Functions
Untuk mengetahui informasi umum tentang Cloud Run Functions, lihat Ringkasan Cloud Run Functions.
| Jenis | Rekomendasi |
|---|---|
| Metrik | Menulis data metrik secara langsung tidak didukung di Cloud Run Functions. Anda dapat membuat metrik berbasis log. |
| Trace | Gunakan OpenTelemetry SDK dan pengekspor OTLP untuk bahasa Anda. |
| Log | Konfigurasikan aplikasi Anda untuk menghasilkan log terstruktur JSON ke Cloud Run Functions mengumpulkan log yang ditulis ke
|
App Engine
Untuk informasi umum tentang App Engine, lihat Ringkasan App Engine.
| Jenis | Rekomendasi |
|---|---|
| Metrik | Gunakan OpenTelemetry SDK dan pengekspor OTLP untuk bahasa Anda. |
| Trace | Gunakan OpenTelemetry SDK dan pengekspor OTLP untuk bahasa Anda. |
| Log | Konfigurasikan aplikasi Anda untuk menghasilkan log terstruktur JSON ke App Engine mengumpulkan log yang ditulis ke
|
Contoh dan panduan penerapan
Ringkasan contoh menjelaskan arsitektur dan peran Identity and Access Management yang diperlukan untuk contoh kode berbasis kolektor berikut:
Bermigrasi dari pengekspor Trace ke endpoint OTLP menjelaskan cara mengupdate aplikasi yang menggunakan ekspor langsung untuk mengirim data trace berformat OTLP.
Kemampuan observasi untuk developer agen AI menjelaskan cara melakukan instrumentasi atau mengaktifkan agen AI generatif yang dibangun dengan framework LangGraph atau Agent Development Kit (ADK).
Dokumentasi OpenTelemetry
Bagian ini menyediakan link ke OpenTelemetry SDK dan pengekspor OTLP dalam berbagai bahasa.
Referensi umum: