Métriques des libellés

Avant de commencer

Pour obtenir les autorisations nécessaires pour libeller des métriques ou afficher des libellés de métriques, demandez à votre administrateur IAM de projet de vous accorder l'un des rôles suivants dans l'espace de noms de votre projet :

  • Éditeur de cibles de surveillance : permet de modifier les ressources personnalisées MonitoringTarget. Demandez le rôle Éditeur de cibles de surveillance (monitoringtarget-editor).
  • Lecteur de cibles Monitoring : affiche les ressources personnalisées MonitoringTarget. Demandez le rôle Lecteur des cibles de surveillance (monitoringtarget-viewer).

Les libellés vous permettent de différencier les caractéristiques d'une métrique. En plus de collecter des métriques, la ressource personnalisée MonitoringTarget vous permet d'étiqueter les métriques pour des fonctionnalités facultatives telles que les suivantes :

Pour en savoir plus sur le réétiquetage des métriques, consultez https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/.

Envoyer des métriques vers un autre projet

Les auteurs de conteneurs peuvent indiquer dans leur code que le système doit envoyer des métriques spécifiques à un autre projet pour la surveillance du système, même si le projet correspond à une autre persona GDC. Pour envoyer des métriques à un projet spécifique, ajoutez le libellé _gdch_project à une métrique dans votre code. Définissez sa valeur sur le nom du projet auquel vous souhaitez attribuer cette métrique d'observabilité spécifique. Exemple :"_gdch_project": "another-project-name"

Vous pouvez également utiliser la ressource personnalisée MonitoringTarget pour envoyer toutes les données de métriques qu'elle collecte à un autre projet à des fins d'observabilité des données. Pour ce faire, définissez le libellé _gdch_project comme libellé cible dans le champ metricsRelabelings et définissez une valeur de remplacement.

L'exemple de code suivant montre comment remplacer la valeur du libellé _gdch_project par another-project-name dans la ressource personnalisée 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

Remplacez PROJECT_NAMESPACE par l'espace de noms de votre projet.

Ajouter des libellés aux métriques

Les libellés sont utiles pour l'observabilité des données et la surveillance du système, car ils vous permettent d'identifier différentes caractéristiques d'une métrique. Vous pouvez ajouter des libellés aux métriques que les conteneurs analysés n'exposent pas initialement. Dans la ressource personnalisée MonitoringTarget, définissez le nouveau libellé comme cible et établissez un libellé de remplacement qui servira de valeur. Le système ajoute la nouvelle paire clé/valeur à toutes les métriques collectées par la ressource personnalisée à des fins d'observabilité des données.

L'exemple de code suivant montre comment ajouter le libellé my_new_label et définir sa valeur sur my_label_value dans la ressource personnalisée 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

Remplacez PROJECT_NAMESPACE par l'espace de noms de votre projet.

Renommer une métrique

Vous pouvez renommer entièrement une métrique générée par un conteneur à partir du CR MonitoringTarget. Définissez le nom d'origine de la métrique et son remplacement dans le champ metricsRelabelings. La ressource personnalisée prend le nom de la métrique d'origine comme expression régulière et le remplace par le nouveau nom que vous avez ajouté.

L'exemple de code suivant montre comment remplacer le nom de métrique cpu_usage par cpu_usage_new_name dans la ressource personnalisée 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__

Remplacez PROJECT_NAMESPACE par l'espace de noms de votre projet.