Metrik label

Label memungkinkan Anda membedakan karakteristik metrik. Selain mengumpulkan metrik, resource kustom MonitoringTarget memungkinkan Anda memberi label pada metrik untuk fitur kemampuan observasi opsional:

Untuk informasi selengkapnya tentang pelabelan ulang metrik, lihat https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/.

Sebelum memulai

Untuk mengelola resource kustom MonitoringTarget, Anda harus memiliki izin yang diperlukan.

Meminta peran organisasi IAM

Hubungi Admin Organisasi IAM Anda untuk meminta peran berikut:

  • MonitoringTarget PA Creator (monitoringtarget-pa-creator): membuat resource kustom MonitoringTarget.
  • MonitoringTarget PA Editor (monitoringtarget-pa-editor): mengedit atau mengubah resource kustom MonitoringTarget.
  • MonitoringTarget PA Viewer (monitoringtarget-pa-viewer~): viewMonitoringTarget` custom resources.

Meminta peran project IAM

Hubungi IAM Project Admin Anda untuk meminta peran berikut:

  • MonitoringTarget Editor (monitoringtarget-editor): mengedit atau mengubah resource kustom MonitoringTarget di namespace project.
  • MonitoringTarget Viewer (monitoringtarget-viewer): melihat resource kustom MonitoringTarget di namespace project.

Mengirim metrik ke project lain

Pembuat penampung dapat membuat kode metrik tertentu untuk dikirim ke project lain, bahkan ke project yang tidak mereka miliki. Untuk mengirim metrik ke project tertentu, tambahkan label _gdch_project ke metrik dalam kode Anda, dengan menetapkan nilainya ke nama project tujuan.

Atau, gunakan resource kustom MonitoringTarget untuk mengirim semua data metrik yang dikumpulkan ke project lain. Tetapkan label _gdch_project sebagai label target di kolom metricsRelabelings, dengan nama project baru sebagai nilai pengganti.

Contoh kode berikut menunjukkan cara menetapkan label target _gdch_project di resource kustom MonitoringTarget untuk mengirim metrik ke project bernama another-project-name:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  [...]
  podMetricsEndpoints:
    [...]
    metricsRelabelings:
      - action: replace
        targetLabel: _gdch_project
        replacement: another-project-name
      [...]

Ganti kode berikut:

  • PROJECT_NAMESPACE: namespace project Anda.
  • MONITORING_TARGET_NAME: nama file definisi MonitoringTarget.

Menambahkan label baru ke metrik

Label membantu kemampuan observasi dan pemantauan dengan mengidentifikasi karakteristik metrik. Anda dapat menambahkan label yang awalnya tidak ditampilkan oleh container yang di-scrape. Di resource kustom MonitoringTarget, tetapkan label baru sebagai target dan berikan nilai pengganti. Pasangan nilai kunci ini ditambahkan ke semua metrik yang dikumpulkan resource.

Contoh kode berikut menunjukkan cara menetapkan label target my_new_label dan mengonfigurasi nilainya ke my_label_value di resource kustom MonitoringTarget:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  [...]
  podMetricsEndpoints:
    [...]
    metricsRelabelings:
      - action: replace
        targetLabel: my_new_label
        replacement: my_label_value
      [...]

Ganti kode berikut:

  • PROJECT_NAMESPACE: namespace project Anda.
  • MONITORING_TARGET_NAME: nama file definisi MonitoringTarget.

Mengganti nama metrik

Anda dapat mengganti nama metrik container menggunakan resource MonitoringTarget. Tetapkan nama metrik asli dan penggantinya di kolom metricsRelabelings. Nama asli diperlakukan sebagai ekspresi reguler (regex) dan diganti dengan nama baru.

Contoh kode berikut menunjukkan cara mengganti nama metrik cpu_usage (regex) dengan cpu_usage_new_name di resource kustom MonitoringTarget:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  [...]
  podMetricsEndpoints:
    [...]
    metricsRelabelings:
      - action: replace
        regex: cpu_usage
        replacement: cpu_usage_new_name
        sourceLabels: [__name__]
        targetLabel: __name__
      [...]

Ganti kode berikut:

  • PROJECT_NAMESPACE: namespace project Anda.
  • MONITORING_TARGET_NAME: nama file definisi MonitoringTarget.