Ringkasan OpenTelemetry Collector Buatan Google

Kumpulan dokumen ini menjelaskan Pengumpul OpenTelemetry Buatan Google dan menjelaskan cara men-deploy Pengumpul untuk mengumpulkan trace, metrik, dan log OpenTelemetry Protocol (OTLP) dari aplikasi yang diinstrumentasi serta mengekspor data tersebut ke Google Cloud Observability dan backend lainnya.

OpenTelemetry Collector Buatan Google adalah build siap produksi dan open source dari OpenTelemetry Collector upstream yang dibuat dengan komponen OpenTelemetry Collector upstream. OpenTelemetry, yang merupakan bagian dari Cloud Native Computing Foundation, menyediakan API, library, dan SDK open source untuk mengumpulkan trace, metrik, dan log terdistribusi untuk pemantauan aplikasi.

Pengumpul OpenTelemetry Buatan Google memungkinkan Anda mengirim log, metrik, dan rekaman aktivitas OTLP yang berkorelasi ke Google Cloud Observability dan backend lainnya dari aplikasi yang diinstrumentasi menggunakan SDK OpenTelemetry. Pengumpul juga mengambil metadata untuk resource Google Cloud , sehingga Anda dapat menghubungkan data performa aplikasi dengan data telemetri infrastruktur. Menggunakan Pengumpul data buatan Google dengan Google Cloud Observability memberikan insight untuk meningkatkan performa aplikasi dan infrastruktur Anda. Untuk mengetahui informasi selengkapnya tentang Kolektor, lihat Deskripsi Kolektor OpenTelemetry Buatan Google.

Menggunakan OpenTelemetry Collector Buatan Google

Anda dapat menggunakan Pengumpul data buatan Google untuk mengumpulkan data telemetri dari aplikasi yang berjalan di Kubernetes (termasuk Google Kubernetes Engine), Container-Optimized OS, atau container mandiri. Dokumen di bagian ini menjelaskan cara mengonfigurasi dan men-deploy Pengumpul data buatan Google di lingkungan berikut:

Jika Anda tidak memiliki aplikasi yang siap menggunakan Pengumpul, Anda dapat men-deploy demo OpenTelemetry dengan Pengumpul buatan Google. Untuk informasi selengkapnya, lihat Mencoba demo OpenTelemetry.

Untuk mengetahui informasi tentang cara menggunakan instrumentasi OpenTelemetry untuk menghasilkan rekaman aktivitas, metrik, dan log dari aplikasi Anda, lihat dokumen berikut:

Deskripsi OpenTelemetry Collector Buatan Google

Google-Built OpenTelemetry Collector dibuat menggunakan komponen dan alat OpenTelemetry upstream, sekaligus dibuat dan diambil sepenuhnya dari infrastruktur build-test-release Google (Artifact Registry). Collector buatan Google kompatibel dengan build OpenTelemetry Collector dari repositori upstream. Selain itu, aplikasi ini dihosting sebagai image Docker untuk deployment yang fleksibel di sistem berbasis container apa pun, termasuk Kubernetes dan GKE.

Pengumpul yang dibuat Google menyediakan paket yang dikurasi Google dengan komponen yang dibutuhkan sebagian besar pengguna untuk mendapatkan pengalaman pengamatan yang kaya di Google Cloud. Anda tidak perlu memilih komponen dan membuat Pengumpul Anda sendiri secara manual. Dengan menggunakan Pengumpul yang dibuat Google, Anda dapat:

  • Kumpulkan metadata untuk resource Google Cloud sehingga Anda dapat mengorelasikan data performa aplikasi dengan data telemetri infrastruktur.
  • Arahkan data telemetri ke Google Cloud Observability atau backend pilihan Anda dengan menggunakan pengekspor, termasuk backend yang secara native mendukung OpenTelemetry.
  • Sederhanakan proses aktivasi dengan konfigurasi yang direkomendasikan dan pemantauan mandiri praktik terbaik, termasuk health check dan pemrosesan batch.
  • Gunakan image Docker yang dihosting untuk deployment fleksibel di sistem berbasis container mana pun, termasuk Kubernetes dan GKE.

