Le etichette ti consentono di distinguere le caratteristiche di una metrica. Oltre a
raccogliere metriche, la
risorsa personalizzata MonitoringTarget
ti consente di etichettare le metriche per le funzionalità di osservabilità facoltative:
Per ulteriori informazioni sull'etichettatura delle metriche, consulta https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/.
Prima di iniziare
Per ottenere le autorizzazioni necessarie per gestire le risorse personalizzate MonitoringTarget
, chiedi all'amministratore IAM dell'organizzazione o all'amministratore IAM del progetto di concederti uno dei ruoli MonitoringTarget
associati.
A seconda del livello di accesso e delle autorizzazioni di cui hai bisogno, potresti ottenere i ruoli di creatore, editor o visualizzatore per questa risorsa in un'organizzazione o in un progetto. Per maggiori informazioni, vedi Preparare le autorizzazioni IAM.
Inviare metriche a un altro progetto
Gli autori dei contenitori possono codificare metriche specifiche da inviare a un progetto diverso, anche a progetti di cui non sono proprietari. Per inviare una metrica a un progetto specifico, aggiungi l'etichetta
_gdch_project
alla metrica nel codice, impostando il relativo valore sul
nome del progetto di destinazione.
In alternativa, utilizza la risorsa personalizzata MonitoringTarget
per inviare tutti
i dati delle metriche raccolti a un altro progetto. Imposta l'etichetta _gdch_project
come
etichetta target nel campo metricsRelabelings
, con il nuovo nome del progetto come
valore di sostituzione.
Il seguente esempio di codice mostra come impostare l'etichetta di destinazione _gdch_project
nella risorsa personalizzata MonitoringTarget
per inviare metriche al progetto denominato 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
[...]
Sostituisci quanto segue:
PROJECT_NAMESPACE
: lo spazio dei nomi del progetto.MONITORING_TARGET_NAME
: il nome del file di definizioneMonitoringTarget
.
Aggiungere nuove etichette alle metriche
Le etichette aiutano l'osservabilità e il monitoraggio identificando le caratteristiche delle metriche. Puoi aggiungere etichette che i contenitori sottoposti a scraping non espongono inizialmente. Nella risorsa personalizzata MonitoringTarget
, imposta la nuova etichetta come target
e fornisci un valore di sostituzione. Questa coppia chiave-valore viene aggiunta a tutte le metriche raccolte dalla risorsa.
Il seguente esempio di codice mostra come impostare l'etichetta di destinazione my_new_label
e
configurarne il valore su my_label_value
nella risorsa personalizzata
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
[...]
Sostituisci quanto segue:
PROJECT_NAMESPACE
: lo spazio dei nomi del progetto.MONITORING_TARGET_NAME
: il nome del file di definizioneMonitoringTarget
.
Rinominare una metrica
Puoi rinominare la metrica di un container utilizzando la risorsa MonitoringTarget
. Imposta
il nome della metrica originale e la relativa sostituzione nel campo metricsRelabelings
.
Il nome originale viene trattato come un'espressione regolare (regex) e viene sostituito dal nuovo nome.
Il seguente esempio di codice mostra come sostituire il cpu_usage
nome della metrica
(regex) con cpu_usage_new_name
nella risorsa personalizzata 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__
[...]
Sostituisci quanto segue:
PROJECT_NAMESPACE
: lo spazio dei nomi del progetto.MONITORING_TARGET_NAME
: il nome del file di definizioneMonitoringTarget
.