S'abonner au flux RSS

Cet article présente l'outil Performance Co-Pilot (PCP) et la manière dont il est utilisé pour mettre en œuvre la surveillance du système et des applications sur Red Hat Ansible Automation Platform.

Présentation de Performance Co-Pilot

PCP est un cadre Open Source de surveillance et d'analyse des performances développé par nos soins. Il fournit des outils, des bibliothèques et des services pour la surveillance, la récupération et l'analyse des indicateurs de performances d'une variété de systèmes, de services et d'applications. De nature évolutive, PCP peut tout surveiller, d'un seul serveur à un vaste réseau distribué de machines en temps réel.

Fonctions clés de PCP :

  1. Évolutivité : PCP peut servir à surveiller des systèmes individuels ou des environnements distribués.
  2. Collecte de données multisources : l'outil recueille des données issues de plusieurs sources, notamment le système d'exploitation, les bases de données, les interfaces réseau et les applications personnalisées.
  3. Extensibilité : il est possible d'ajouter de nouveaux indicateurs de mesure en développant des agents ou des extensions personnalisés.
  4. Stockage et récupération : PCP peut stocker les données de performances à des fins d'analyse historique et prend en charge la récupération de données en temps réel.
  5. Surveillance en temps réel : il fournit des indicateurs de mesure en temps réel qui permettent d'effectuer des analyses de performances en direct.
  6. Interfaces graphiques et en ligne de commande : PCP inclut des outils graphiques (par exemple, pmchart) et en ligne de commande (par exemple, pminfo, pmval and pmlogsummary) pour la surveillance et l'analyse des données de performances.

Composants courants :

  • PMCD (Performance Metrics Collector Daemon) : démon central qui recueille les indicateurs de mesure des agents
  • PMNS (Performance Metrics Name Space) : espace de nommage hiérarchique qui organise les indicateurs de performances
  • PMIE (Performance Metrics Inference Engine) : outil de génération d'alertes ou d'actions basées sur des seuils de mesures en temps réel
  • PMLogger : enregistrement des indicateurs de performances en vue d'une analyse ultérieure
  • PMProxy : rôle de protocole proxy qui permet à PCP de surveiller les clients pour les connecter à une ou plusieurs instances PMCD via PMProxy

Cas d'utilisation :

  • Analyse des performances du système : PCP peut surveiller le processeur, la mémoire, les entrées/sorties (E/S) de disque, l'utilisation du réseau et d'autres indicateurs de mesure du système.
  • Surveillance des applications : PCP peut surveiller des applications ou des services spécifiques pour aider à comprendre leur consommation de ressources et leurs performances habituelles.
  • Analyse des données historiques : l'outil peut stocker les données de performances au fil du temps en vue d'une analyse des tendances historiques ou d'une analyse détaillée à la suite d'une panne du système.

Avantages de PCP pour surveiller Ansible Automation Platform

De nombreuses raisons justifient l'utilisation de PCP pour la surveillance d'Ansible Automation Platform :

  1. Données de performances : PCP fournit avec précision des indicateurs et des informations sur les performances d'Ansible Automation Platform. Ces données permettent d'identifier les goulets d'étranglement et d'optimiser l'utilisation des ressources.
  2. Détection proactive des problèmes : la surveillance continue des indicateurs de performances aide à détecter les problèmes potentiels avant qu'ils ne s'aggravent et à les résoudre de manière proactive.
  3. Gestion des ressources : en sachant comment sont utilisées les ressources (processeur, mémoire, E/S de disque), vous pouvez plus facilement planifier des capacités et assurer le bon fonctionnement de l'environnement d'automatisation, sans aucun conflit de ressources.
  4. Évolutivité : les outils de surveillance vous accompagnent dans le développement des processus automatisés afin de déterminer quand et comment mettre à l'échelle l'infrastructure Ansible Automation Platform, qui pourra ainsi gérer des charges de travail de plus en plus importantes sans perte de performances.
  5. Conformité et audits : les outils de surveillance contribuent au maintien de la conformité avec les réglementations internes et externes, grâce à un journal d'audit clair sur les activités d'automatisation et l'utilisation des ressources.
  6. Intégration à d'autres outils : PCP peut s'intégrer à d'autres systèmes de surveillance et d'alerte, ce qui offre une vue complète de l'infrastructure et améliore la résolution des incidents.
  7. Expérience utilisateur : l'exécution efficace des tâches d'automatisation permet d'améliorer l'expérience globale des équipes qui utilisent Ansible Automation Platform pour le déploiement et la gestion des configurations.
  8. Analyse des données historiques : parce que PCP conserve les données de performances historiques, vous pouvez analyser les tendances au fil du temps, et modifier ou optimiser l'infrastructure en conséquence.

En résumé, l'utilisation de PCP pour surveiller Ansible Automation Platform permet d'améliorer les performances, la fiabilité et l'efficacité. L'automatisation devient un véritable atout pour atteindre les objectifs de l'entreprise.

Configuration de la surveillance sur Ansible Automation Platform avec PCP

Il est actuellement possible de configurer la surveillance sur Ansible Automation Platform pour les installations traditionnelles et conteneurisées dans des machines virtuelles. Pour activer la surveillance, définissez la valeur booléenne setup_monitoring sur True dans le fichier d'inventaire de configuration, sous la section [all:vars]. Exemple :