Praktik terbaik

OpenTelemetry mengelola daftar praktik terbaik untuk mengonfigurasi OpenTelemetry Collector dan untuk menskalakan Collector. Bagian ini memberikan beberapa rekomendasi tambahan.

Menggunakan ekstensi health check

Ekstensi health check mengaktifkan URL HTTP yang dapat diperiksa untuk memeriksa status OpenTelemetry Collector. Menggunakan ekstensi ini memberikan manfaat berikut:

  • Deteksi masalah awal: Pemeriksaan kondisi memfasilitasi pemantauan proaktif status Pengumpul, sehingga memungkinkan deteksi potensi masalah sebelum masalah ini berdampak negatif pada data telemetri. Tindakan pencegahan ini membantu memastikan keandalan pipeline observasi.
  • Pemecahan masalah yang ditingkatkan: Saat terjadi masalah, pemeriksaan kualitas menawarkan insight berharga tentang status Collector saat ini. Informasi ini menyederhanakan proses diagnosis dan penyelesaian, mengurangi periode nonaktif, dan menyederhanakan upaya pemecahan masalah.
  • Keandalan yang ditingkatkan: Pemantauan berkelanjutan terhadap kondisi Collector memastikan operasi yang konsisten dan mencegah kegagalan yang tidak terduga. Tindakan proaktif ini meningkatkan keandalan keseluruhan sistem observabilitas dan meminimalkan risiko kehilangan data atau kesenjangan dalam data telemetri.

Di Kubernetes dan GKE, ekstensi health check kompatibel dengan pemeriksaan keaktifan dan kesiapan Kubernetes. Untuk mengetahui informasi tentang cara menyiapkan pemeriksaan ini, lihat Praktik terbaik Kubernetes: Menyiapkan health check dengan pemeriksaan kesiapan dan keaktifan.

Di Cloud Run, satu ekstensi health check dapat berfungsi sebagai endpoint untuk pemeriksaan startup dan keaktifan dalam konfigurasi layanan Cloud Run Anda.

Menggunakan pemroses batch

Prosesor batch mengumpulkan rekaman aktivitas, metrik, atau log dan menggabungkannya ke dalam batch untuk transmisi. Penggunaan pemroses batch memberikan manfaat berikut:

  • Meminimalkan koneksi keluar: Dengan mengelompokkan transmisi data ke dalam batch, OpenTelemetry Collector secara signifikan mengurangi jumlah koneksi keluar. Pendekatan gabungan ini menurunkan penggunaan kuota dan berpotensi menurunkan biaya jaringan secara keseluruhan.
  • Peningkatan kompresi data: Batching memungkinkan kompresi data yang lebih efisien, sehingga mengurangi ukuran keseluruhan data yang ditransmisikan.
  • Fleksibilitas dalam strategi pengelompokan: Dukungan untuk pengelompokan berbasis ukuran dan berbasis waktu memberikan fleksibilitas untuk mengoptimalkan berbagai skenario. Pengelompokan berbasis ukuran memastikan bahwa batch mencapai ukuran tertentu sebelum dikirim, sementara pengelompokan berbasis waktu mengirim batch setelah interval waktu tertentu berlalu. Fleksibilitas ini memungkinkan Anda menyetel strategi batch agar sesuai dengan karakteristik spesifik data Anda dan persyaratan khusus aplikasi Anda.

Menggunakan penyedia googlesecretmanager

Penyedia googlesecretmanager memungkinkan Anda menyimpan informasi sensitif yang diperlukan oleh file konfigurasi di Secret Manager, layanan yang dirancang khusus untuk menyimpan, mengakses, dan mengelola data sensitif secara aman. Penggunaan penyedia googlesecretmanager menawarkan manfaat berikut:

  • Keamanan yang ditingkatkan: File konfigurasi Anda tidak berisi informasi sensitif seperti sandi.
  • Mengurangi risiko paparan: Secret Manager mengambil secret selama inisialisasi Pengumpul, yang mencegah secret teks biasa direkam secara tidak sengaja dalam log.

Untuk mengetahui informasi tentang cara menggunakan penyedia ini, lihat Mengelola secret dalam konfigurasi Pengumpul.

