Memilih pendekatan instrumentasi

Halaman ini berisi rekomendasi untuk menginstrumentasi aplikasi Anda di berbagai platform, seperti Google Kubernetes Engine (GKE) dan Cloud Run.Google Cloud Jika aplikasi Anda belum diinstrumentasi, gunakan rekomendasi ini sebagai panduan tentang cara menginstrumentasi aplikasi Anda untuk mengirim data telemetri ke Google Cloud. Rekomendasi di halaman ini bukan satu-satunya solusi, dan pendekatan lain juga dapat berhasil. Untuk mendapatkan panduan tambahan, hubungi Google Cloud Dukungan.

Ada rekomendasi untuk hal berikut:

Untuk mengetahui informasi tentang contoh pelengkapan, lihat dokumen yang tercantum di bagian Contoh kode.

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:

  1. Deploy Google-Built OpenTelemetry Collector di Google Kubernetes Engine.

    Pengumpul menerima data rekaman aktivitas dari eksportir OTLP dalam proses SDK, memproses data tersebut, lalu mengirimkan data yang diproses ke project Google Cloud Anda menggunakan Telemetry (OTLP) API.

  2. Gunakan OpenTelemetry SDK dan pengekspor OTLP untuk bahasa Anda.
Log

Konfigurasi aplikasi Anda untuk menghasilkan log berstruktur JSON ke stdout dan stderr. Untuk mengetahui daftar framework, lihat Framework logging yang direkomendasikan.

GKE mengumpulkan log yang ditulis ke stdout dan stderr secara otomatis. Untuk mengetahui informasi selengkapnya, lihat Tentang log GKE.

Compute Engine

Untuk informasi umum tentang Compute Engine, lihat Instance virtual machine.

Jenis Rekomendasi
Metrik dan Trace

Lakukan tindakan berikut:

  1. Gunakan Agen Operasional untuk mengumpulkan metrik dan rekaman aktivitas.

    Untuk melihat contohnya, lihat Mengumpulkan metrik dan trace OpenTelemetry Protocol (OTLP). Panduan ini menjelaskan cara mengonfigurasi Agen Operasi untuk menerima data metrik dan data rekaman aktivitas dari eksportir OTLP dalam proses SDK, mentransformasi data tersebut, lalu mengirimkan data ke project Google Cloud Anda. Data metrik dikirim dengan menggunakan Cloud Monitoring API dan data trace dikirim dengan menggunakan Cloud Trace API.

  2. Gunakan OpenTelemetry SDK dan pengekspor OTLP untuk bahasa Anda.

Atau, jika Anda hanya ingin mengonfigurasi pengumpulan untuk metrik format Prometheus, gunakan Penerima Prometheus Agen Operasional untuk mengumpulkan metrik yang diinstrumentasi menggunakan library klien Prometheus atau SDK OpenTelemetry.

Log

Lakukan tindakan berikut:

  1. Konfigurasi aplikasi Anda untuk menghasilkan log berstruktur JSON ke file. Untuk mengetahui daftar framework, lihat Framework logging yang direkomendasikan.
  2. Instal Agen Operasional dan konfigurasi penerima. Sebagai contoh, lihat Penerima logging.

Cloud Run

Untuk mengetahui informasi umum tentang Cloud Run, lihat Apa itu Cloud Run.

Jenis Rekomendasi
Metrik dan Trace

Lakukan tindakan berikut:

  1. Gunakan OpenTelemetry SDK dan pengekspor OTLP untuk bahasa Anda.
  2. Deploy file bantuan OpenTelemetry untuk mengumpulkan metrik dan trace.

    Untuk contoh, lihat dokumen berikut:

  3. Untuk layanan Cloud Run Anda, gunakan penagihan berbasis instance. Dengan penagihan berbasis instance, CPU dialokasikan untuk seluruh siklus proses instance, yang diperlukan karena instrumentasi OpenTelemetry melakukan pemrosesan di latar belakang. Untuk mengetahui informasi selengkapnya, lihat Setelan penagihan untuk layanan Cloud Run.

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 stdout dan stderr. Untuk mengetahui daftar framework, lihat Framework logging yang direkomendasikan.

