Anda dapat memilih pendekatan instrumentasi yang paling efektif untuk aplikasi Anda berdasarkan persyaratan telemetri dan platform komputasi Google Cloud Anda. Panduan ini memberikan rekomendasi untuk Google Kubernetes Engine (GKE), Compute Engine, dan Cloud Run, yang membantu Anda memutuskan antara Google-Built OpenTelemetry Collector, 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 bukan satu-satunya solusi, dan pendekatan lain juga dapat berhasil. Untuk panduan tambahan, hubungi Cloud Customer Care.
Rekomendasi umum
Bagian ini berisi rekomendasi umum tentang cara mengukur aplikasi Anda. Untuk panduan khusus platform, lihat Rekomendasi platform.
Data log: Sebaiknya gunakan framework yang dapat dikonfigurasi untuk menghasilkan log berstruktur JSON untuk Cloud Logging. Untuk menulis data log, sebaiknya lakukan hal berikut:
Data metrik: Sebaiknya gunakan OpenTelemetry atau library klien Prometheus:
- OpenTelemetry menyediakan framework dan library klien open source yang netral terhadap vendor untuk menginstrumentasi aplikasi untuk metrik.
- Library klien Prometheus (Go, Java, Python, dll.) menghasilkan metrik yang dapat ditampilkan di endpoint HTTP dan di-scrape oleh agen.
Data rekaman aktivitas: Sebaiknya gunakan OpenTelemetry untuk membuat data rekaman aktivitas terdistribusi dari kode aplikasi Anda.
Arsitektur pengumpulan OpenTelemetry
Saat menginstrumentasi 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 collector menerima, memproses, dan mengekspor telemetri. Secara umum, sebaiknya pengumpul menerima dan mengekspor telemetri menggunakan OpenTelemetry Protocol (OTLP). Telemetry (OTLP) API menerapkan protokol ini.
Ada dua pendekatan mendasar untuk mengirim telemetri ke Google Cloud project Anda:
Ekspor berbasis pengumpul (netral vendor): Anda menginstrumentasikan kode aplikasi dengan OpenTelemetry SDK dan menggunakan pengekspor OTLP dalam proses untuk mengirim data ke pengumpul OpenTelemetry, seperti Pengumpul OpenTelemetry Buatan Google atau penerima Agen Operasional. Pengumpul 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 dengan menggunakan Telemetry API. Anda tidak perlu men-deploy pengumpul, tetapi kode aplikasi Anda menyertakan dependensi khusus vendor.
Sebaiknya gunakan pengumpul OpenTelemetry jika lingkungan komputasi Anda mendukungnya. Untuk lingkungan yang tidak memungkinkan menjalankan proses pengumpul terpisah, gunakan ekspor langsung dalam proses.
Rekomendasi platform
Karena Google Cloud lingkungan komputasi memiliki siklus proses dan kemampuan 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 | Konfigurasi aplikasi Anda untuk menghasilkan log berstruktur 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 format Prometheus, gunakan penerima Prometheus Agen Operasional untuk mengumpulkan metrik yang diinstrumentasikan menggunakan library klien Prometheus atau SDK OpenTelemetry. |
| 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 format Prometheus, gunakan sidecar Prometheus untuk Cloud Run guna mengumpulkan metrik yang diinstrumentasikan menggunakan library klien Prometheus atau SDK OpenTelemetry. |
| Log | Konfigurasi aplikasi Anda untuk menghasilkan log berstruktur 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 | Penulisan data metrik secara langsung tidak didukung di Cloud Run Functions. Anda dapat membuat metrik berbasis log. |
| Trace | Gunakan OpenTelemetry SDK dan pengekspor Cloud Trace untuk bahasa Anda. |
| Log | Konfigurasi aplikasi Anda untuk menghasilkan log berstruktur JSON ke Fungsi Cloud Run mengumpulkan log yang ditulis ke
|
App Engine
Untuk informasi umum tentang App Engine, lihat Ringkasan App Engine.
| Jenis | Rekomendasi |
|---|---|
| Metrik | Gunakan OpenTelemetry SDK dan eksportir Cloud Monitoring untuk bahasa Anda. |
| Trace | Gunakan OpenTelemetry SDK dan pengekspor Cloud Trace untuk bahasa Anda. |
| Log | Konfigurasi aplikasi Anda untuk menghasilkan log berstruktur 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 pengumpul berikut:
Bermigrasi dari eksportir Trace ke endpoint OTLP menjelaskan cara mengupdate aplikasi yang menggunakan ekspor langsung untuk mengirim data rekaman aktivitas berformat OTLP.
Mengukur aplikasi AI generatif menjelaskan cara mengukur 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 eksportir untuk OTLP, Cloud Trace, dan Cloud Monitoring.
Referensi umum:
Go
Java
JavaScript
- JavaScript SDK
- Pengekspor OTLP JavaScript
- Eksportir JavaScript Cloud Trace
- Pengekspor Cloud Monitoring JavaScript