Catatan rilis

OpenTelemetry Collector Buatan Google diberi versi yang disinkronkan dengan OpenTelemetry Collector upstream. Versi saat ini adalah v0.129.0; image Docker yang sesuai, yang disimpan di Artifact Registry, adalah us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0. Untuk setiap versi baru, perubahan yang paling relevan bagi Google Cloud pengguna dicantumkan di halaman ini.

Kemampuan dukungan

Untuk semua masalah sisi klien OpenTelemetry Collector buatan Google, termasuk permintaan fitur, laporan bug, dan pertanyaan umum, buka masalah di repositori GitHub yang sesuai. Repositori ini dipantau oleh Google, dan masalah akan dikelola dan ditangani berdasarkan upaya terbaik.

  • Repositori paket Google-Built OpenTelemetry Collector, untuk masalah yang terkait dengan hal berikut:

    • Paket
    • Deployment di Google Cloud
    • Autentikasi dalam Google Cloud
    • Permintaan untuk penambahan komponen OpenTelemetry baru
  • Repositori Contrib OpenTelemetry Collector, untuk masalah yang terkait dengan hal berikut:

    • Komponen OpenTelemetry khusus Google, misalnya:
      • googlecloudexporter
      • googlemanagedprometheusexporter
      • googleclientauthextension
      • resourcedetectionprocessor
    • Komponen OpenTelemetry non-spesifik Google yang dikelola oleh komunitas upstream

Untuk masalah terkait penggunaan layanan dan API Google Cloud Observability oleh Google-Built OpenTelemetry Collector, seperti error server atau kuota, hubungi Layanan Pelanggan Cloud.

Harga

Tidak ada biaya untuk men-deploy dan menggunakan OpenTelemetry Collector Buatan Google.

Saat Anda mengirim data telemetri ke Google Cloud, Anda akan ditagih berdasarkan volume penyerapan. Untuk mengetahui informasi tentang biaya yang terkait dengan penyerapan trace, log, dan metrik Google Cloud Managed Service for Prometheus, lihat Harga Google Cloud Observability.

Coba demo OpenTelemetry

Bagian ini menjelaskan cara men-deploy dan menjalankan demo OpenTelemetry untuk Google Cloud dengan OpenTelemetry Collector Buatan Google.

Bagian ini bersifat opsional. Jika Anda siap mengintegrasikan Pengumpul data buatan Google ke dalam deployment Anda sendiri, lihat dokumen berikut:

Sebelum memulai

Demo OpenTelemetry memerlukan cluster Kubernetes yang telah dikonfigurasi dengan Workload Identity Federation. Untuk mengetahui informasi tentang penyiapan Workload Identity Federation untuk demo OpenTelemetry, lihat Prasyarat Workload Identity.

Perbarui demo untuk menggunakan Pengumpul data buatan Google

Secara default, demo OpenTelemetry menggunakan OpenTelemetry Collector upstream. Untuk menggunakan OpenTelemetry Collector Buatan Google, lakukan hal berikut:

  1. Buat clone repositori demo OpenTelemetry:

    git clone https://github.com/GoogleCloudPlatform/opentelemetry-demo.git
    
  2. Buka direktori kubernetes.

    cd kubernetes
    
  3. Edit file opentelemetry-demo.yaml untuk mengganti baris untuk menggunakan image Pengumpul. Barisnya terlihat seperti berikut, meskipun versinya mungkin berbeda:

    image: "otel/opentelemetry-collector-contrib:0.108.0"
    

    Ganti nilai kolom image: dengan us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0, sehingga barisnya akan terlihat seperti berikut, lalu simpan file:

    image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0"
    

Men-deploy demo

Deploy demo dengan menerapkan file opentelemetry-demo.yaml yang diperbarui:

kubectl apply --namespace otel-demo -f opentelemetry-demo.yaml

Menghubungkan ke demo

Setelah menerapkan konfigurasi yang diperbarui, Anda dapat meneruskan data ke port lokal. Misalnya, untuk terhubung ke demo di localhost:8080, jalankan perintah berikut:

