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:
- Inviare metriche a un altro progetto
- Aggiungere nuove etichette alle metriche
- Rinominare una metrica
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.