Ringkasan OpenTelemetry Collector Buatan Google

Google-Built OpenTelemetry Collector adalah build open source Google dari OpenTelemetry Collector, yang dibangun dari komponen upstream menggunakan supply chain yang aman di infrastruktur Google. OpenTelemetry, yang merupakan bagian dari Cloud Native Computing Foundation, menyediakan API, library, dan SDK open source untuk mengumpulkan trace, metrik, dan log OpenTelemetry Protocol (OTLP) terdistribusi untuk pemantauan aplikasi.

Dengan Google-Built OpenTelemetry Collector, Anda dapat mengirim trace, metrik, dan log OTLP yang berkorelasi ke Google Cloud Observability dan backend lainnya dari aplikasi yang diinstrumentasikan menggunakan OpenTelemetry SDK. Collector juga menangkap metadata untuk resource Google Cloud , sehingga Anda dapat menghubungkan data performa aplikasi dengan data telemetri infrastruktur. Menggunakan Kolektor 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.

Mulai versi 0.134.0, OpenTelemetry Collector Buatan Google dibuat sesuai standar Supply-chain Levels for Software Artifacts (SLSA) level 3. Kode kolektor dan dependensinya terus dipindai untuk menemukan kerentanan. Untuk mengetahui informasi selengkapnya, lihat Fitur keamanan.

Menggunakan OpenTelemetry Collector Buatan Google

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

Petunjuk ini juga dapat digunakan untuk mengonfigurasi OpenTelemetry Collector upstream open source agar mengekspor data ke Google Cloud Observability.

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

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

Deskripsi OpenTelemetry Collector Buatan Google

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

Kolektor yang dibuat Google menyediakan paket yang diseleksi Google dengan komponen yang akan dibutuhkan sebagian besar pengguna untuk pengalaman kemampuan observasi yang lengkap di Google Cloud. Anda tidak perlu memilih komponen dan membuat Collector 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.
  • Rutekan data telemetri ke Google Cloud Observability atau backend pilihan Anda menggunakan pengekspor, termasuk backend yang mendukung OpenTelemetry secara native.
  • Sederhanakan orientasi dengan konfigurasi yang direkomendasikan dan pemantauan mandiri praktik terbaik, termasuk health check dan batch processing.
  • Gunakan image Docker yang dihosting untuk deployment yang fleksibel di sistem berbasis container apa 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 pengekspor gRPC OTLP

Gunakan pengekspor OTLP gRPC untuk terhubung ke Telemetry (OTLP) API, telemetry.googleapis.com. Telemetry API menerima semua telemetri—log, metrik, dan trace—dalam format OTLP yang tidak bergantung pada vendor. Mengirim telemetri ke Telemetry API berarti data yang mengalir dari OpenTelemetry Collector dipertahankan dengan fidelitas maksimum di penyimpanan Google Cloud .

Menggunakan ekstensi health check

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

  • Deteksi masalah sejak dini: Health check memfasilitasi pemantauan proaktif terhadap status Collector, sehingga memungkinkan deteksi potensi masalah sebelum masalah tersebut berdampak negatif pada data telemetri. Tindakan pencegahan ini membantu memastikan keandalan pipeline kemampuan observasi.
  • Pemecahan masalah yang lebih baik: Saat terjadi masalah, health check memberikan insight berharga tentang status Collector saat ini. Informasi ini menyederhanakan proses diagnosis dan penyelesaian, mengurangi waktu nonaktif, dan memudahkan 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 sistem kemampuan observasi 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 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

Pemroses batch mengumpulkan trace, metrik, atau log dan menggabungkannya ke dalam batch untuk transmisi. Menggunakan 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.
  • Kompresi data yang lebih baik: Pengelompokan memungkinkan kompresi data yang lebih efisien, sehingga mengurangi ukuran keseluruhan data yang dikirimkan.
  • 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, sedangkan pengelompokan berbasis waktu mengirimkan batch setelah interval waktu tertentu berlalu. Fleksibilitas ini memungkinkan Anda menyesuaikan strategi pengelompokan agar selaras 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 dengan aman. Menggunakan penyedia googlesecretmanager menawarkan manfaat berikut:

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

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

Catatan rilis

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

Fitur keamanan

