Les ressources personnalisées MonitoringTarget dans Google Distributed Cloud (GDC) air-gapped vous permettent d'étiqueter les métriques extraites pour différencier leurs caractéristiques et filtrer les données de séries temporelles. En plus de collecter des métriques, vous pouvez configurer des règles de réécriture de libellés pour acheminer les métriques vers un autre projet, ajouter des libellés clé/valeur personnalisés ou renommer les métriques avant l'ingestion.
Chaque combinaison unique de paires clé-valeur d'étiquettes crée une série temporelle, ce qui peut augmenter considérablement le stockage des données. Évitez d'utiliser des étiquettes pour les dimensions à cardinalité élevée avec de nombreuses valeurs possibles, telles que des ID utilisateur ou des adresses e-mail. Pour en savoir plus sur la réécriture de libellés de métriques, consultez Fonctionnement de la réécriture de libellés dans Prometheus.
Avant de commencer
Pour gérer les ressources personnalisées MonitoringTarget, vous devez disposer des autorisations nécessaires.
Demander des rôles IAM au niveau de l'organisation
Contactez l'administrateur de l'organisation IAM pour demander les rôles suivants :
- Créateur de PA MonitoringTarget (
monitoringtarget-pa-creator) : crée des ressources personnaliséesMonitoringTarget. - Éditeur de PA MonitoringTarget (
monitoringtarget-pa-editor) : modifie les ressources personnaliséesMonitoringTarget. - Lecteur d'AP MonitoringTarget (
monitoringtarget-pa-viewer~): view) : ressources personnalisées MonitoringTarget.
Demander des rôles IAM au niveau du projet
Contactez l'administrateur de projet IAM pour demander les rôles suivants :
- Éditeur MonitoringTarget (
monitoringtarget-editor) : permet de modifier les ressources personnaliséesMonitoringTargetdans l'espace de noms du projet. - Lecteur MonitoringTarget (
monitoringtarget-viewer) : permet d'afficher les ressources personnaliséesMonitoringTargetdans l'espace de noms du projet.
Envoyer des métriques à un autre projet
Les auteurs de conteneurs peuvent coder des métriques spécifiques à envoyer à un autre projet, même à des projets dont ils ne sont pas propriétaires. Pour envoyer une métrique à un projet spécifique, ajoutez l'étiquette _gdch_project à la métrique dans votre code, en définissant sa valeur sur le nom du projet de destination.
Vous pouvez également utiliser la ressource personnalisée MonitoringTarget pour envoyer toutes les données de métriques collectées à un autre projet. Définissez l'étiquette _gdch_project comme étiquette cible dans le champ metricsRelabelings, avec le nouveau nom du projet comme valeur de remplacement.
L'exemple de code suivant montre comment définir l'étiquette cible _gdch_project dans la ressource personnalisée MonitoringTarget pour envoyer des métriques au projet nommé 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
# [...]
Remplacez les éléments suivants :
PROJECT_NAMESPACE: espace de noms de votre projet.MONITORING_TARGET_NAME: nom du fichier de définitionMonitoringTarget.
Ajouter des étiquettes aux métriques
Les étiquettes facilitent l'observabilité et la surveillance en identifiant les caractéristiques des métriques. Vous pouvez ajouter des étiquettes que les conteneurs récupérés n'exposent pas initialement. Dans la ressource personnalisée MonitoringTarget, définissez la nouvelle étiquette comme cible et fournissez une valeur de remplacement. Cette paire clé-valeur est ajoutée à toutes les métriques collectées par la ressource.
L'exemple de code suivant montre comment définir l'étiquette cible my_new_label et configurer sa valeur sur my_label_value dans la ressource personnalisée 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
# [...]
Remplacez les éléments suivants :
PROJECT_NAMESPACE: espace de noms de votre projet.MONITORING_TARGET_NAME: nom du fichier de définitionMonitoringTarget.
Renommer une métrique
Vous pouvez renommer la métrique d'un conteneur à l'aide de la ressource MonitoringTarget. Définissez le nom de la métrique d'origine et son remplacement dans le champ metricsRelabelings.
Le nom d'origine est traité comme une expression régulière (regex) et est remplacé par le nouveau nom.
L'exemple de code suivant montre comment remplacer le nom de métrique cpu_usage (expression régulière) par cpu_usage_new_name dans la ressource personnalisée 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__
# [...]
Remplacez les éléments suivants :
PROJECT_NAMESPACE: espace de noms de votre projet.MONITORING_TARGET_NAME: nom du fichier de définitionMonitoringTarget.