Ringkasan OpenTelemetry Collector Buatan Google

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

OpenTelemetry Collector Buatan Google adalah build open source siap produksi 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.

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

Menggunakan OpenTelemetry Collector Buatan Google

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

Jika 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 informasi tentang cara menggunakan instrumentasi OpenTelemetry untuk menghasilkan trace, metrik, dan log dari aplikasi Anda, lihat dokumen berikut:

Deskripsi OpenTelemetry Collector Buatan Google

OpenTelemetry Collector Buatan Google dibuat menggunakan komponen dan alat OpenTelemetry upstream, saat di-build dan diambil sepenuhnya dari infrastruktur build-test-release Google (Artifact Registry). Collector buatan Google kompatibel dengan build OpenTelemetry Collector dari repositori upstream. Aplikasi ini juga dihosting sebagai image Docker untuk deployment yang fleksibel di sistem berbasis container, termasuk Kubernetes dan GKE.

Collector buatan Google menyediakan paket yang diseleksi Google dengan komponen yang diperlukan sebagian besar pengguna untuk pengalaman visibilitas yang kaya di Google Cloud. Anda tidak perlu memilih komponen dan mem-build Pengumpul Anda sendiri secara manual. Dengan menggunakan Kolektor buatan Google, Anda dapat:

  • Kumpulkan metadata untuk resource Google Cloud agar Anda dapat menghubungkan data performa aplikasi dengan data telemetri infrastruktur.
  • Arahkan data telemetri ke Google Cloud Observability atau backend pilihan Anda dengan menggunakan eksportir, termasuk backend yang secara native mendukung OpenTelemetry.
  • Sederhanakan orientasi dengan konfigurasi yang direkomendasikan dan pemantauan mandiri praktik terbaik, termasuk health check dan pemrosesan batch.
  • Gunakan image Docker yang dihosting untuk deployment yang fleksibel di sistem berbasis container, 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 memungkinkan URL HTTP yang dapat diperiksa untuk memeriksa status OpenTelemetry Collector. Menggunakan ekstensi ini memberikan manfaat berikut:

  • Deteksi masalah awal: Pemeriksaan kondisi memfasilitasi pemantauan status Pengumpul secara proaktif, sehingga memungkinkan deteksi potensi masalah sebelum masalah ini berdampak negatif pada data telemetri. Tindakan pencegahan ini membantu memastikan keandalan pipeline pengamatan.
  • Peningkatan pemecahan masalah: Saat terjadi masalah, pemeriksaan kondisi menawarkan insight berharga tentang status Kolektor saat ini. Informasi ini menyederhanakan proses diagnosis dan penyelesaian, mengurangi periode nonaktif, dan menyederhanakan upaya pemecahan masalah.
  • Keandalan yang ditingkatkan: Pemantauan berkelanjutan terhadap kondisi kolektor memastikan operasi yang konsisten dan mencegah kegagalan yang tidak terduga. Langkah proaktif ini meningkatkan keandalan sistem observabilitas secara keseluruhan 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 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

Pemroses batch mengumpulkan trace, 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 memiliki potensi untuk menurunkan biaya jaringan secara keseluruhan.
  • Peningkatan kompresi data: Pengelompokan memungkinkan kompresi data yang lebih efisien, sehingga mengurangi ukuran keseluruhan data yang dikirim.
  • Fleksibilitas dalam strategi pengelompokan: Dukungan untuk pengelompokan berbasis ukuran dan berbasis waktu memberikan fleksibilitas untuk mengoptimalkan berbagai skenario. Pengelompokan berdasarkan ukuran memastikan bahwa batch mencapai ukuran tertentu sebelum dikirim, sedangkan pengelompokan berdasarkan waktu mengirim batch setelah interval waktu tertentu berlalu. Fleksibilitas ini memungkinkan Anda menyetel strategi pengelompokan agar sesuai dengan karakteristik khusus data dan persyaratan tertentu aplikasi Anda.

Catatan rilis

OpenTelemetry Collector Buatan Google diberi versi yang disinkronkan dengan OpenTelemetry Collector upstream. Versi saat ini adalah v0.121.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.121.0. Untuk setiap versi baru, perubahan yang paling relevan bagi pengguna Google Cloud disertakan di halaman ini.

  • 0.121.0:
    • OpenTelemetry Collector Buatan Google: Rilis awal
    • Repositori inti OpenTelemetry Collector: Catatan rilis
    • Repositori Contrib OpenTelemetry Collector: Catatan rilis

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 diurutkan prioritasnya serta ditangani berdasarkan upaya terbaik.

  • Repositori pengemasan OpenTelemetry Collector Buatan Google, 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-khusus Google yang dikelola oleh komunitas upstream

Untuk masalah terkait penggunaan layanan dan API Google Cloud Observability oleh OpenTelemetry Collector Buatan Google, seperti error server atau kuota, hubungi Cloud Customer Care.

Harga

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

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

Mencoba 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 buatan Google ke dalam deployment Anda sendiri, lihat dokumen berikut:

Sebelum memulai

Demo OpenTelemetry memerlukan cluster Kubernetes yang telah mengonfigurasi Workload Identity Federation. Untuk informasi tentang cara menyiapkan Workload Identity Federation untuk demo OpenTelemetry, lihat Prasyarat Workload Identity.

Memperbarui demo untuk menggunakan Pengumpul 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 yang akan digunakan image Collector. Baris tersebut 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.121.0, sehingga baris terlihat seperti berikut, lalu simpan file:

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

Men-deploy demo

Deploy demo dengan menerapkan file opentelemetry-demo.yaml yang telah diupdate:

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, berikan 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 mengirim metrik, trace, dan log ke Google Cloud dengan menggunakan OpenTelemetry Collector Buatan Google. Untuk informasi tentang telemetri tertentu yang dikirim oleh demo, lihat Melihat telemetri dalam dokumentasi untuk demo.

Melihat metrik

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

Untuk melihat metrik yang dikumpulkan oleh OpenTelemetry Collector Buatan Google, lakukan tindakan 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 mengaktifkan aplikasi.
  3. Pada elemen Metric, luaskan menu Select a metric, 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 awalan 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 menurut periode penyelarasan, sehingga diagram akan 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 menggunakan kotak penelusuran.

  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 mengaktifkan aplikasi.
  3. Di bagian tabel halaman, pilih baris.
  4. Pada diagram Gantt di panel Trace details, pilih rentang.

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

  5. Untuk melihat log yang terkait dengan rekaman aktivitas ini, pilih tab Logs & Events.

    Tab ini menampilkan setiap log. Untuk melihat detail entri log, luaskan entri log. Anda juga dapat mengklik View Logs dan melihat log menggunakan Logs Explorer.

Untuk informasi selengkapnya tentang cara menggunakan Cloud Trace Explorer, lihat Menemukan dan menjelajahi trace.

Melihat log

Dari Logs Explorer, Anda dapat memeriksa log, dan 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 berinstrumen Anda. Untuk melihat detailnya, luaskan entri log.

  3. Klik Traces pada entri log dengan pesan trace, 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.