Menulis metrik Prometheus menggunakan file bantuan Prometheus

File bantuan Managed Service for Prometheus untuk Cloud Run adalah cara yang direkomendasikan Google untuk mendapatkan pemantauan bergaya Prometheus untuk layanan Cloud Run. Jika layanan Cloud Run Anda menulis metrik OTLP, Anda dapat menggunakan file bantuan OpenTelemetry. Namun, untuk layanan yang menulis metrik Prometheus, gunakan bantuan Managed Service for Prometheus yang dijelaskan dalam dokumen ini.

Dokumen ini menjelaskan cara melakukan hal berikut:

File bantuan ini menggunakan Google Cloud Managed Service for Prometheus di sisi server dan distribusi OpenTelemetry Collector, yang dibangun khusus untuk workload serverless, di sisi klien. Distribusi kustom ini mencakup beberapa perubahan untuk mendukung Cloud Run. Pengumpul melakukan pengambilan data saat startup setelah 10 detik dan melakukan pengambilan data saat shutdown, tidak peduli seberapa singkat masa aktif instance. Untuk keandalan maksimum, sebaiknya layanan Cloud Run yang menjalankan sidecar juga menggunakan setelan penagihan berbasis instance; untuk mengetahui informasi selengkapnya, lihat Setelan penagihan (layanan). Beberapa upaya scraping mungkin gagal jika alokasi CPU di-throttle karena jumlah kueri per detik (QPS) yang rendah. CPU yang selalu dialokasikan tetap tersedia.

Sidecar mengandalkan fitur multi-container (sidecar) Cloud Run untuk menjalankan pengumpul sebagai container sidecar bersama dengan container workload Anda. Untuk mengetahui informasi selengkapnya tentang file bantuan di Cloud Run, lihat Men-deploy beberapa container ke layanan (file bantuan).

File bantuan Managed Service for Prometheus untuk Cloud Run memperkenalkan konfigurasi baru, RunMonitoring, yang merupakan subset dari resource kustom PodMonitoring Kubernetes. Sebagian besar pengguna dapat menggunakan konfigurasi RunMonitoring default, tetapi Anda juga dapat membuat konfigurasi kustom. Untuk mengetahui informasi selengkapnya tentang konfigurasi RunMonitoring default dan kustom, lihat Menambahkan sidecar ke layanan Cloud Run.

Sebelum memulai

Bagian ini menjelaskan penyiapan yang diperlukan untuk menggunakan dokumen ini.

Menginstal dan mengonfigurasi gcloud CLI

Banyak langkah yang dijelaskan dalam dokumen ini menggunakan Google Cloud CLI. Untuk mengetahui informasi tentang cara menginstal gcloud CLI, lihat Mengelola komponen Google Cloud CLI.

Saat memanggil perintah gcloud, Anda harus menentukan ID untuk project Google Cloud Anda. Anda dapat menetapkan project default untuk Google Cloud CLI dan menghilangkan kebutuhan untuk memasukkannya dengan setiap perintah. Untuk menetapkan project Anda sebagai project default, masukkan perintah berikut:

gcloud config set project PROJECT_ID

Anda juga dapat menetapkan region default untuk layanan Cloud Run. Untuk menetapkan region default, masukkan perintah berikut:

gcloud config set run/region REGION

Mengaktifkan API

Anda harus mengaktifkan API berikut di project Anda: Google Cloud

  • Cloud Run Admin API: run.googleapis.com
  • Artifact Registry API: artifactregistry.googleapis.com
  • Cloud Monitoring API: monitoring.googleapis.com
  • Cloud Logging API: logging.googleapis.com
  • (Opsional) Jika Anda membuat konfigurasi RunMonitoring kustom, Anda harus mengaktifkan Secret Manager API: secretmanager.googleapis.com
  • (Opsional) Jika Anda memilih untuk menjalankan aplikasi contoh menggunakan Cloud Build, Anda juga harus mengaktifkan API berikut:

