Dokumen ini menunjukkan cara menjalankan Pengumpul OpenTelemetry Buatan Google di Cloud Run untuk mengumpulkan log, metrik, dan trace OTLP dari aplikasi yang diinstrumentasi, lalu mengekspor data tersebut ke Google Cloud.
Sebelum memulai
Menjalankan OpenTelemetry Collector Buatan Google memerlukan resource berikut:
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- Layanan Cloud Run. Jika Anda tidak memiliki layanan Cloud Run, ikuti petunjuk di Merencanakan dan menyiapkan layanan Anda.
- Penginstalan
gcloud. Untuk mengetahui informasi tentang cara menginstalgcloud, lihat MenginstalgcloudCLI.
Mengonfigurasi izin untuk Pengumpul
Secara default, tugas dan layanan Cloud Run menggunakan
akun layanan default Compute Engine,
PROJECT_NUMBER-compute@developer.gserviceaccount.com.
Akun layanan ini biasanya memiliki peran Identity and Access Management (IAM)
yang diperlukan untuk menulis metrik dan log yang dijelaskan dalam dokumen ini:
- Monitoring Metric Writer (
roles/monitoring.metricWriter) - Logging Log Writer (
roles/logging.logWriter)
Minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
- Cloud Run Admin (
roles/run.admin) Secret Manager Secret Accessor(roles/secretmanager.secretAccessor)
Anda juga dapat mengonfigurasi akun layanan yang dikelola pengguna untuk Cloud Run. Akun layanan yang dikelola pengguna juga harus memiliki peran ini. Untuk mengetahui informasi selengkapnya tentang akun layanan untuk Cloud Run, lihat Pengantar identitas layanan.
Men-deploy Pengumpul
Untuk menginstal OpenTelemetry Collector Buatan Google sebagai file bantuan untuk Cloud Run, buat terlebih dahulu rahasia untuk menyimpan konfigurasi pengumpul.
gcloud secrets create SECRET_NAME --data-file=config.yaml --project=PROJECT_ID
Selanjutnya, tambahkan Google-Built OpenTelemetry Collector sebagai sidecar ke service.yaml Anda:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
annotations:
run.googleapis.com/launch-stage: ALPHA
name: google-otel-cloud-run-sample
spec:
template:
metadata:
annotations:
# [REQUIRED] set the collector as a parent to the app
run.googleapis.com/container-dependencies: "{app:[collector]}"
run.googleapis.com/secrets: 'SECRET_NAME:projects/PROJECT_ID/secrets/SECRET_NAME'
spec:
containers:
- image: my-app
name: app
ports:
- containerPort: 8080
env:
- name: "OTEL_EXPORTER_OTLP_ENDPOINT"
value: "http://localhost:4317"
- image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.144.0"
args:
- --config=/etc/otelcol-google/config.yaml
name: collector
startupProbe:
httpGet:
path: /
port: 13133
timeoutSeconds: 30
periodSeconds: 30
livenessProbe:
httpGet:
path: /
port: 13133
timeoutSeconds: 30
periodSeconds: 30
volumeMounts:
- mountPath: /etc/otelcol-google/
name: config
volumes:
- name: config
secret:
items:
- key: latest
path: config.yaml
secretName: 'SECRET_NAME'
Mengonfigurasi Pengumpul
Kami menyediakan konfigurasi OpenTelemetry Collector untuk Anda gunakan dengan Collector buatan Google. Konfigurasi ini dirancang untuk mengirimkan metrik, log, dan rekaman aktivitas OTLP dalam volume tinggi. Konfigurasi ini juga dirancang untuk mencegah masalah penyerapan umum. Anda dapat menambahkan ke konfigurasi, tetapi sebaiknya jangan menghapus elemen.
Bagian ini menjelaskan konfigurasi yang disediakan, komponen utama seperti eksportir, pemroses, penerima, dan komponen lain yang tersedia.
Konfigurasi Pengumpul yang disediakan
Anda dapat menemukan konfigurasi Pengumpul di direktorigoogle-built-opentelemetry-collector
pada repositori
opentelemetry-operations-collector:
Pengekspor
Konfigurasi Pengumpul mencakup eksportir berikut:
Pengekspor
googlecloud, untuk log dan rekaman aktivitas. Exporter ini dikonfigurasi dengan nama log default.googlemanagedprometheuspengekspor, untuk metrik. Exporter ini tidak memerlukan konfigurasi apa pun, tetapi ada opsi konfigurasi. Untuk mengetahui informasi tentang opsi konfigurasi untuk eksportirgooglemanagedprometheus, lihat Mulai menggunakan OpenTelemetry Collector dalam dokumentasi Google Cloud Managed Service for Prometheus.
Prosesor
Konfigurasi Pengumpul mencakup pemroses berikut:
batch: Dikonfigurasi untuk mengelompokkan permintaan telemetri pada Google Cloud jumlah maksimum entri per permintaan, atau pada Google Cloud interval minimum setiap 5 detik (mana saja yang lebih dulu).memory_limiter: Membatasi penggunaan memori Pengumpul untuk mencegah error kehabisan memori dengan menghapus titik data saat batas terlampaui.resourcedetection: Mendeteksi label resource secara otomatis sepertiproject_id. Google Cloud
Penerima
Konfigurasi Pengumpul hanya mencakup
penerima otlp.
Untuk mengetahui informasi tentang cara menginstrumentasi aplikasi Anda untuk mengirimkan metrik dan rekaman aktivitas OTLP ke endpoint OTLP Collector, lihat Memilih pendekatan instrumentasi.
Komponen yang tersedia
Pengumpul OpenTelemetry Buatan Google berisi komponen yang dibutuhkan sebagian besar pengguna untuk mengaktifkan pengalaman yang kaya dalam Google Cloud Observability. Untuk mengetahui daftar lengkap
komponen yang tersedia, lihat
Komponen
di repositori opentelemetry-operations-collector.
Untuk meminta perubahan atau penambahan pada komponen yang tersedia, buka permintaan fitur di repositori opentelemetry-operations-collector.
Membuat telemetri
Untuk menghasilkan telemetri, Anda membuat aplikasi Cloud Run dengan pengumpul container bantuan. Dokumen Menulis metrik OTLP menggunakan file bantuan OpenTelemetry memberikan tutorial untuk menggunakan OpenTelemetry Collector Buatan Google sebagai file bantuan. Anda dapat menggunakan tutorial ini untuk membuat telemetri dengan Pengumpul yang dibuat Google.
Melihat telemetri
Google-Built OpenTelemetry Collector mengirimkan metrik, log, dan trace dari aplikasi yang diinstrumentasi ke Google Cloud Observability. Kolektor juga mengirimkan metrik pengamatan mandiri. Bagian berikut menjelaskan cara melihat telemetri ini.
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:-
Di konsol Google Cloud , buka halaman leaderboard Metrics explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- 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.
- Pada elemen Metrik, luaskan menu Pilih metrik, masukkan
Prometheus Targetdi panel filter, lalu gunakan submenu untuk memilih jenis dan metrik resource tertentu:- Di menu Active resources, pilih Prometheus Target.
- Untuk memilih metrik, gunakan menu Kategori metrik aktif dan Metrik aktif.
Metrik yang dikumpulkan oleh OpenTelemetry Collector buatan Google memiliki
awalan
prometheus.googleapis.com. - Klik Terapkan.
Untuk menambahkan filter, yang menghapus deret waktu dari hasil kueri, gunakan elemen Filter.
- 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:
-
Di konsol Google Cloud , buka halaman
Trace explorer:
Anda juga dapat menemukan halaman ini dengan menggunakan kotak penelusuran.
- Di toolbar konsol Google Cloud , pilih project Google Cloud Anda. Untuk konfigurasi App Hub, pilih project host atau project pengelolaan App Hub.
- Di bagian tabel pada halaman, pilih baris.
Di diagram Gantt pada 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.
Untuk melihat log yang terkait dengan rekaman aktivitas ini, pilih tab Logs & Events.
Tab ini menampilkan log individual. 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 rekaman aktivitas.
Melihat log
Dari Logs Explorer, Anda dapat memeriksa log, dan Anda juga dapat melihat rekaman aktivitas terkait, jika ada.
-
Di konsol Google Cloud , buka Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Temukan entri log dari aplikasi yang diinstrumentasi. Untuk melihat detailnya, luaskan entri log.
Klik
Traces pada entri log dengan pesan
trace, lalu pilih View trace details.Panel Detail rekaman aktivitas akan terbuka dan menampilkan rekaman aktivitas yang dipilih.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan Logs Explorer, lihat Melihat log menggunakan Logs Explorer.
Mengamati dan men-debug Pengumpul
Pengumpul OpenTelemetry Buatan Google secara otomatis menyediakan metrik pengamatan mandiri untuk membantu Anda memantau performanya dan memastikan pipeline penyerapan OTLP terus beroperasi.
Untuk memantau Pengumpul, instal contoh dasbor untuk Pengumpul. Dasbor ini menawarkan insight sekilas tentang beberapa metrik dari Pengumpul, termasuk waktu aktif, penggunaan memori, dan panggilan API ke Google Cloud Observability.
Untuk menginstal dasbor, lakukan tindakan berikut:
-
Di konsol Google Cloud , buka halaman Dasbor:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Klik Dashboard Templates.
- Telusuri dasbor OpenTelemetry Collector.
- Opsional: Untuk melihat pratinjau dasbor, pilih dasbor.
Klik playlist_add Tambahkan dasbor ke daftar Anda, lalu selesaikan dialog.
Dialog ini memungkinkan Anda memilih nama dasbor dan menambahkan label ke dasbor.
Untuk mengetahui informasi selengkapnya tentang cara menginstal dasbor, lihat Menginstal template dasbor.