Mulai versi 0.134.0, Google-Built OpenTelemetry Collector menawarkan image Docker yang dibangun sesuai standar Supply-chain Levels for Software Artifacts (SLSA) level 3 dan menawarkan fitur keamanan berikut:

  • Build yang aman: Pipeline CI/CD untuk Google-Built OpenTelemetry Collector menghasilkan pengesahan untuk setiap rilis image container. Pengesahan ini mencakup verification summary attestation (VSA), yang dilampirkan sebagai aset ke setiap rilis di GitHub.

  • Pemindaian dan patching kerentanan: Kolektor OpenTelemetry Buatan Google terus dipindai untuk menemukan kerentanan, dan kami berupaya mengikuti SLO FedRamp untuk remediasi kerentanan. Kami memprioritaskan keamanan pengguna dengan mem-build ulang Collector secara rutin dengan dependensi paket yang diupdate. Pipeline CI/CD kami dirancang untuk mengintegrasikan perbaikan keamanan penting dan update dependensi dengan cepat. Komitmen ini meminimalkan eksposur terhadap kerentanan yang diketahui, sehingga memberi Anda produk yang terus aman dan terbaru.

  • Rilis yang terverifikasi dan aman: Kami menerapkan kebijakan integritas kode internal Google untuk memastikan bahwa hanya artefak yang memenuhi kriteria keamanan ketat kami yang dirilis ke produksi. Proses ini berarti Anda selalu menerima software yang telah berhasil lulus pemeriksaan keamanan internal yang ekstensif.

Dukungan

Untuk semua masalah sisi klien Kolektor OpenTelemetry Buatan Google, termasuk permintaan fitur, laporan bug, dan pertanyaan umum, buka masalah di repositori GitHub yang sesuai. Repositori ini dipantau oleh Google, dan masalahnya ditriase dan ditangani berdasarkan upaya terbaik.

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

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

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

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

Harga

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

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.

Mencoba demo OpenTelemetry

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

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

Sebelum memulai

Demo OpenTelemetry memerlukan cluster Kubernetes yang telah mengonfigurasi Workload Identity Federation. Untuk mengetahui informasi tentang cara menyiapkan Workload Identity Federation untuk cluster Anda, lihat Menggunakan Workload Identity Federation untuk GKE.

Mengupdate demo untuk menggunakan Kolektor buatan Google

Secara default, demo OpenTelemetry menggunakan OpenTelemetry Collector upstream. Untuk menggunakan Kolektor OpenTelemetry 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 image Collector yang akan digunakan. 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.163.1, sehingga barisnya terlihat seperti berikut, lalu simpan file:

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

Men-deploy demo

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

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

Hubungkan 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 menggunakan OpenTelemetry Collector yang Dibuat Google. Untuk mengetahui informasi tentang telemetri tertentu yang dikirim oleh demo, lihat Melihat telemetri dalam dokumentasi untuk demo.

Melihat metrik Anda

Google-Built OpenTelemetry Collector mengumpulkan metrik Prometheus yang dapat Anda lihat menggunakan Metrics Explorer. Metrik yang dikumpulkan bergantung pada instrumentasi aplikasi, meskipun Collector yang dibuat Google juga menulis beberapa metrik mandiri.

Untuk melihat metrik yang dikumpulkan oleh Kolektor OpenTelemetry Buatan Google, lakukan hal 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 khusus 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 awalan prometheus.googleapis.com.
    3. Klik Terapkan.
  4. Untuk menambahkan filter, yang menghapus deret waktu dari hasil kueri, gunakan elemen Filter.

  5. Konfigurasi cara data dilihat.

    Jika pengukuran untuk metrik bersifat kumulatif, Metrics Explorer akan otomatis menormalisasi data yang diukur berdasarkan periode penyelarasan, 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 trace, 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 atau project pengelolaan App Hub.
  3. Di bagian tabel halaman, pilih baris.
  4. Di diagram Gantt pada panel Trace details, pilih span.

    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 trace 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 mengetahui informasi selengkapnya tentang cara menggunakan penjelajah Cloud Trace, lihat Menemukan dan menjelajahi trace.

Melihat log

Dari Logs Explorer, Anda dapat memeriksa log, dan juga dapat melihat trace 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 diinstrumentasikan. 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 trace yang dipilih.

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