Untuk melihat API yang diaktifkan di project Anda, jalankan perintah berikut:

gcloud services list

Untuk mengaktifkan API yang belum diaktifkan, jalankan salah satu perintah berikut:

gcloud services enable run.googleapis.com
gcloud services enable artifactregistry.googleapis.com
gcloud services enable secretmanager.googleapis.com
gcloud services enable monitoring.googleapis.com
gcloud services enable logging.googleapis.com
gcloud services enable cloudbuild.googleapis.com
gcloud services enable iam.googleapis.com

Akun layanan untuk Cloud Run

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:

  • roles/monitoring.metricWriter
  • roles/logging.logWriter

Jika Anda membuat konfigurasi RunMonitoring kustom, akun layanan Anda juga harus memiliki peran berikut:

  • roles/secretmanager.admin
  • 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 Mengonfigurasi Identitas Layanan.

Mengonfigurasi dan menambahkan file bantuan ke layanan Cloud Run

File bantuan Managed Service for Prometheus untuk Cloud Run memperkenalkan konfigurasi baru, RunMonitoring, yang merupakan subset dari resource kustom PodMonitoring Kubernetes. Konfigurasi RunMonitoring menggunakan opsi PodMonitoring yang ada untuk mendukung Cloud Run sekaligus menghilangkan beberapa opsi yang khusus untuk Kubernetes.

Anda dapat menggunakan konfigurasi RunMonitoring default, atau membuat konfigurasi kustom. Bagian berikut menjelaskan kedua pendekatan tersebut. Anda tidak perlu melakukan keduanya. Untuk mengetahui informasi selengkapnya tentang penggunaan konfigurasi default atau kustom, pilih tab yang sesuai.

Konfigurasi default

Menggunakan konfigurasi RunMonitoring default

Jika Anda tidak membuat konfigurasi RunMonitoring kustom, pengumpul sidecar akan menyintesis konfigurasi default berikut untuk meng-scrape metrik dari port 8080 di jalur metrik /metrics setiap 30 detik:

apiVersion: monitoring.googleapis.com/v1beta
kind: RunMonitoring
metadata:
  name: run-gmp-sidecar
spec:
  endpoints:
  - port: 8080
    path: /metrics
    interval: 30s

Penggunaan konfigurasi default tidak memerlukan penyiapan tambahan selain menambahkan sidecar ke layanan Cloud Run Anda.

Menambahkan file bantuan ke layanan Cloud Run

Untuk menggunakan sidecar dengan konfigurasi RunMonitoring default, Anda harus mengubah konfigurasi Cloud Run yang ada untuk menambahkan sidecar. Untuk menambahkan sidecar, lakukan langkah-langkah berikut:

  • Tambahkan anotasi dependensi container yang menentukan urutan startup dan penonaktifan container. Dalam contoh berikut, container sidecar, yang bernama "collector", dimulai setelah dan dimatikan sebelum container aplikasi, yang bernama "app" dalam contoh.
  • Buat penampung untuk pengumpul, yang diberi nama "collector" dalam contoh berikut.

Misalnya, tambahkan baris yang diawali dengan karakter + (plus) ke konfigurasi Cloud Run Anda, lalu deploy ulang layanan Anda:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  annotations:
    run.googleapis.com/launch-stage: ALPHA
    run.googleapis.com/cpu-throttling: 'false'
  name: my-cloud-run-service
spec:
  template:
    metadata:
      annotations:
        run.googleapis.com/execution-environment: gen2
+       run.googleapis.com/container-dependencies: '{"collector":["app"]}'
    spec:
      containers:
      - image: "REGION-docker.pkg.dev/PROJECT_ID/run-gmp/sample-app"
        name: app
        startupProbe:
          httpGet:
            path: /startup
            port: 8000
        livenessProbe:
          httpGet:
            path: /liveness
            port: 8000
        ports:
        - containerPort: 8000
+     - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.2.0"
+       name: collector

Untuk men-deploy ulang layanan Cloud Run dengan file konfigurasi run-service.yaml, jalankan perintah berikut:

