Comment puis-je utiliser les outils atop et atopsar pour obtenir des statistiques d’utilisation historiques pour les processus de mon instance Linux EC2 ?

Lecture de 7 minute(s)
0

Je souhaite apprendre à utiliser l’outil atop pour surveiller l’historique de l’utilisation des ressources telles que le processeur, la mémoire et les E/S disque pour les processus exécutés sur mon instance Amazon EC2 Linux. Je souhaite obtenir des instructions sur l’installation d’atop et l’analyse de ses fichiers journaux.

Brève description

L’outil atop est un outil de surveillance des performances qui enregistre l’historique de l’utilisation des ressources pour une analyse ultérieure. Cet outil fournit également des rapports en temps réel. Vous pouvez récupérer l’utilisation du processeur, la consommation de mémoire et les entrées/sorties de disque pour chaque processus et chaque thread. L'outil atop reste actif en tant que service d’arrière-plan pendant qu’il enregistre les statistiques. Cela permet une analyse du serveur à long terme, les données sont stockées pendant 28 jours, par défaut.

Remarque : atop enregistre les données uniquement après son installation. Les données de performances historiques ne peuvent pas être récupérées avant la date d’installation d’atop.

Résolution

Installer atop

Pour les instructions d’installation, consultez la section Comment puis-je configurer les outils de surveillance ATOP Monitoring et SAR pour une instance EC2 qui exécute Amazon Linux, RHEL, CentOS ou Ubuntu ?

Création de journaux de rapports historiques

L’outil atop crée des fichiers journaux dans /var/log/atop. Ils sont nommés selon le format suivant : atop_ccyymmdd. Par exemple, atop_20210902 est l’enregistrement du 2 septembre 2021.

Pour accéder au fichier journal, exécutez la commande suivante :

atop -r /var/log/atop/atop_ccyymmdd

Remplacez atop_ccyymmdd par la date que vous souhaitez consulter.

Consultez l’exemple suivant de commande et de fichier journal :

atop -r /var/log/atop/atop_20210902
ATOP - ip-172-20-139-91                2021/09/02  17:03:44                ----------------                 3h33m7s elapsed
PRC |  sys    6.51s  |  user   7.85s  |  #proc    103  |  #tslpi    81 |  #tslpu     0  |  #zombie    0  |  #exit      0  |
CPU |  sys     0%  |  user      3%  |  irq       0%  |  idle    197% |  wait      0%  |  ipc notavail  |  curscal   ?%  |
cpu |  sys     0%  |  user      1%  |  irq       0%  |  idle     98% |  cpu000 w  0%  |  ipc notavail  |  curscal   ?%  |
cpu |  sys     0%  |  user      1%  |  irq       0%  |  idle     98% |  cpu001 w  0%  |  ipc notavail  |  curscal   ?%  |

Dans l’exemple de sortie suivant, le premier instantané enregistré était le 02/09/2021 à 17:03:44. Pour passer à l’instantané suivant, appuyez sur la touche t (minuscule) du clavier. Pour revenir à l’instantané précédent, appuyez sur la touche T (majuscule). Pour analyser un créneau horaire spécifique, appuyez sur la touche b, puis entrez la date et l’heure. L’outil atop permet de passer à l’heure spécifiée dans la variable Entrez une nouvelle heure :

NET |  lo      ----  |  pcki       2  |  pcko       2  |  sp    0 Mbps |  si    0 Kbps  |  so    0 Kbps  |  erro       0  |
Enter new time (format [YYYYMMDD]hhmm):
  PID              TID              RDDSK              WRDSK             WCANCL              DSK             CMD        1/4

Pour afficher les différentes statistiques, appuyez sur la touche de raccourci prévue à cet effet. Voici des exemples de touches de raccourci :

  • g : Informations génériques (par défaut).
  • m : Détails de la mémoire.
  • d : Informations sur le disque.
  • n : Informations sur le réseau. Cette touche ne fonctionne que si le module de noyau netatop est installé.
  • c : Ligne de commande complète par processus.

Pour trier la liste des processus, utilisez les touches de raccourci suivantes :

  • C : Activité du processeur.
  • M : Consommation de mémoire.
  • D : Activité du disque.
  • N : Activité du réseau. Cette touche ne fonctionne que si le noyau netatop est installé.
  • A : La ressource système la plus active (mode automatique).

