Membuat metrik baru dari metrik yang ada

Halaman ini menjelaskan cara membuat metrik baru dari metrik yang ada dengan men-deploy resource kustom MonitoringRule di Google Distributed Cloud (GDC) yang terisolasi.

Aturan perekaman memungkinkan Anda menghitung terlebih dahulu ekspresi yang sering digunakan atau mahal secara komputasi, sehingga meningkatkan performa untuk dasbor dan pemberitahuan. Ditentukan dalam resource kustom MonitoringRule, aturan ini menghasilkan metrik deret waktu baru dari metrik yang ada, sehingga meningkatkan kemampuan pengamatan data.

Dengan menyimpan hasil yang telah dihitung sebelumnya, aturan perekaman menghilangkan perhitungan berulang setiap kali ekspresi diperlukan. Metode ini mempercepat waktu kueri secara signifikan, terutama untuk dasbor dan pemberitahuan kompleks yang memerlukan evaluasi berulang dari ekspresi yang sama. Pada dasarnya, resource MonitoringRule memungkinkan Anda memperoleh metrik baru dari metrik yang ada dengan menentukan kalkulasi yang diperlukan dalam aturan perekamannya.

Sebelum memulai

Untuk mendapatkan izin yang Anda perlukan untuk mengelola MonitoringRuleresource kustom, minta Admin IAM Organisasi atau Admin IAM Project Anda untuk memberi Anda salah satu MonitoringRuleperan terkait.

Bergantung pada tingkat akses dan izin yang Anda perlukan, Anda mungkin mendapatkan peran pembuat, editor, atau pelihat untuk resource ini di organisasi atau project. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan izin IAM.

Membuat aturan perekaman

Untuk membuat aturan perekaman, tentukan nama untuk metrik yang direkam dan ekspresi yang valid yang menghasilkan nilai numerik. Ekspresi ini, saat dievaluasi, akan menghasilkan metrik baru. Deploy resource kustom MonitoringRule di namespace project Anda di server Management API untuk mengaktifkan aturan perekaman.

Untuk mengetahui informasi selengkapnya tentang aturan perekaman, lihat https://grafana.com/docs/loki/latest/rules/.

Ikuti langkah-langkah berikut untuk membuat aturan perekaman di namespace project Anda:

  1. Tentukan project GDC tempat Anda ingin membuat aturan perekaman.
  2. Buat file YAML yang menentukan resource kustom MonitoringRule.

    Spesifikasi MonitoringRule lengkap menunjukkan contoh untuk aturan perekaman berbasis metrik. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API.

  3. Ganti nilai berikut dalam file YAML sesuai kebutuhan Anda:

    Nama kolom Deskripsi
    namespace Namespace project.
    name Nama untuk konfigurasi aturan.
    interval Durasi interval evaluasi aturan dalam detik.
    limit Opsional. Jumlah maksimum pemberitahuan. Setel ke 0 untuk pemberitahuan tanpa batas.
    recordRules Definisi untuk menghitung metrik baru.
    recordRules.record Nama rekaman untuk metrik baru. Nilai harus berupa nama metrik yang valid yang menentukan deret waktu tempat hasil disimpan.
    recordRules.expr Ekspresi PromQL untuk aturan metrik, yang harus dievaluasi menjadi nilai numerik.
    recordRules.labels Opsional. Pasangan nilai kunci label yang akan ditambahkan ke atau menggantikan metrik baru.
  4. Simpan file YAML.

  5. Terapkan konfigurasi MonitoringRule ke server Management API dalam namespace yang sama dengan aturan perekaman Anda:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f MONITORING_RULE_NAME.yaml
    

    Ganti kode berikut:

    • KUBECONFIG_PATH: jalur ke file kubeconfig untuk server Management API.
    • MONITORING_RULE_NAME: nama file definisi MonitoringRule.

Spesifikasi MonitoringRule lengkap

Resource kustom MonitoringRule berisi aturan perekaman yang menjelaskan kondisi untuk membuat metrik baru berdasarkan metrik yang ada untuk kemampuan pengamatan.

File YAML berikut menunjukkan template untuk resource kustom MonitoringRule. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API.

# Configures either an alert or a target record for precomputation.
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringRule
metadata:
  # Choose a namespace that matches the project namespace.
  # The alert or record is produced in the same namespace.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_RULE_NAME
spec:
  # Rule evaluation interval.
  interval: 60s

  # Configure the limit for the number of alerts.
  # A value of '0' means no limit.
  # Optional.
  # Default value: '0'
  limit: 0

  # Configure recording rules to generate new metrics based on existing metrics.
  # Recording rules precompute expressions that are frequently needed or computationally expensive.
  # Results are saved as a new set of time series.
  recordRules:
    # Define the time series where you want to write the recording rule.
    # The value must be a valid metric name.
  - record: MyMetricsName

    # Define the PromQL expression to evaluate for this rule.
    expr: rate({service_name="bob-service"} [1m])

    # Define labels to add or overwrite.
    # Map of key-value pairs.
    # Optional.
    labels:
      verb: read

Ganti kode berikut:

  • PROJECT_NAMESPACE: namespace project Anda.
  • MONITORING_RULE_NAME: nama file definisi MonitoringRule.