Partager via


Utilisation de PerfInsights

Remarque

CentOS référencé dans cet article est une distribution Linux qui atteint la fin de vie (EOL). Tenez compte de votre utilisation et planifiez en conséquence. Pour plus d’informations, consultez Guide sur la fin de vie de CentOS.

PerfInsights Linux est un outil de diagnostic autonome qui collecte et analyse les données de diagnostic, puis fournit un rapport qui aide à résoudre les problèmes de performances des machines virtuelles Linux dans Azure. Vous pouvez exécuter PerfInsights sur les machines virtuelles prises en charge en tant qu’outil autonome, ou directement à partir du portail en utilisant Performance Diagnostics pour les machines virtuelles Azure.

Si vous rencontrez des problèmes de performances avec des machines virtuelles, exécutez cet outil avant de contacter le support.

Scénarios de résolution des problèmes pris en charge

PerfInsights peut collecter et analyser plusieurs types d’informations. Les sections suivantes couvrent les scénarios courants.

Analyse rapide des performances

Ce scénario collecte des informations de base, telles que la configuration du stockage et du matériel de votre machine virtuelle, les divers journaux, notamment :

  • Informations sur le système d’exploitation

  • Informations sur les appareils PCI

  • Journaux des systèmes d’exploitation invités généraux

  • Fichiers de configuration

  • Informations sur le stockage

  • Configuration des machines virtuelles Azure (collecte effectuée avec Azure Instance Metadata Service)

  • Liste des processus exécutés, utilisation du disque, de la mémoire et du processeur

  • Informations réseau

Il s’agit d’une collecte passive d’informations qui ne sont pas censées affecter le système.

Remarque

Le scénario d’analyse rapide des performances est automatiquement inclus dans chacun des scénarios suivants :

Analyse des performances

Ce scénario est similaire à l’analyse rapide des performances, mais permet de capturer des informations de diagnostic pour une durée plus longue.

Analyse des performances HPC

Ce scénario est destiné à résoudre les problèmes sur les machines virtuelles de taille HPC, cʼest-à-dire les séries H et N. Il vérifie la configuration dʼune machine virtuelle par rapport à ce que lʼéquipe Azure HPC Platform a testé et recommandé. Il récupère également les journaux et les diagnostics en rapport avec lʼétat et à la configuration du matériel spécial disponible sur ces machines virtuelles, notamment :

  • Informations sur le pilote GPU

  • Diagnostic du matériel GPU

  • Informations et configuration du pilote InfiniBand

  • Diagnostic du périphérique InfiniBand

  • Fichiers de configuration de réseau

  • Informations sur le réglage des performances

Remarque

Certains outils utilisés par le scénario dʼanalyse des performances HPC, tels que les commandes CLI fournies avec les pilotes de périphérique, ne sont pas présents sur toutes les machines virtuelles. Dans ce cas, ces parties de lʼanalyse seront ignorées. Lʼexécution de ce scénario nʼinstalle aucun logiciel sur les machines virtuelles et nʼapporte aucune autre modification permanente.

Remarque

Lʼexécution du scénario HPC directement à partir du portail Azure nʼest pas prise en charge pour le moment. Il faut donc télécharger PerfInsights et lʼexécuter à partir de la ligne de commande pour lʼutiliser.

Quel type d’informations collecte PerfInsights