Cloud Run mengumpulkan log yang ditulis ke stdout dan stderr secara otomatis. Untuk mengetahui informasi selengkapnya, lihat Menulis log container.

Cloud Run Functions

Untuk mengetahui informasi umum tentang Cloud Run Functions, lihat Ringkasan Cloud Run Functions.

Jenis Rekomendasi
Metrik Penulisan metrik secara langsung tidak didukung di fungsi Cloud Run. 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 stdout dan stderr. Untuk mengetahui daftar framework, lihat Framework logging yang direkomendasikan.

Fungsi Cloud Run mengumpulkan log yang ditulis ke stdout dan stderr secara otomatis. Untuk mengetahui informasi selengkapnya, lihat Fungsi Cloud Run: Ringkasan pemantauan dan logging.

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 stdout dan stderr. Untuk mengetahui daftar framework, lihat Framework logging yang direkomendasikan.

App Engine mengumpulkan log yang ditulis ke stdout dan stderr secara otomatis. Untuk mengetahui informasi selengkapnya, lihat Menulis dan melihat log.

Framework logging yang direkomendasikan

Untuk mengumpulkan log, sebaiknya Anda menggunakan framework yang dapat dikonfigurasi untuk menghasilkan objek JSON yang diserialisasi ke stdout, stderr, atau ke file. Agen logging, baik yang terintegrasi maupun diinstal, akan meng-scrape file dan menulis log terstruktur untuk Cloud Logging. Untuk menulis data log, sebaiknya lakukan hal berikut:

Contoh kode

Saat melakukan instrumentasi aplikasi dengan library OpenTelemetry, Anda memutuskan cara data telemetri dikirim ke project Google Cloud . Ada dua pendekatan mendasar:

  • Anda melakukan instrumentasi kode aplikasi dengan SDK OpenTelemetry dan menggunakan pengekspor OTLP dalam proses yang disertakan dalam SDK untuk mengirim data ke pengumpul OpenTelemetry. Pengumpul menerima data dari eksportir dalam proses lalu mengirimkan data tersebut ke project Google Cloud Anda. Perubahan yang Anda lakukan pada kode aplikasi Anda bersifat netral terhadap vendor. Pengumpul berisi logika untuk mengirim telemetri ke project Google Cloud Anda.

  • Anda menginstrumentasikan kode aplikasi dengan OpenTelemetry SDK dan menggunakan pengekspor dalam proses yang mengirim data langsung ke project Google Cloud Anda. Beberapa perubahan yang Anda lakukan pada aplikasi bersifat khusus vendor. Namun, Anda tidak perlu mengonfigurasi atau men-deploy pengumpul.

Sebaiknya gunakan pengumpul OpenTelemetry untuk mengekspor data telemetri saat lingkungan Anda mendukung penggunaan pengumpul. Untuk beberapa lingkungan, Anda harus menggunakan pengekspor dalam proses yang mengirimkan data langsung ke projectGoogle Cloud Anda.

Contoh untuk ekspor berbasis pengumpul

Untuk contoh instrumentasi khusus bahasa, lihat dokumen berikut:

Jika Anda tertarik dengan cara pengumpul data ditentukan dan di-deploy, lihat Ringkasan contoh.

Contoh untuk ekspor langsung menggunakan pengekspor dalam proses

  • Bermigrasi dari eksportir Trace ke endpoint OTLP. Dokumen ini menjelaskan instrumentasi dalam proses untuk mengekspor data rekaman aktivitas secara langsung ke project Google Cloud Anda. Contoh disediakan untuk Go, Java, Node.js, dan Python.

  • Mengukur aplikasi AI generatif. Dokumen ini memberikan informasi tentang cara mengukur atau mengaktifkan agen AI generatif yang dibangun dengan framework LangGraph atau Agent Development Kit (ADK).

Referensi ke OpenTelemetry

Bagian ini menyediakan link ke OpenTelemetry SDK, dan pengekspor untuk OTLP, Cloud Trace, dan Cloud Monitoring.

Referensi umum:

Go

Java

JavaScript

Python