3.10. Contrôle de l’impact des attributs métriques non liés dans les projets définis par l’utilisateur


Les développeurs peuvent créer des étiquettes pour définir des attributs pour les métriques sous la forme de paires clé-valeur. Le nombre de paires de valeurs clés potentielles correspond au nombre de valeurs possibles pour un attribut. L’attribut qui a un nombre illimité de valeurs potentielles s’appelle un attribut non lié. A titre d’exemple, un attribut customer_id est non lié parce qu’il a un nombre infini de valeurs possibles.

Chaque paire clé-valeur assignée a une série chronologique unique. L’utilisation de nombreux attributs non liés dans les étiquettes peut entraîner une augmentation exponentielle du nombre de séries chronologiques créées. Cela peut avoir un impact sur les performances de Prometheus et peut consommer beaucoup d’espace disque.

L’administration dédiée peut utiliser les mesures suivantes pour contrôler l’impact des attributs métriques non liés dans les projets définis par l’utilisateur:

  • Limiter le nombre d’échantillons pouvant être acceptés par raclette cible dans les projets définis par l’utilisateur
  • Limiter le nombre d’étiquettes grattées, la longueur des noms d’étiquettes et la longueur des valeurs de l’étiquette
  • Configurez les intervalles entre les éraflures consécutives et entre les évaluations des règles de Prometheus
  • Créer des alertes indiquant que le feu lorsqu’un seuil d’échantillonnage de grattage est atteint ou lorsque la cible ne peut pas être grattée
Note

Limiter les échantillons de raclette peut aider à prévenir les problèmes causés par l’ajout de nombreux attributs non liés aux étiquettes. Les développeurs peuvent également empêcher la cause sous-jacente en limitant le nombre d’attributs non liés qu’ils définissent pour les métriques. L’utilisation d’attributs liés à un ensemble limité de valeurs possibles réduit le nombre de combinaisons de paires clé-valeur potentielles.

Les limites de grattage et d’étiquette suivantes peuvent être définies pour les projets définis par l’utilisateur:

  • Limiter le nombre d’échantillons qui peuvent être acceptés par raclette cible
  • Limiter le nombre d’étiquettes grattées
  • Limiter la longueur des noms d’étiquettes et des valeurs d’étiquettes

Il est également possible de définir un intervalle entre les éraflures consécutives et entre les évaluations des règles de Prometheus.

Avertissement

Lorsque vous définissez des limites d’échantillons ou d’étiquettes, aucune autre donnée d’échantillon n’est ingérée pour cette éraflure cible une fois la limite atteinte.

Conditions préalables

  • En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
  • L’objet ConfigMap existe. Cet objet est créé par défaut lorsque le cluster est créé.
  • L’OpenShift CLI (oc) a été installé.

Procédure

  1. Éditer l’objet ConfigMap de l’utilisateur-workload-monitoring-config dans le projet openshift-user-workload-monitoring:

    $ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
    Copy to Clipboard Toggle word wrap
  2. Ajouter les configurations de limite et d’intervalle de temps appliquées à data/config.yaml:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: user-workload-monitoring-config
      namespace: openshift-user-workload-monitoring
    data:
      config.yaml: |
        prometheus:
          enforcedSampleLimit: 50000 
    1
    
          enforcedLabelLimit: 500 
    2
    
          enforcedLabelNameLengthLimit: 50 
    3
    
          enforcedLabelValueLengthLimit: 600 
    4
    
          scrapeInterval: 1m30s 
    5
    
          evaluationInterval: 1m15s 
    6
    Copy to Clipboard Toggle word wrap
    1
    La valeur est requise si ce paramètre est spécifié. Cet exemple appliquéSampleLimit limite le nombre d’échantillons qui peuvent être acceptés par éraflure cible dans les projets définis par l’utilisateur à 50 000.
    2
    Indique le nombre maximal d’étiquettes par raclette. La valeur par défaut est 0, ce qui ne spécifie aucune limite.
    3
    Indique la longueur maximale du caractère d’un nom d’étiquette. La valeur par défaut est 0, ce qui ne spécifie aucune limite.
    4
    Indique la longueur maximale du caractère pour une valeur d’étiquette. La valeur par défaut est 0, ce qui ne spécifie aucune limite.
    5
    Indique l’intervalle entre les éraflures consécutives. L’intervalle doit être réglé entre 5 secondes et 5 minutes. La valeur par défaut est 30s.
    6
    Indique l’intervalle entre les évaluations des règles de Prometheus. L’intervalle doit être réglé entre 5 secondes et 5 minutes. La valeur par défaut pour Prometheus est 30s.
    Note

    Il est également possible de configurer la propriété AssessmentInterval pour Thanos Ruler via le champ data/config.yaml/thanosRuler. La valeur par défaut pour Thanos Ruler est 15s.

  3. Enregistrez le fichier pour appliquer les modifications. Les limites sont appliquées automatiquement.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat