Comment puis-je configurer et utiliser SAR pour surveiller les métriques de performances sur mon instance EC2 Linux ?

Date de la dernière mise à jour : 13/04/2021

Je souhaite configurer System Activity Reporter (SAR) et utiliser les commandes SAR pour surveiller les métriques de performances de mes instances Amazon Elastic Compute Cloud (Amazon EC2) Linux. Comment faire ?

Brève description

L'outil de surveillance SAR vous permet de collecter, au besoin, des données de performances pour l'utilisation du CPU, de la mémoire et des E/S. Vous pouvez configurer SAR pour collecter des métriques d’historique.

Résolution

Installer SAR

SAR, qui fait partie du package sysstat, peut ne pas être disponible par défaut sur les distributions Linux récentes. Pour obtenir des instructions d'installation détaillées, consultez la section Comment configurer les outils de surveillance ATOP et SAR pour mon instance EC2 exécutant Amazon Linux, RHEL, CentOS ou Ubuntu ?

Présentation de la configuration

Après l'installation, vous pouvez afficher et modifier le fichier de configuration /etc/sysconfig/sysstat. Le fichier de configuration contient les valeurs par défaut suivantes :
  • HISTORY=28 : ce paramètre détermine combien de temps SAR conserve les fichiers journaux des performances. La valeur par défaut est de 28 jours.
  • COMPRESSAFTER=31 : ce paramètre détermine après combien de jours SAR compresse les fichiers. La valeur par défaut est de 31 jours.
    Remarque : si vous définissez le fichier de configuration de façon à conserver les fichiers journaux plus de 28 jours, SAR conserve les fichiers de chaque mois dans un répertoire distinct.
  • SA_dir=/var/log/sa : SAR enregistre les fichiers journaux à cet emplacement.
  • ZIP="bzip2" : il s'agit du fichier .zip par défaut contenant les fichiers journaux compressés. Assurez-vous d'activer la compression si vous conservez des fichiers pendant plus de 31 jours. Les fichiers compressés occupent le moins d'espace possible sur le disque.

L'opération sadc (system activity data collector, collecteur de données sur l'activité du système) effectue la collecte de données. Les données collectées sont écrites au format texte et contenues dans les fichiers sar## du répertoire /var/log/sa/.

L'opération sadc est classée en deux composantes :

  1. sa1 : collecte et stocke des données binaires dans le fichier de données quotidiennes de l'activité système.
  2. sa2 : écrit un rapport quotidien dans le répertoire /var/log/sa.

Le répertoire /var/log/sa/ contient les deux ensembles de fichiers suivants :

  • sa# : fichiers binaires de données d'activité système.
  • sar## : fichiers de rapport d'activité système.

Remarque : ## représente le jour du mois.

Vous pouvez collecter des données autres que des statistiques de disque, telles que les statistiques de partition et de système de fichiers. Pour modifier les données collectées, procédez comme suit :

1.    Accédez au fichier /etc/sysconfig/sysstat à l'aide d'un éditeur de texte, tel que l'éditeur vi :

vi /etc/sysconfig/sysstat

2.    Remplacez -S Disk par -S XALL pour la valeur SADC_OPTIONS :

SADC_OPTIONS=" -S XALL"

Définir les intervalles de collecte des données

Exécutez la commande suivante pour afficher les scripts que l'utilitaire SAR exécute actuellement dans crontab pour générer des données :

cat /etc/cron.d/sysstat

Par défaut, SAR génère des données toutes les 10 minutes. Cela provient du fait que cron fonctionne toutes les 10 minutes. Vous pouvez modifier cette durée pour permettre à SAR de générer des données sur des intervalles plus courts ou plus longs. Voici un exemple de fichier crontab qui montre que les données sont définies pour être générées toutes les 10 minutes :

*/10 * * * * root /usr/lib64/sa/sa1 1 1

Il est recommandé de changer cron pour qu'il fonctionne sur un intervalle de 5 ou 1 minutes. En changeant pour un intervalle plus court, vous pouvez détecter les cas où des pics sont observés ou lorsque chaque minute de surveillance est requise.

Pour modifier l'intervalle :

1.    Accédez au fichier /etc/cron.d/sysstat :

vim /etc/cron.d/sysstat

Changer le temps d'exécution de 10 à 5 :

@reboot /usr/lib64/sa/sa1 --boot
*/5 * * * * root /usr/lib64/sa/sa1 1 1