Appuyez sur la touche h pour afficher la documentation d’aide.

Créer des journaux de rapports de haut niveau pendant une certaine période

Pour accéder au fichier journal et extraire uniquement les données de performance pendant une certaine période, exécutez la commande suivante :

atop -r /var/log/atop/atop_ccyymmdd -b starttime -e endtime -M

Remplacez atop_ccyymmdd par la date que vous souhaitez consulter. Remplacez starttime par l’heure de début et endtime par l’heure de fin de la période de performance.

Par exemple, la commande suivante renvoie les données de performances capturées pour la mémoire le 22 avril 2024 entre 08h00 et 08h10 :

$ atop -r /var/log/atop/atop_20240422 -b 0800 -e 0810
            -M

Drapeaux utilisés dans l’exemple :

  • b : heure de début
  • e : heure de fin
  • r : spécifiez le fichier
  • M : mémoire

Générez des rapports d’activité du système à l’aide de la commande atop

Utilisez la commande atopsar pour générer des rapports d’activité du système.

Si vous utilisez l’indicateur -c, un rapport est généré sur l’utilisation actuelle du processeur du système. L’exemple suivant montre deux résultats de ce rapport, chacun étant séparé d’une seconde :

$ atopsar -c 1 2
ip-172-20-139-91  4.14.238-182.422.amzn2.x86_64  #1 SMP Tue Jul 20 20:35:54 UTC 2021  x86_64  2021/09/02

-------------------------- analysis date: 2021/09/02 --------------------------

18:50:16  cpu  %usr %nice %sys %irq %softirq  %steal %guest  %wait %idle  _cpu_
18:50:17  all     0     0    0    0        0       0      0      0   200
            0     0     0    0    0        0       0      0      0   100
            1     0     0    0    0        0       0      0      0   100
18:50:18  all     0     0    0    0        0       0      0      0   200
            0     0     0    0    0        0       0      0      0   100
            1     0     0    0    0        0       0      0      0   100

La commande atopsar permet d’analyser les données dans un délai spécifié. Par exemple, pour générer tous les rapports (-A) qui commencent à 13h00 (-b) et se terminent à 13h35 (-e) pour la journée en cours, exécutez la commande suivante :

atopsar -A -b 13:00 -e 13:35

Pour récupérer plusieurs sorties, combinez les indicateurs d'atopsar en une seule commande. L’exemple de commande suivant interroge l'utilisation du processeur, la charge du ou des processus, ainsi que les processus et les threads :

$ atopsar -cpP

Exemple de sortie :

ip-172-31-89-231 6.1.84-99.169.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Apr 8 19:19:48 UTC 2024 x86_64 2024/04/22

-------------------------- analysis date: 2024/04/22 --------------------------

07:59:27 cpu %usr %nice %sys %irq %softirq %steal %guest %wait %idle cpu
08:00:27 all 0 0 0 0 0 0 0 4 95
08:01:27 all 0 0 0 0 0 0 0 0 100
08:02:27 all 0 0 0 0 0 0 0 0 100
08:03:27 all 0 0 0 0 0 0 0 0 100

-------------------------- analysis date: 2024/04/22 --------------------------

07:59:27 pswch/s devintr/s clones/s loadavg1 loadavg5 loadavg15 load
08:00:27 203 70 1.07 0.13 0.29 0.14
08:01:27 53 31 0.07 0.05 0.23 0.13
08:02:27 59 31 0.87 0.02 0.19 0.12
08:03:27 68 35 0.22 0.00 0.15 0.10

-------------------------- analysis date: 2024/04/22 --------------------------

07:59:27 clones/s pexit/s curproc curzomb thrrun thrslpi thrslpu procthr
08:00:27 1.07 1.07 114 0 1 83 58
08:01:27 0.07 0.07 114 0 1 83 58
08:02:27 0.87 0.88 109 0 1 83 53
08:03:27 0.22 0.28 105 0 1 76 52

Pour une liste détaillée des indicateurs et des valeurs de sortie qu'atop récupère et affiche, consultez atopsar sur le site Web de Linux.

Informations connexes

Pourquoi mon instance Linux EC2 ne répond-elle plus en raison d’une utilisation excessive des ressources ?

Un guide sur la commande atop sous Linux sur le site Web de DigitalOcean

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 10 mois