gcloud run services replace run-service.yaml --region=REGION

Konfigurasi kustom

Membuat konfigurasi RunMonitoring kustom

Anda dapat membuat konfigurasi RunMonitoring untuk layanan Cloud Run jika konfigurasi default tidak cukup. Misalnya, Anda dapat membuat konfigurasi seperti berikut:

apiVersion: monitoring.googleapis.com/v1beta
kind: RunMonitoring
metadata:
  name: my-custom-cloud-run-job
spec:
  endpoints:
  - port: 8080
    path: /metrics
    interval: 10s
    metricRelabeling:
    - action: replace
      sourceLabels:
      - __address__
      targetLabel: label_key
      replacement: label_value
  targetLabels:
    metadata:
    - service
    - revision

Konfigurasi ini melakukan hal berikut:

  • Mengambil metrik dari port 8080 dan menggunakan jalur metrik default /metrics.
  • Menggunakan interval pengambilan data 10 detik.
  • Menggunakan pelabelan ulang untuk menambahkan label label_key dengan nilai label_value ke setiap metrik yang di-scraping.
  • Menambahkan label metadata service dan revision ke setiap metrik yang di-scrape.

Untuk mengetahui informasi tentang opsi konfigurasi yang tersedia, lihat Spesifikasi RunMonitoring: opsi konfigurasi.

Saat menggunakan konfigurasi RunMonitoring kustom, Anda harus melakukan konfigurasi tambahan berikut:

Simpan konfigurasi menggunakan Secret Manager

Untuk memberikan konfigurasi RunMonitoring kustom, lakukan hal berikut:

  • Buat file yang berisi konfigurasi kustom.
  • Buat secret Secret Manager yang berisi konfigurasi kustom.

Perintah berikut akan membuat secret bernama mysecret dari file custom-config.yaml:

gcloud secrets create mysecret --data-file=custom-config.yaml

Untuk mengambil perubahan pada konfigurasi setelah Anda mengubah file custom-config.yaml, Anda harus menghapus dan membuat ulang secret, lalu men-deploy ulang layanan Cloud Run.

Memperbarui konfigurasi di Secret Manager

Jika ingin memperbarui konfigurasi RunMonitoring kustom kapan saja, Anda dapat menambahkan versi baru rahasia yang ada ke Secret Manager.

Misalnya, untuk mengupdate mysecret dengan konfigurasi baru yang disimpan dalam file custom-config-updated.yaml, Anda dapat menjalankan:

gcloud secrets versions add mysecret --data-file=custom-config-updated.yaml

Sidecar akan otomatis memuat ulang dan menerapkan perubahan pada konfigurasinya.

Menambahkan file bantuan ke layanan Cloud Run

Setelah membuat secret Secret Manager untuk konfigurasi RunMonitoring, Anda harus mengubah konfigurasi Cloud Run untuk melakukan hal berikut:

  • Menambahkan file bantuan Managed Service for Prometheus
    • Tambahkan anotasi dependensi container yang menentukan urutan startup dan penonaktifan container. Dalam contoh berikut, container sidecar, yang bernama "collector", dimulai setelah dan dimatikan sebelum container aplikasi, yang bernama "app" dalam contoh.
    • Buat penampung untuk pengumpul, yang diberi nama "collector" dalam contoh berikut.
  • Tambahkan secret dengan memasang secret di lokasi /etc/rungmp/config.yaml:
    • Tambahkan anotasi secret yang mengarah ke secret yang menyimpan konfigurasi RunMonitoring kustom Anda.
    • Buat volume, yang diberi nama "config" dalam contoh berikut, untuk secret yang mengarah ke file config.yaml.
    • Pasang volume sebagai bagian dari image pengumpul di jalur pemasangan /etc/rungmp.

Misalnya, tambahkan baris yang diawali dengan karakter + (plus) ke konfigurasi Cloud Run Anda, lalu deploy ulang layanan Anda:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  annotations:
    run.googleapis.com/launch-stage: ALPHA
    run.googleapis.com/cpu-throttling: 'false'
  name: my-cloud-run-service