Remarque : dans l'exemple précédent, la ligne @reboot réinitialise le compteur lorsque le système d'exploitation redémarre. Cette option est facultative, mais est recommandée.

Exemple de commandes pour générer des rapports de performances selon les besoins

Rapport d'utilisation du CPU

Utilisez la commande sar pour générer un rapport de données d'utilisation du CPU. L'exemple de commande suivant génère un rapport de données d'utilisation 5 fois toutes les 2 secondes. Dans la commande suivante, -P indique un CPU ou un cœur individuel. Indiquez pour quel CPU ou cœur vous souhaitez générer des statistiques en utilisant 0, 1, 2, 3, etc. Vous pouvez également utiliser la commande -P ALL pour afficher les statistiques de tous les CPU.

sar 2 5 -P 0

Rapport de statistiques de mémoire

Utilisez l'option -r pour générer un rapport de statistiques de mémoire. L'exemple de commande suivant génère des statistiques de mémoire 5 fois toutes les 2 secondes :

sar -r 2 5

Rapport de statistiques des périphériques de stockage en mode bloc

Utilisez l'option -d pour générer un rapport de statistiques de périphériques de stockage en mode bloc. L'exemple de commande suivant génère des statistiques de périphérique de stockage en mode bloc 5 fois toutes les 2 secondes. Dans l'exemple suivant, l'option -p affiche les noms des périphériques tels qu'ils apparaissent dans /dev :

sar -d -p 2 5

Rapport de statistiques du réseau

Utilisez l'option -n pour générer un rapport de statistiques du réseau. Vous pouvez générer des statistiques pour des entités spécifiques, telles que TCP, UDP, NFS, etc. ou ALL, comme illustré dans les exemples suivants :

sar -n TCP 2 5
sar -n UDP 2 5
sar -n ALL 2 5

Lire le fichier journal le plus récent

L'exécution des commandes sar extrait les détails du fichier journal le plus récent dans /var/log. Pour lire le fichier complet, utilisez l'option -f, comme illustré dans l'exemple suivant :

sar -f /var/log/sa

Extraire les détails du journal pour un jour spécifique

Le fichier journal est enregistré par jour. Si vous souhaitez extraire des détails pour un jour spécifique, utilisez l'option -f pour le fichier sa correspondant à cette date. Par exemple, la commande suivante affiche toutes les données du fichier journal contenant des données du 12e jour du mois en cours :

sar -f /var/log/sa/sa12

Lire des statistiques spécifiques à partir d'un fichier journal

Statistiques de mémoire

Utilisez l'option -r pour lire toutes les statistiques de mémoire. L'exemple de commande suivant affiche toutes les statistiques de mémoire à partir du fichier journal généré le 12e jour du mois :

sar -f /var/log/sa/sa12 -r

Activité d'E/S

Utilisez l'option -b pour afficher toutes les activités d'E/S combinées. L'exemple de commande suivant affiche toutes les activités d'E/S à partir du fichier journal généré le 12e jour du mois.

sar -f /var/log/sa/sa12 -b

Statistiques des périphériques de stockage en mode bloc

Utilisez l'option -dp pour afficher les statistiques des périphériques de stockage en mode bloc. L'exemple de commande suivant affiche des statistiques de périphérique de stockage en mode bloc à partir du fichier journal généré le 12e jour du mois.

sar -f /var/log/sa/sa12 -dp

Statistiques du réseau

Utilisez l'option -n pour afficher les statistiques du réseau. L'exemple de commande suivant affiche toutes les statistiques du réseau à partir du fichier journal généré le 12e jour du mois :

sar -f /var/log/sa/sa12 -n ALL

Statistiques du CPU

Utilisez l'option -P pour afficher les statistiques du CPU. L'exemple de commande suivant affiche les statistiques du CPU pour le CPU 0.

sar -f /var/log/sa/sa12 -P 0

Afficher les statistiques pour une période spécifique

Utilisez les options -s et -e pour désigner l'heure de début et de fin. Les heures saisies doivent être au format 24 heures. L'heure de fin par défaut est 18 h. L'exemple de commande suivant affiche des statistiques de périphérique de stockage en mode bloc à partir du fichier journal généré le 30e jour du mois entre 2 h et 5 h.

sar -f /var/log/sa/sa30 -dp -s 02:00:00 -e 05:00:00

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?