[all:vars]
setup_monitoring = True

Le programme d'installation exécute le rôle de surveillance pour configurer PCP dans le cluster Ansible Automation Platform. Ce rôle installe et active les services nécessaires, notamment pcp, pmcd et pmproxy. Sur le déploiement RPM traditionnel, PCP est installé via DNF et exécuté via systemd. Lors de l'installation conteneurisée, il est exécuté dans un conteneur avec tous les autres composants Ansible Automation Platform. En outre, le programme d'installation configure des PMDA (Performance Metric Domain Agents), des plug-ins qui s'exécutent comme des démons pour pmcd, afin de surveiller des composants clés, comme nginx, redis, postgres et openmetrics, sur les hôtes Ansible Automation Platform.

Lors de l'installation traditionnelle, le programme d'installation désigne le nœud de passerelle comme hub central pour la collecte des indicateurs PCP à partir de tous les nœuds du cluster Ansible Automation Platform, afin d'archiver efficacement les indicateurs de mesure.

PCP utilise le port 44322 pour exposer les indicateurs. Assurez-vous que le port 44322 est ouvert dans vos groupes de sécurité, le cas échéant. Si ce n'est pas le cas, vous aurez accès aux indicateurs de mesure en local sur l'hôte pour une analyse locale avec les outils en ligne de commande PCP, mais l'agrégation d'outils externes sera impossible.

Une fois la configuration terminée, vous pouvez vous connecter via SSH à l'un des nœuds de la passerelle et exécuter la commande ci-dessous pour vérifier tous les indicateurs recueillis par PCP.

Récupération des indicateurs archivés

Vous pouvez utiliser les outils en ligne de commande PCP pour récupérer des indicateurs de mesure à partir d'un fichier d'archive. Avec une installation traditionnelle, les archives peuvent être situées à l'emplacement /var/log/pcp/pmlogger/.

Exemple :

/var/log/pcp/pmlogger/controller.example.com/20241004.00.10

Avec une installation conteneurisée, les archives peuvent être situées à l'emplacement /home/ansible/aap/pcp_archives.

Exemple :

/home/ansible/aap/pcp_archives/controller.example.com/20241004.00.10

Exemples

  • Pour afficher tous les indicateurs activés lors de la création du fichier d'archive, saisissez la commande suivante :

    # pminfo --archive <ARCHIVE_FILE_LOCATION>
  • Pour afficher l'hôte et la période couverte par un fichier d'archive, saisissez la commande suivante :

    # pmdumplog -l <ARCHIVE_FILE_LOCATION>
  • Pour afficher les écritures sur le disque de chaque partition sur la période couverte par le fichier d'archive :

    # pmval --archive <ARCHIVE_FILE_LOCATION> \
    -f 1 disk.partitions.write
  • Pour afficher les opérations d'écriture sur le disque de chaque partition avec un intervalle de deux secondes entre 14h et 14h15 :

    # pmval --archive <ARCHIVE_FILE_LOCATION> \
    -d -t 2sec \
    -f 3 disk.partitions.write \
    -S @14:00 -T @14:15
  • Pour afficher les valeurs moyennes de tous les indicateurs de performances, notamment l'heure et la valeur du minimum/maximum, entre 14h et 14h30, puis transformer ces valeurs en tableau :

    # pmlogsummary <ARCHIVE_FILE_LOCATION> \
    -HlfiImM \
    -S @14:00 \
    -T @14:30 \
    disk.partitions.write \
    mem.freemem
  • Pour afficher de manière interactive les indicateurs de mesure système stockés dans une archive à partir de 14h, comme avec l'outil top :

    # pcp --archive <ARCHIVE_FILE_LOCATION> \
    -S @14:00 \
    atop

Points à retenir

La surveillance d'Ansible Automation Platform est essentielle pour assurer la fiabilité, les performances et la sécurité des services associés. Cette pratique permet de détecter et résoudre en temps réel les problèmes, tels que la lenteur des temps de réponse, les erreurs de serveur et les vulnérabilités de sécurité, tout en limitant les temps d'arrêt et les perturbations potentielles pour les utilisateurs. En suivant en permanence les indicateurs de mesure clés, comme le trafic, l'utilisation et la consommation des ressources, la surveillance contribue au fonctionnement optimal de la plateforme.

Pour aller plus loin

product trial

Red Hat Ansible Automation Platform | Essai de produit

Plateforme d'automatisation sans agent.

À propos de l'auteur

Nikhil Jain is a Principal Software Engineer with Red Hat’s Performance and Scale Engineering team who focuses on the testing, analysis and improvement of Red Hat Ansible Automation Platform products and services.
Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Parcourir par canal

automation icon

Automatisation

Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements

AI icon

Intelligence artificielle

Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement

open hybrid cloud icon

Cloud hybride ouvert

Découvrez comment créer un avenir flexible grâce au cloud hybride

security icon

Sécurité

Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies

edge icon

Edge computing

Actualité sur les plateformes qui simplifient les opérations en périphérie

Infrastructure icon

Infrastructure

Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde

application development icon

Applications

À l’intérieur de nos solutions aux défis d’application les plus difficiles

Virtualization icon

Virtualisation

L'avenir de la virtualisation d'entreprise pour vos charges de travail sur site ou sur le cloud