spec:
  template:
    metadata:
      annotations:
        run.googleapis.com/execution-environment: gen2
+       run.googleapis.com/container-dependencies: '{"collector":["app"]}'
+       run.googleapis.com/secrets: 'mysecret:projects/PROJECT_ID/secrets/mysecret'
    spec:
      containers:
      - image: "REGION-docker.pkg.dev/PROJECT_ID/run-gmp/sample-app"
        name: app
        startupProbe:
          httpGet:
            path: /startup
            port: 8000
        livenessProbe:
          httpGet:
            path: /liveness
            port: 8000
        ports:
        - containerPort: 8000
+     - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.2.0"
+       name: collector
+       volumeMounts:
+       - mountPath: /etc/rungmp/
+         name: config
+     volumes:
+     - name: config
+       secret:
+         items:
+         - key: latest
+           path: config.yaml
+         secretName: 'mysecret'

Untuk men-deploy ulang layanan Cloud Run dengan file konfigurasi run-service.yaml, jalankan perintah berikut:

gcloud run services replace run-service.yaml --region=REGION

Spesifikasi RunMonitoring: opsi konfigurasi

Bagian ini menjelaskan spesifikasi konfigurasi RunMonitoring untuk sidecar Managed Service for Prometheus. Berikut adalah contoh konfigurasi kustom:

apiVersion: monitoring.googleapis.com/v1beta
kind: RunMonitoring
metadata:
  name: my-custom-cloud-run-job
spec:
  endpoints:
  - port: 8080
    path: /metrics
    interval: 10s
    metricRelabeling:
    - action: replace
      sourceLabels:
      - __address__
      targetLabel: label_key
      replacement: label_value
  targetLabels:
    metadata:
    - service
    - revision

RunMonitoring

Konfigurasi RunMonitoring memantau layanan Cloud Run.

Kolom Deskripsi Skema Wajib
metadata Metadata yang harus dimiliki semua resource yang dipertahankan. metav1.ObjectMeta false
spec Spesifikasi deployment Cloud Run yang dipilih untuk penemuan target oleh Prometheus. RunMonitoringSpec true
RunMonitoringSpec

Spesifikasi ini menjelaskan cara konfigurasi RunMonitoring memantau layanan Cloud Run.

Kolom Deskripsi Skema Wajib
endpoints Endpoint untuk di-scrape di pod yang dipilih. []ScrapeEndpoint true
targetLabels Label yang akan ditambahkan ke target Prometheus untuk endpoint yang ditemukan. Label instance selalu ditetapkan ke ID instance Cloud Run. RunTargetLabels false
limits Batas yang akan diterapkan pada waktu scraping. *ScrapeLimits false
RunTargetLabels

Konfigurasi RunTargetLabels memungkinkan Anda menyertakan label Cloud Run dari target Prometheus yang ditemukan.

Kolom Deskripsi Skema Wajib
metadata Label metadata Cloud Run yang ditetapkan pada semua target yang di-scrape.

Kunci yang diizinkan adalah instance, revision, service, dan configuration.

Jika kunci yang diizinkan ditetapkan, sidecar akan menambahkan nilai yang sesuai dari instance Cloud Run sebagai label metrik ke setiap metrik: instanceID, revision_name, service_name, dan configuration_name.

Secara default, semua kunci yang diizinkan akan disetel.
*[]string false

Membangun dan menjalankan aplikasi contoh

Bagian ini menjelaskan cara menjalankan bantuan Managed Service for Prometheus dengan aplikasi contoh. Bagian ini bersifat opsional. Jika Anda sudah memiliki layanan Cloud Run dan ingin men-deploy file bantuan bersamanya, lihat Menambahkan file bantuan Managed Service for Prometheus ke layanan Cloud Run.

Buat clone repositori run-gmp-sidecar

Untuk mendapatkan aplikasi contoh dan file konfigurasinya, clone repositori run-gmp-sidecar dengan menjalankan perintah berikut:

git clone https://github.com/GoogleCloudPlatform/run-gmp-sidecar/

Setelah meng-clone repositori, ubah ke direktori run-gmp-sidecar:

cd run-gmp-sidecar

Membangun dan menjalankan aplikasi contoh

Aplikasi contoh memerlukan Docker atau sistem build container serupa untuk Linux. Anda dapat membangun dan menjalankan aplikasi contoh dengan salah satu cara berikut:

  • Gunakan Cloud Build untuk menjalankan tanpa dukungan Docker lokal. Jika menggunakan Cloud Build, Anda juga harus mengaktifkan Cloud Build API.
  • Build dan jalankan aplikasi contoh secara manual.

Bagian berikut menjelaskan kedua pendekatan tersebut. Anda tidak perlu melakukan keduanya. Untuk mengetahui informasi selengkapnya, pilih tab untuk salah satu pendekatan.

Menggunakan Cloud Build

Menggunakan Cloud Build

Repositori run-gmp-sidecar mencakup file konfigurasi untuk Cloud Build. File ini menggabungkan langkah-langkah yang diperlukan untuk mem-build dan men-deploy aplikasi contoh.

Anda juga dapat melakukan langkah-langkah yang ditangani oleh Cloud Build secara manual. Untuk mengetahui informasi selengkapnya, lihat Membangun dan menjalankan secara manual.

Penyiapan untuk Cloud Build

File konfigurasi ini memerlukan akun layanan Cloud Build dan repositori Artifact Registry. Repositori run-gmp-sidecar juga menyertakan skrip, create-sa-and-ar.sh, yang melakukan hal berikut:

  • Membuat akun layanan, run-gmp-sa@PROJECT_ID.iam.gserviceaccount.com.
  • Memberikan peran berikut ke akun layanan:
    • roles/iam.serviceAccountUser
    • roles/storage.objectViewer
    • roles/logging.logWriter
    • roles/artifactregistry.createOnPushWriter
    • roles/secretmanager.admin
    • roles/secretmanager.secretAccessor
    • roles/run.admin
  • Membuat repositori Artifact Registry, run-gmp, untuk image container Anda.

Untuk membuat akun layanan run-gmp-sa dan repositori run-gmp, jalankan perintah berikut:

./create-sa-and-ar.sh

Izin memerlukan waktu beberapa saat untuk diterapkan, jadi sebaiknya tunggu sekitar 30 detik sebelum melanjutkan ke langkah berikutnya. Jika tidak, Anda mungkin akan melihat error otorisasi.

Mengirimkan permintaan Cloud Build

Setelah menyiapkan akun layanan run-gmp-sa dan repositori run-gmp, Anda dapat memulai tugas Cloud Build dengan mengirimkan file konfigurasi Cloud Build. Anda dapat menggunakan perintah gcloud builds submit berikut:

gcloud builds submit . --config=cloudbuild-simple.yaml --region=REGION

Perintah ini memerlukan waktu beberapa menit untuk dijalankan, tetapi hampir seketika menunjukkan tempat Anda dapat menemukan detail build Cloud Build. Pesan tersebut akan terlihat seperti berikut:

