Chapitre 16. Dépannage des problèmes de surveillance


16.1. Déterminer pourquoi les mesures définies par l'utilisateur ne sont pas disponibles

ServiceMonitor vous permettent de déterminer comment utiliser les métriques exposées par un service dans des projets définis par l'utilisateur. Suivez les étapes décrites dans cette procédure si vous avez créé une ressource ServiceMonitor mais que vous ne voyez pas les métriques correspondantes dans l'interface utilisateur des métriques.

Conditions préalables

  • Vous avez accès au cluster en tant qu'utilisateur ayant le rôle cluster-admin.
  • Vous avez installé l'OpenShift CLI (oc).
  • Vous avez activé et configuré la surveillance des charges de travail définies par l'utilisateur.
  • Vous avez créé l'objet user-workload-monitoring-config ConfigMap .
  • Vous avez créé une ressource ServiceMonitor.

Procédure

  1. Check that the corresponding labels match dans les configurations des services et des ressources ServiceMonitor.

    1. Obtenir le label défini dans le service. L'exemple suivant interroge le service prometheus-example-app dans le projet ns1:

      $ oc -n ns1 get service prometheus-example-app -o yaml
      Copy to clipboard

      Exemple de sortie

        labels:
          app: prometheus-example-app
      Copy to clipboard

    2. Vérifiez que l'étiquette matchLabels app dans la configuration de la ressource ServiceMonitor correspond à l'étiquette produite à l'étape précédente :

      $ oc -n ns1 get servicemonitor prometheus-example-monitor -o yaml
      Copy to clipboard

      Exemple de sortie

      spec:
        endpoints:
        - interval: 30s
          port: web
          scheme: http
        selector:
          matchLabels:
            app: prometheus-example-app

      Note

      Vous pouvez vérifier les étiquettes de service et de ressource ServiceMonitor en tant que développeur disposant d'autorisations de visualisation pour le projet.

  2. Inspect the logs for the Prometheus Operator dans le projet openshift-user-workload-monitoring.

    1. Liste les pods du projet openshift-user-workload-monitoring:

      $ oc -n openshift-user-workload-monitoring get pods
      Copy to clipboard

      Exemple de sortie

      NAME                                   READY   STATUS    RESTARTS   AGE
      prometheus-operator-776fcbbd56-2nbfm   2/2     Running   0          132m
      prometheus-user-workload-0             5/5     Running   1          132m
      prometheus-user-workload-1             5/5     Running   1          132m
      thanos-ruler-user-workload-0           3/3     Running   0          132m
      thanos-ruler-user-workload-1           3/3     Running   0          132m
      Copy to clipboard

    2. Obtenez les journaux du conteneur prometheus-operator dans le pod prometheus-operator. Dans l'exemple suivant, le module s'appelle prometheus-operator-776fcbbd56-2nbfm:

      $ oc -n openshift-user-workload-monitoring logs prometheus-operator-776fcbbd56-2nbfm -c prometheus-operator
      Copy to clipboard

      En cas de problème avec le moniteur de service, les journaux peuvent contenir une erreur similaire à cet exemple :

      level=warn ts=2020-08-10T11:48:20.906739623Z caller=operator.go:1829 component=prometheusoperator msg="skipping servicemonitor" error="it accesses file system via bearer token file which Prometheus specification prohibits" servicemonitor=eagle/eagle namespace=openshift-user-workload-monitoring prometheus=user-workload
      Copy to clipboard
  3. Review the target status for your endpoint sur la page Metrics targets dans l'interface de la console web de OpenShift Container Platform.

    1. Connectez-vous à la console web de OpenShift Container Platform et naviguez vers Observe Targets dans la perspective Administrator.
    2. Localisez le point de terminaison des métriques dans la liste et vérifiez l'état de la cible dans la colonne Status.
    3. Si l'adresse Status est Down, cliquez sur l'URL du point de terminaison pour obtenir plus d'informations sur la page Target Details relative à cette cible de mesure.
  4. Configure debug level logging for the Prometheus Operator dans le projet openshift-user-workload-monitoring.

    1. Modifiez l'objet user-workload-monitoring-config ConfigMap dans le projet openshift-user-workload-monitoring:

      $ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
      Copy to clipboard
    2. Ajoutez logLevel: debug pour prometheusOperator sous data/config.yaml pour définir le niveau du journal à debug:

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: user-workload-monitoring-config
        namespace: openshift-user-workload-monitoring
      data:
        config.yaml: |
          prometheusOperator:
            logLevel: debug
      Copy to clipboard
    3. Enregistrez le fichier pour appliquer les modifications.

      Note

      Le site prometheus-operator du projet openshift-user-workload-monitoring redémarre automatiquement lorsque vous appliquez la modification du niveau de journalisation.

    4. Confirmez que le niveau de journalisation debug a été appliqué au déploiement prometheus-operator dans le projet openshift-user-workload-monitoring:

      $ oc -n openshift-user-workload-monitoring get deploy prometheus-operator -o yaml |  grep "log-level"
      Copy to clipboard

      Exemple de sortie

              - --log-level=debug
      Copy to clipboard

      La journalisation de niveau débogage montre tous les appels effectués par l'opérateur Prometheus.

    5. Vérifiez que le pod prometheus-operator fonctionne :

      $ oc -n openshift-user-workload-monitoring get pods
      Copy to clipboard
      Note

      Si une valeur Prometheus Operator loglevel non reconnue est incluse dans la carte de configuration, le pod prometheus-operator peut ne pas redémarrer avec succès.

    6. Examinez les journaux de débogage pour voir si l'opérateur Prometheus utilise la ressource ServiceMonitor. Examinez les journaux pour voir s'il y a d'autres erreurs connexes.
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, Inc.