kubectl port-forward --n otel-demo svc/opentelemetry-demo-frontendproxy 8080:8080

Kemudian, Anda dapat menggunakan browser untuk terhubung ke demo di localhost:8080.

Melihat telemetri

Demo OpenTelemetry mengirimkan metrik, trace, dan log ke Google Cloud dengan menggunakan Google-Built OpenTelemetry Collector. Untuk mengetahui informasi tentang telemetri spesifik yang dikirim oleh demo, lihat Melihat telemetri dalam dokumentasi untuk demo.

Melihat metrik

Pengumpul OpenTelemetry Buatan Google mengumpulkan metrik Prometheus yang dapat Anda lihat menggunakan Metrics Explorer. Metrik yang dikumpulkan bergantung pada instrumentasi aplikasi, meskipun Pengumpul yang dibuat Google juga menulis beberapa metriknya sendiri.

Untuk melihat metrik yang dikumpulkan oleh OpenTelemetry Collector Buatan Google, lakukan langkah-langkah berikut:
  1. Di konsol Google Cloud , buka halaman  Metrics explorer:

    Buka Metrics explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di toolbar konsol Google Cloud , pilih project Google Cloud Anda. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
  3. Pada elemen Metrik, luaskan menu Pilih metrik, masukkan Prometheus Target di panel filter, lalu gunakan submenu untuk memilih jenis dan metrik resource tertentu:
    1. Di menu Active resources, pilih Prometheus Target.
    2. Untuk memilih metrik, gunakan menu Kategori metrik aktif dan Metrik aktif. Metrik yang dikumpulkan oleh OpenTelemetry Collector Buatan Google memiliki prefiks prometheus.googleapis.com.
    3. Klik Terapkan.
  4. Konfigurasi cara data dilihat.

    Jika pengukuran untuk metrik bersifat kumulatif, Metrics Explorer akan otomatis menormalisasi data yang diukur berdasarkan periode perataan, sehingga diagram menampilkan rasio. Untuk mengetahui informasi selengkapnya, lihat Jenis, tipe, dan konversi.

    Saat nilai bilangan bulat atau ganda diukur, seperti dengan metrik counter, Metrics Explorer akan otomatis menjumlahkan semua deret waktu. Untuk mengubah perilaku ini, tetapkan menu pertama entri Aggregation ke None.

    Untuk informasi selengkapnya tentang cara mengonfigurasi diagram, lihat Memilih metrik saat menggunakan Metrics Explorer.

Melihat trace Anda

Untuk melihat data rekaman aktivitas, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Trace explorer:

    Buka Trace explorer

    Anda juga dapat menemukan halaman ini dengan menggunakan kotak penelusuran.

  2. Di toolbar konsol Google Cloud , pilih Google Cloud project Anda. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
  3. Di bagian tabel halaman, pilih baris.
  4. Pada diagram Gantt di panel Detail rekaman aktivitas, pilih rentang.

    Panel yang menampilkan informasi tentang permintaan yang dilacak akan terbuka. Detail ini mencakup metode, kode status, jumlah byte, dan agen pengguna pemanggil.

  5. Untuk melihat log yang terkait dengan rekaman aktivitas ini, pilih tab Log & Peristiwa.

    Tab ini menampilkan log individual. Untuk melihat detail entri log, luaskan entri log. Anda juga dapat mengklik Lihat Log dan melihat log menggunakan Logs Explorer.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan penjelajah Cloud Trace, lihat Menemukan dan menjelajahi rekaman aktivitas.

Melihat log

Dari Logs Explorer, Anda dapat memeriksa log, dan Anda juga dapat melihat rekaman aktivitas terkait, jika ada.

  1. Di konsol Google Cloud , buka halaman Logs Explorer:

    Buka Logs Explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

  2. Temukan entri log dari aplikasi yang diinstrumentasi. Untuk melihat detailnya, luaskan entri log.

  3. Klik Traces pada entri log dengan pesan rekaman aktivitas, lalu pilih View trace details.

    Panel Trace details akan terbuka dan menampilkan rekaman aktivitas yang dipilih.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan Logs Explorer, lihat Melihat log menggunakan Logs Explorer.