Logs are available at [
https://console.cloud.google.com/cloud-build/builds/637860fb-7a14-46f2-861e-09c1dc4cea6b?project=PROJECT_NUMBER].

Untuk melihat progres build, buka URL yang ditampilkan di browser Anda. Anda juga dapat melihat log sidecar di Cloud Logging.

Periksa URL layanan

Setelah tugas Cloud Build berakhir, periksa URL endpoint layanan Cloud Run dengan menjalankan perintah berikut:

gcloud run services describe my-cloud-run-service --region=REGION --format="value(status.url)"

Perintah ini menampilkan URL layanan, yang terlihat seperti berikut:

https://my-cloud-run-service-abcdefghij-ue.a.run.app

Membangun dan menjalankan secara manual

Membangun dan menjalankan secara manual

Anda dapat melakukan langkah-langkah yang ditangani oleh Cloud Build secara manual, seperti yang dijelaskan dalam Menggunakan Cloud Build. Bagian berikut menjelaskan cara melakukan tugas yang sama secara manual.

Menetapkan variabel yang digunakan oleh langkah-langkah selanjutnya

Beberapa langkah selanjutnya menggunakan variabel lingkungan untuk nilai umum. Siapkan variabel ini menggunakan perintah berikut:

export GCP_PROJECT=PROJECT_ID
export REGION=REGION

Membuat repositori image container

Buat repositori Artifact Registry untuk image container dengan menjalankan perintah berikut:

gcloud artifacts repositories create run-gmp \
    --repository-format=docker \
    --location=${REGION}

Membangun dan mengirim aplikasi contoh

Contoh ini menggunakan Docker di Linux untuk membangun aplikasi contoh dan mengirimkannya ke repositori Artifact Registry. Anda mungkin perlu menyesuaikan perintah ini jika bekerja di lingkungan Windows atau macOS.

Untuk mem-build aplikasi contoh dan mengirimkannya ke Artifact Registry, lakukan hal berikut:

  1. Lakukan autentikasi klien Docker Anda dengan Google Cloud CLI:

    gcloud auth configure-docker ${REGION}-docker.pkg.dev
    
  2. Buka direktori simple-app di repositori run-gmp-sidecar:

    pushd sample-apps/simple-app
    

  3. Bangun aplikasi simple-app dengan menjalankan perintah berikut:

    docker build -t ${REGION}-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app .
    
  4. Kirim image untuk aplikasi yang dibangun dengan menjalankan perintah berikut:

    docker push ${REGION}-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app
    

  5. Kembali ke direktori run-gmp-sidecar:

    popd
    

Mengonfigurasi layanan Cloud Run

File run-service-simple.yaml di repositori run-gmp-sidecar menentukan layanan Cloud Run multi-container yang menggunakan aplikasi contoh dan image pengumpul yang Anda buat pada langkah sebelumnya. File run-service-simple.yaml berisi spesifikasi Layanan berikut:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  annotations:
    run.googleapis.com/launch-stage: ALPHA
    run.googleapis.com/cpu-throttling: 'false'
  name: my-cloud-run-service
spec:
  template:
    metadata:
      annotations:
        run.googleapis.com/execution-environment: gen2
        run.googleapis.com/container-dependencies: '{"collector":["app"]}'
    spec:
      containers:
      - image: "%SAMPLE_APP_IMAGE%"
        name: app
        startupProbe:
          httpGet:
            path: /startup
            port: 8000
        livenessProbe:
          httpGet:
            path: /liveness
            port: 8000
        ports:
        - containerPort: 8000
      - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.2.0"
        name: collector

File ini berisi nilai placeholder untuk gambar yang telah Anda buat di langkah-langkah sebelumnya, jadi Anda harus memperbarui placeholder dengan nilai sebenarnya untuk projectGoogle Cloud Anda.

Ganti placeholder %SAMPLE_APP_IMAGE% dengan menjalankan perintah berikut:

sed -i s@%SAMPLE_APP_IMAGE%@REGION-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app@g run-service-simple.yaml

Men-deploy layanan Cloud Run

Setelah memperbarui file run-service-simple.yaml dengan nilai Anda, Anda dapat membuat dan men-deploy layanan Cloud Run dengan menjalankan perintah berikut:

gcloud run services replace run-service-simple.yaml --region=REGION
   

Perintah ini menampilkan URL layanan, yang terlihat seperti berikut:

https://my-cloud-run-service-abcdefghij-ue.a.run.app

Mengizinkan akses HTTP yang tidak diautentikasi

Sebelum dapat membuat permintaan ke URL layanan, Anda harus mengubah kebijakan layanan Cloud Run agar menerima akses HTTP yang tidak diautentikasi. File policy.yaml di repositori run-gmp-sidecar berisi perubahan yang diperlukan.

Untuk mengubah kebijakan layanan, jalankan perintah berikut:

gcloud run services set-iam-policy my-cloud-run-service policy.yaml --region=REGION

Pastikan aplikasi Anda berjalan

Untuk memverifikasi bahwa layanan Cloud Run telah menjalankan aplikasi contoh dengan benar, gunakan utilitas curl untuk mengakses endpoint metrics layanan.

  1. Jalankan perintah berikut untuk mendapatkan URL layanan Anda:

    SERVICE_URL=$(gcloud run services describe my-cloud-run-service --region=REGION --format 'value(status.url)')
    

    Ganti REGION dengan region Cloud Run layanan Anda.

  2. Kirim permintaan ke URL layanan dengan menjalankan perintah berikut:

    curl $SERVICE_URL
    

Jika aplikasi Anda berhasil dimulai, Anda akan melihat respons berikut:

User request received!

Melihat metrik aplikasi di Metrics Explorer

Container app contoh menulis metrik berikut:

  • foo_metric: Waktu saat ini sebagai nilai floating point (pengukur).
  • bar_metric: Waktu saat ini sebagai nilai floating point (penghitung).

Untuk melihat metrik ini di Metrics Explorer, 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 panel pembuat kueri, pilih tombol yang namanya  MQL atau  PromQL.

  3. Pastikan PromQL dipilih di tombol Language. Tombol bahasa ada di toolbar yang sama yang memungkinkan Anda memformat kueri.

  4. Masukkan kueri berikut ke dalam panel editor:

    foo_metric
    
  5. Klik Tambahkan kueri.

  6. Di toolbar panel pembuat kueri, pilih tombol yang namanya  MQL atau  PromQL.

  7. Pastikan PromQL dipilih di tombol Language. Tombol bahasa ada di toolbar yang sama yang memungkinkan Anda memformat kueri.

  8. Masukkan kueri berikut ke panel editor kedua:

    bar_metric
    
  9. Klik Run query.

  10. Untuk melihat detail tentang metrik, di tombol yang diberi label Chart Table Both, pilih Both.

Pembersihan

Setelah selesai bereksperimen dengan aplikasi contoh, Anda dapat menggunakan skrip clean-up-cloud-run.sh di repositori run-gmp-sidecar untuk menghapus resource berikut yang mungkin telah Anda buat untuk contoh:

  • Layanan Cloud Run.
  • Repositori Artifact Registry.
  • Akun layanan yang dibuat untuk Cloud Build.

Menghapus resource ini memastikan Anda tidak dikenai biaya setelah menjalankan sampel.

Untuk membersihkan aplikasi contoh, jalankan skrip clean-up-cloud-run.sh:

./clean-up-cloud-run.sh

Melihat metrik mandiri di Metrics Explorer

File bantuan Managed Service for Prometheus melaporkan metrik berikut tentang dirinya sendiri ke Cloud Monitoring:

  • agent_uptime: Uptime pengumpul sidecar (penghitung).
  • agent_memory_usage: Memori yang digunakan oleh pengumpul sidecar (pengukur).
  • agent_api_request_count: Jumlah permintaan API dari pengumpul sidecar (penghitung).
  • agent_monitoring_point_count: Jumlah titik metrik yang ditulis ke Cloud Monitoring oleh pengumpul sidecar (penghitung).

Untuk melihat metrik mandiri sidecar di Metrics Explorer, 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 panel pembuat kueri, pilih tombol yang namanya  MQL atau  PromQL.

  3. Pastikan PromQL dipilih di tombol Language. Tombol bahasa ada di toolbar yang sama yang memungkinkan Anda memformat kueri.

  4. Masukkan nama metrik yang ingin Anda kueri ke panel editor, misalnya:

    agent_api_request_count
    
  5. Klik Run query.

  6. Untuk melihat detail tentang metrik, di tombol yang diberi label Chart Table Both, pilih Both.

Melihat log sendiri di Logs Explorer

File bantuan Managed Service for Prometheus menulis log ke Cloud Logging. Sidecar menulis log terhadap jenis resource yang dimonitor Logging cloud_run_revision.

Untuk melihat log sidecar di Logs Explorer, lakukan hal berikut:

  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. Pilih jenis resource Cloud Run Revision, atau masukkan kueri berikut dan klik Run query:

    resource.type="cloud_run_revision"
    

Tentang metrik yang dikumpulkan

Saat metrik yang dikeluarkan oleh sidecar dimasukkan ke Cloud Monitoring, metrik tersebut ditulis terhadap jenis resource yang dimonitor prometheus_target Cloud Monitoring. Jenis resource ini digunakan untuk metrik aplikasi dan metrik mandiri sidecar.

Saat menulis metrik, sidecar menetapkan label resource sebagai berikut:

  • project_id: ID Google Cloud project tempat penampung berjalan.
  • location: Region Google Cloud tempat penampung berjalan.
  • cluster: Nilai __run__.
  • namespace: Nama layanan Cloud Run yang sedang dijalankan; berasal dari variabel lingkungan K_SERVICE.
  • job: Nama dari konfigurasi RunMonitoring; defaultnya adalah run-gmp-sidecar.
  • instance: Nilai faas.ID:PORT dari workload lokal tempat penampung dikonfigurasi untuk menarik metrik. Nilai faas.ID adalah ID instance Cloud Run.

Sidecar juga menambahkan label metrik berikut:

  • instanceId: ID instance Cloud Run.
  • service_name: Nama layanan Cloud Run yang sedang dijalankan.
  • revision_name: Nama revisi Cloud Run yang sedang dijalankan.
  • configuration_name: Nama konfigurasi Cloud Run yang sedang dijalankan.

Semua label metrik ini ditambahkan secara default. Jika Anda menggunakan konfigurasi RunMonitoring kustom, Anda dapat menghilangkan label service_name, revision_name, dan configuration_name dengan menggunakan opsi targetLabels dalam spesifikasi RunMonitoring. Anda juga dapat menggunakan konfigurasi kustom untuk memberi label ulang pada nilai label service_name, revision_name, dan configuration_name.

Semua label lain yang muncul dengan metrik yang diproses berasal dari metrik Anda. Jika label yang ditentukan pengguna bertentangan dengan salah satu label yang disediakan sistem, label yang ditentukan pengguna akan diawali dengan string exported_. Misalnya, label yang ditentukan pengguna namespace="playground" berkonflik dengan label namespace yang ditentukan sistem, sehingga label pengguna muncul sebagai exported_namespace="playground".

Jenis metrik

Saat metrik yang dikeluarkan oleh sidecar diserap ke Cloud Monitoring, metrik tersebut ditulis sebagai metrik prometheus.googleapis.com, dan jenis metrik Prometheus ditambahkan di akhir nama. Misalnya, aplikasi contoh memancarkan metrik pengukur Prometheus bernama foo_metric. Di Cloud Monitoring, metrik disimpan sebagai jenis metrik prometheus.googleapis.com/foo_metric/gauge.

Saat membuat kueri metrik dengan PromQL, Anda dapat menggunakan nama Prometheus, seperti yang diilustrasikan dalam Melihat metrik aplikasi di Metrics Explorer dan Melihat metrik mandiri di Metrics Explorer. Saat menggunakan alat seperti pembuat kueri atau Monitoring Query Language (MQL) di Metrics Explorer, jenis metrik Cloud Monitoring menjadi relevan.

Penagihan

Metrik yang dikeluarkan oleh sidecar dimasukkan ke Cloud Monitoring dengan awalan prometheus.googleapis.com. Metrik dengan awalan ini dikenai biaya berdasarkan jumlah sampel yang diserap. Untuk mengetahui informasi selengkapnya tentang penagihan dan Managed Service for Prometheus, lihat Penagihan.