Les informations relatives à la machine virtuelle Linux, au système d’exploitation, aux appareils de traitement par blocs, aux grands consommateurs de ressources, à la configuration et aux différents journaux sont collectées. Voici plus de détails :

  • Système d’exploitation

    • Distribution et version Linux
    • Informations sur le noyau
    • Informations sur les pilotes
    • Journaux dʼextension de machine virtuelle du pilote HPC Azure*
    • Configuration de SELinux*
  • Matériel

    • Appareils PCI [*]
    • Résultat de lscpu*
    • Vidage de la table du BIOS de gestion de systèmes*
  • Processus et mémoire

    • Liste des processus (nom de la tâche, mémoire utilisée, fichiers ouverts)
    • Mémoire physique totale, disponible et libre
    • Mémoire d’échange totale, disponible et libre
    • Capture de profilage du processeur et de l’utilisation du processeur par les processus à intervalle de 5 secondes
    • Capture de profilage de l’utilisation de la mémoire par les processus à intervalle de 5 secondes
    • Nombre limite dʼutilisateurs pour lʼaccès à la mémoire*
    • Configuration NUMA*
  • GPU

    • Résultat de Nvidia SMI*
    • Diagnostic Nvidia DCGM*
    • Fichiers de vidage des informations de débogage Nvidia*
  • Mise en réseau

    • Liste des cartes réseau avec statistiques des cartes
    • Tableau de routage réseau
    • Ports ouverts et état
    • Clés de partition InfiniBand*
    • Résultat dʼibstat*
  • Stockage

    • Liste des appareils de traitement par blocs
    • Liste des partitions
    • Liste des points de montage
    • Informations sur le volume MDADM
    • Informations sur le volume LVM
    • Capture de profilage sur tous les disques à intervalle de 5 secondes
  • Journaux d’activité

    • /var/log/messages
    • /var/log/syslog
    • /var/log/kern.log
    • /var/log/cron.log
    • /var/log/boot.log
    • /var/log/yum.log
    • /var/log/dpkg.log
    • /var/log/sysstat or /var/log/sa [**]
    • /var/log/cloud-init.log
    • /var/log/cloud-init-output.log
    • /var/log/gpu-manager.log
    • /var/log/waagent.log
    • /var/log/azure/[extension folder]/*log*
    • /var/opt/microsoft/omsconfig/omsconfig.log
    • /var/opt/microsoft/omsagent/log/omsagent.log
    • /etc/waagent.config
    • Sortie de journalctl des cinq derniers jours
  • Métadonnées d’instance de machine virtuelle Azure

* Uniquement lors du scénario HPC

Suivi des diagnostics de performances

Exécute un moteur basé sur des règles en arrière-plan afin de collecter des données et diagnostiquer les problèmes de performances en cours. Les règles sont affichées dans le rapport, sous l’onglet Catégorie -> Recherche.

Chaque règle comprend les éléments suivants :

  • Recherche : description de la recherche.
  • Recommandation : recommandation relative à l’action pouvant être entreprise pour la recherche. Il existe également un ou plusieurs liens de référence vers la documentation, apportant plus d’informations sur la recherche et/ou la recommandation.
  • Niveau d’impact : représente le potentiel d’impact sur les performances.

Les catégories de règles actuellement prises en charge sont les suivantes :

  • Utilisation élevée des ressources :

    • Utilisation élevée de l’UC : détecte les périodes dʼutilisation élevée du processeur et montre les principaux utilisateurs du processeur pendant ces périodes.
    • Utilisation élevée de la mémoire : détecte les périodes dʼutilisation élevée de la mémoire et montre les principaux utilisateurs de la mémoire pendant ces périodes.
    • Utilisation élevée du disque : détecte les périodes dʼutilisation élevée de disque sur les disques physiques et montre les principaux utilisateurs de disque pendant ces périodes.
  • Stockage : détecte des configurations de stockage spécifiques.

  • Mémoire : détecte des configurations de mémoire spécifiques.

  • GPU : détecte des configurations GPU spécifiques.

  • Réseau : détecte des paramètres réseau spécifiques.

  • Système : détecte des paramètres système spécifiques.

Remarque

[*] Les informations PCI ne sont pas encore collectées sur les distributions Debian et SLES.

[**] /var/log/sysstat ou/var/log/sa contient les fichiers de rapport d’activité système (SAR) qui sont collectés par le package sysstat. Si le package sysstat n’est pas installé sur la machine virtuelle, l’outil PerfInsights recommande de l’installer.

Exécuter PerfInsights Linux sur votre machine virtuelle

Que dois-je savoir avant d’exécuter l’outil

Exigences de l’outil

  • Cet outil doit être exécuté sur la machine virtuelle qui présente le problème de performances.

  • Python 3.6 ou version ultérieure doit être installé sur la machine virtuelle.

    Remarque

    Python 2 n’est plus pris en charge par la Fondation Python Software (PSF). Si Python 2.7 est installé sur la machine virtuelle, PerfInsights peut être installé. Cependant, aucune modification ou correction de bogue ne sera apportée dans PerfInsights pour prendre en charge Python 2.7. Pour plus d’informations, consultez l’article Sunsetting Python 2 (en anglais seulement).

  • Les distributions prises en charge sont les suivantes :

    Remarque

    Microsoft n’a testé que les versions répertoriées dans le tableau. Si une version n’est pas répertoriée dans le tableau, elle n’a pas été explicitement testée par Microsoft, mais il se peut tout de même que la version fonctionne.

    Distribution Version
    Oracle Linux Server 6.10 [*], 7.3, 7.5, 7.6, 7.7, 7.8, 7.9
    CentOS 6.5 [*], 7.6, 7.7, 7.8, 7.9
    RHEL 7.2, 7.5, 8.0 [*], 8.1, 8.2, 8.6, 8.8
    Ubuntu 14.04, 16.04, 18.04, 20.04, 22.04
    Debian 8, 9, 10, 11 [*]
    SLES 12 SP4 [*], 12 SP5 [*], 15 [*], 15 SP1 [*], 15 SP2 [*], 15 SP4 [*]
    AlmaLinux 8,4, 8,5
    Azure Linux 2.0

Remarque

[*] Reportez-vous à la section Problèmes connus

Remarque

[*] Le scénario HPC repose sur lʼoutil HPCDiag, vérifiez donc sa matrice de prise en charge pour les tailles de machines virtuelles et les systèmes dʼexploitation pris en charge. En particulier, les machines virtuelles de taille NDv4 ne sont pas encore prises en charge et les rapports de ces machines virtuelles peuvent afficher des résultats superflus.

Problèmes connus

  • RHEL 8 n’a pas Python installé par défaut. Pour exécuter PerfInsights Linux, vous devez tout d’abord installer Python 3.6 ou version ultérieure.

  • La collecte des informations de l’agent invité peut échouer sur CentOS 6.x

  • Les informations sur les appareils PCI ne sont pas collectées sur les distributions Debian.

  • Les informations LVM sont partiellement collectées sur certaines distributions.

Comment exécuter PerfInsights

Vous pouvez exécuter PerfInsights sur une machine virtuelle en installant Azure Performance Diagnostics à partir du portail Azure. Vous pouvez également l’exécuter en tant qu’outil autonome.

Remarque

PerfInsights collecte et analyse simplement les données. Il n’apporte aucune modification au système.

Installer et exécuter PerfInsights à partir du portail Azure

Pour plus d’informations sur cette option, consultez Azure Performance Diagnostics.

Exécuter PerfInsights en mode autonome

Pour exécuter l’outil PerfInsights, suivez ces étapes :

  1. Téléchargez PerfInsights.tar.gz dans un dossier sur votre machine virtuelle et extrayez le contenu à l’aide des commandes ci-dessous à partir du terminal.

    wget https://download.microsoft.com/download/9/F/8/9F80419C-D60D-45F1-8A98-718855F25722/PerfInsights.tar.gz
    
    tar xzvf PerfInsights.tar.gz
    
  2. Accédez au dossier qui contient le fichier perfinsights.py, puis exécutez perfinsights.py pour voir les paramètres de ligne de commande disponibles.

    cd <the path of PerfInsights folder>
    sudo python perfinsights.py
    

    Capture d’écran de la sortie de ligne de commande Linux de PerfInsights.

    La syntaxe de base pour l’exécution de scénarios PerfInsights est la suivante :

    sudo python perfinsights.py -r <ScenarioName> -d [duration]<H | M | S> [AdditionalOptions]
    

    Vous pouvez utiliser l’exemple ci-dessous pour exécuter le scénario d’analyse rapide des performances pendant 1 minute et créer les résultats sous le dossier /tmp/output :

    sudo python perfinsights.py -r quick -d 1M -a -o /tmp/output
    

    Vous pouvez utiliser l’exemple suivant pour exécuter le scénario d’analyse de performances pendant 5 minutes et charger le fichier de résultat (au format.tar) dans le compte de stockage :

    sudo python perfinsights.py -r vmslow -d 300S -a -t <StorageAccountName> -k <StorageAccountKey> -i <full resource Uri of the current VM>
    

    Vous pouvez utiliser lʼexemple suivant pour exécuter le scénario dʼanalyse de performances HPC pendant 1 minute et charger le fichier TAR de résultat dans le compte de stockage :

    sudo python perfinsights.py -r hpc -d 60S -a -t <StorageAccountName> -k <StorageAccountKey> -i <full resource Uri of the current VM>
    

    Remarque

    Avant d’exécuter un scénario, PerfInsights invite l’utilisateur à accepter de partager les informations de diagnostic et à accepter le CLUF. Utilisez l’option -a ou --accept-disclaimer-and-share-diagnostics pour ignorer ces invites.

    Si vous avez un ticket de support actif avec Microsoft et que vous exécutez PerfInsights sur demande de l’ingénieur de support avec qui vous travaillez, veillez à fournir le numéro du ticket de support à l’aide de l’option -s ou --support-request.

Une fois l’exécution terminée, un nouveau fichier tar s’affiche dans le même dossier que PerfInsights, sauf si aucun dossier de sortie n’est spécifié. Le nom du fichier est PerformanceDiagnostics_aaaa-MM-jj_hh-mm-ss-fff.tar.gz. Vous pouvez envoyer ce fichier à l’agent du support pour analyse ou ouvrir le rapport dans le fichier pour examiner les résultats et recommandations.

Examinez le rapport de diagnostics

Le fichier PerformanceDiagnostics_aaaa-MM-jj_hh-mm-ss-fff.tar.gz peut inclure un rapport HTML détaillant les conclusions de PerfInsights. Pour consulter le rapport, développez le fichier PerformanceDiagnostics_aaaa-MM-jj_hh-mm-ss-fff.tar.gz, puis ouvrez le fichier PerfInsights Report.html.

Onglet Overview

L’onglet Overview fournit des détails de base sur l’exécution et des informations sur les machines virtuelles. L’onglet Findings affiche un résumé des recommandations de toutes les différentes sections du rapport PerfInsights.

Capture d’écran de l’onglet Vue d’ensemble du rapport PerfInsights.

Capture d’écran de l’onglet Résultats du rapport PerfInsights.

Remarque

Les conclusions identifiées comme étant d’importance élevée sont des problèmes connus qui peuvent conduire à des problèmes de performances. Les conclusions identifiées comme étant d’importance moyenne représentent des configurations non optimales ne provoquant pas forcément de problèmes de performances. Les conclusions identifiées comme étant d’importance faible sont des instructions données à titre informatif uniquement.

Examinez les suggestions et les liens pour toutes les conclusions d’importance élevée et moyenne. En savoir plus sur la façon dont elles peuvent affecter les performances, et sur les meilleures pratiques pour les configurations de performances optimisées.

Onglet CPU

L’onglet CPU fournit des informations sur la consommation du processeur au niveau du système pendant l’exécution de PerfInsights. Les informations sur les périodes de grande utilisation du processeur et sur les principaux consommateurs de processeur durables sont utiles pour résoudre les gros problèmes de processeur.

Capture d’écran de l’onglet CPU du rapport PerfInsights.

Onglet GPU

Lʼonglet GPU fournit des informations sur les résultats qui seront utiles pour résoudre les problèmes liés au GPU.

Capture dʼécran de lʼonglet GPU du rapport PerfInsights.

Onglet Réseau

Lʼonglet Réseau fournit des informations sur la configuration et lʼétat du réseau. Des informations sur les résultats liés au réseau, y compris les problèmes InfiniBand dans le scénario HPC, sont disponibles ici.

Capture dʼécran de lʼonglet Réseau.

Onglet Stockage

La section Conclusions affiche les différentes conclusions et recommandations relatives au stockage.

L’onglet Block Devices et autres sections associées comme les onglets Partitions, LVM et MDADM décrivent comment les appareils de traitement par blocs sont configurés et liés entre eux.

Capture d’écran de l’onglet Stockage.

Capture d’écran de l’onglet MDADM.

Onglet Linux

L’onglet Linux contient des informations sur le matériel et le système d’exploitation exécuté sur votre machine virtuelle. Les détails incluent une liste des processus en cours dʼexécution et des informations sur lʼagent invité, les appareils PCI, le processeur, le GPU, les pilotes et les pilotes LIS.

Capture d’écran de l’onglet Linux et des détails.

Ou sur une machine virtuelle compatible avec GPU :

Capture d’écran de l’onglet GPU sous l’onglet Linux et les détails.

Prochaines étapes

Vous pouvez charger les journaux de diagnostic et les rapports vers le Support Microsoft pour un examen approfondi. Lorsque vous travaillez avec le support Microsoft, il vous sera probablement demandé de transmettre la sortie générée par PerfInsights pour aider le processus de dépannage.

La capture d’écran suivante affiche un message semblable à ce que vous pouvez recevoir :

Capture d’écran de l’exemple de message envoyé par le Support Microsoft.

Suivez les instructions dans le message pour accéder à l’espace de travail de transfert de fichier. Pour plus de sécurité, vous devez modifier votre mot de passe à la première utilisation.

Après vous être connecté, vous voyez s’afficher une boîte de dialogue vous invitant à charger le fichier PerformanceDiagnostics_aaaa-MM-jj_hh-mm-ss-fff.tar.gz collecté par PerfInsights.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.