Metriche delle etichette

Prima di iniziare

Per ottenere le autorizzazioni necessarie per etichettare le metriche o visualizzare le etichette delle metriche, chiedi all'amministratore IAM del progetto di concederti uno dei seguenti ruoli nello spazio dei nomi del progetto:

  • Editor target di monitoraggio: modifica o modifica le risorse personalizzate MonitoringTarget. Richiedi il ruolo Editor target di monitoraggio (monitoringtarget-editor).
  • Visualizzatore target di monitoraggio: visualizza le risorse personalizzate MonitoringTarget. Richiedi il ruolo Visualizzatore target di monitoraggio (monitoringtarget-viewer).

Le etichette ti consentono di distinguere le caratteristiche di una metrica. Oltre a raccogliere le metriche, la risorsa personalizzata MonitoringTarget ti consente di etichettare le metriche per funzionalità facoltative come le seguenti:

Per ulteriori informazioni sul cambio di etichetta delle metriche, visita la pagina https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/

Inviare metriche a un altro progetto

Gli autori dei container possono scrivere nel codice che il sistema deve inviare metriche specifiche a un altro progetto per il monitoraggio del sistema, anche se il progetto corrisponde a un'altra persona GDC. Per inviare metriche a un progetto specifico, aggiungi l'etichetta _gdch_project a una metrica nel codice. Imposta il valore sul nome del progetto di cui vuoi essere proprietario di quella particolare metrica di osservabilità. Ad esempio, "_gdch_project": "another-project-name".

In alternativa, utilizza la risorsa personalizzata MonitoringTarget per inviare tutti i dati delle metriche raccolti a un altro progetto per l'osservabilità dei dati. A questo scopo, imposta l'etichetta _gdch_project come etichetta target nel campo metricsRelabelings e stabilisci un valore di sostituzione.

Il seguente esempio di codice mostra come sostituire il valore dell'etichetta _gdch_project con another-project-name nella risorsa personalizzata MonitoringTarget:

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

Sostituisci PROJECT_NAMESPACE con lo spazio dei nomi del tuo progetto.

Aggiungere nuove etichette alle metriche

Le etichette sono utili per l'osservabilità dei dati e il monitoraggio del sistema perché consentono di identificare diverse caratteristiche di una metrica. Puoi aggiungere nuove etichette alle metriche che i contenitori sottoposti a scraping non espongono inizialmente. Nella risorsa personalizzata MonitoringTarget, imposta la nuova etichetta come target e stabilisci una sostituzione che funga da valore dell'etichetta. Il sistema aggiunge la nuova coppia chiave-valore a tutte le metriche raccolte dalla risorsa personalizzata per l'osservabilità dei dati.

Il seguente esempio di codice mostra come aggiungere l'etichetta my_new_label e impostarne il valore su my_label_value nella risorsa personalizzata MonitoringTarget:

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

Sostituisci PROJECT_NAMESPACE con lo spazio dei nomi del tuo progetto.

Rinominare una metrica

Puoi rinominare completamente una metrica prodotta da un contenitore dal MonitoringTarget CR. Imposta il nome originale della metrica e la relativa sostituzione nel campo metricsRelabelings. La risorsa personalizzata prende il nome della metrica originale come espressione regolare e lo sostituisce con il nuovo nome che hai aggiunto.

Il seguente esempio di codice mostra come sostituire il nome della metrica cpu_usage con cpu_usage_new_name nel report MonitoringTarget:

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

Sostituisci PROJECT_NAMESPACE con lo spazio dei nomi del tuo progetto.