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

Lecture de 8 minute(s)
0

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

Brève description

Utilisez l'outil de surveillance SAR pour collecter des données de performance relatives à l'utilisation du processeur, de la mémoire et des I/O, et configurez-le pour collecter un historique des métriques.

Remarque : Bien que SAR fasse partie intégrante du package sysstat, il est possible que l'outil ne soit pas disponible par défaut sur les nouvelles distributions Linux. Pour plus d’informations, consultez la section Comment puis-je configurer les outils de surveillance ATOP Monitoring et SAR pour une instance EC2 sous Amazon Linux, RHEL, CentOS ou Ubuntu ?

Résolution

Consulter et modifier le fichier de configuration

Le fichier de configuration contient plusieurs valeurs par défaut qui contrôlent l'activité SAR. Pour vérifier ou modifier ces valeurs, ouvrez le fichier de configuration /etc/sysconfig/sysstat.

  • HISTORY=28 - Ce paramètre détermine le nombre de jours pendant lesquels SAR conserve les fichiers journaux de performance. La valeur par défaut est de 28 jours.
  • COMPRESSAFTER=31 - Ce paramètre détermine le nombre de jours que SAR attend avant de compresser les fichiers. La valeur par défaut est de 31 jours.
    Remarque : Si vous configurez le fichier de configuration pour conserver les fichiers journaux pendant plus de 28 jours, SAR conserve les fichiers de chaque mois dans un répertoire distinct.
  • SA_DIR=/var/log/sa - Ce paramètre détermine l'emplacement où SAR enregistre les fichiers journaux.
  • ZIP="bzip2" - Ce paramètre détermine le fichier zip par défaut qui contient les fichiers journaux compressés. Si vous conservez des fichiers pendant plus de 31 jours, veillez à activer la compression.

L'opération de collecte de données d'activité du système (SADC) effectue la collecte de données. Pour plus d'informations, consultez SADC(8) sur le site Web d'ArchLinux. Les données collectées sont au format texte et contenues dans les fichiers sar## du répertoire /var/log/sa/.

L'opération sadc est constituée des éléments suivants :

  • sa1 - Collecter et stocker des données binaires dans le fichier de données quotidiennes d'activité du système.
  • sa2 - Rédiger un rapport quotidien dans le répertoire /var/log/sa.

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

  • sa## - fichiers de données binaires d'activité du système.
  • sar## - fichiers texte d'activité du système.

Remarque : Les caractères dièzes dans les noms de fichiers sa et sar représentent le jour du mois. Pour plus d'informations, consultez la page Files sur le site Web d'ArchLinux.

Vous pouvez également collecter des données autres que des statistiques de disque, telles que des statistiques de partition et de système de fichiers.

Pour modifier les données collectées par l'opération sadc, procédez comme suit :

  1. Pour utiliser l'éditeur de texte vi afin d'accéder au fichier /etc/sysconfig/sysstat, exécutez la commande suivante :

    vi /etc/sysconfig/sysstat
  2. Pour modifier SADC_OPTIONS de -S Disk à -S XALL, exécutez la commande suivante :

    SADC_OPTIONS=" -S XALL"

Définir des intervalles de collecte de données

Amazon Linux 1 et Amazon Linux 2

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

cat /etc/cron.d/sysstat

Comme cron s'exécute toutes les 10 minutes par défaut, SAR génère également des données toutes les 10 minutes. Pour permettre à SAR de générer des données pour des intervalles plus ou moins longs, modifiez cette valeur de temps. L'exemple de commande suivant montre un fichier crontab dans lequel 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 modifier cron afin qu'il s'exécute une fois par minute ou toutes les cinq minutes. Lorsque vous modifiez la valeur de temps à un intervalle plus court, des cas avec des pics observables peuvent apparaître.

Pour modifier l'intervalle, procédez comme suit :

  1. Pour accéder au fichier /etc/cron.d/sysstat, exécutez la commande suivante :

    vim /etc/cron.d/sysstat
  2. Pour modifier la durée de 10 à 5 minutes, exécutez la commande suivante :

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

    Remarque : Dans l'exemple de commande précédent, la ligne @reboot réinitialise le compteur au redémarrage du système d'exploitation.

Amazon Linux 2023

Pour modifier le fichier d'unité et créer le fichier drop-in /etc/systemd/system/sysstat-collect.timer.d/override.conf, exécutez la commande suivante :

# systemctl edit sysstat-collect.timer

Pour ajouter les entrées, exécutez la commande suivante :

### Editing /etc/systemd/system/sysstat-collect.timer.d/override.conf
### Anything between here and the comment below will become the new contents of the file

[Unit]
Description=Run system activity accounting tool every 1 minute

[Timer]
OnCalendar=
OnCalendar=*:00/1

### Lines below this comment will be discarded

Dans la commande précédente, la ligne « OnCalendar= » supprime le paramètre précédent, puis en crée un nouveau.

Pour recharger et effectuer la modification, exécutez la commande systemctl daemon-reload suivante :

# systemctl daemon-reload

Pour vérifier l'état du minuteur, exécutez la commande suivante :

# systemctl status sysstat-collect.timer
sysstat-collect.timer - Run system activity accounting tool every 1 minute
     Loaded: loaded (/usr/lib/systemd/system/sysstat-collect.timer; enabled; preset: enabled)
    Drop-In: /etc/systemd/system/sysstat-collect.timer.d
             └─override.conf
     Active: active (running) since Thu 2023-07-20 08:49:55 UTC; 18s ago
      Until: Thu 2023-07-20 08:49:55 UTC; 18s ago
    Trigger: n/a
   Triggers: ● sysstat-collect.service

Générer des rapports de performance

Rapport d'utilisation du processeur

Pour générer un rapport sur les données d'utilisation du processeur, utilisez la commande sar. L'exemple de commande suivant génère un rapport de données d'utilisation cinq fois toutes les deux secondes :

sar 2 5 -P 0

Remarque : Dans la commande précédente, -P indique un unique processeur ou cœur. Saisissez un nombre pour indiquer le processeur ou le cœur sur lequel vous souhaitez générer des statistiques. Par exemple, 1, 2 ou 3. Vous pouvez également utiliser la commande -P ALL pour afficher les statistiques de tous les processeurs.

Rapport de statistiques de mémoire

Pour générer un rapport de statistiques sur la mémoire, utilisez l'option -r. L'exemple de commande suivant génère des statistiques de mémoire cinq fois toutes les deux secondes :

sar -r 2 5

Rapport de statistiques du périphérique de stockage en mode bloc

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

sar -d -p 2 5

Rapport de statistiques du réseau

Pour générer un rapport de statistiques réseau, utilisez l'option -n. L'exemple de commande suivant génère des statistiques pour des entités spécifiques :

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

Remarque : La commande précédente peut générer des statistiques pour TCP, UDP, NFS (network file system) ou ALL.

Lire le fichier journal le plus récent

Pour extraire les détails du fichier journal le plus récent dans /var/log, exécutez les commandes sar. La commande suivante utilise l'option -f pour lire le fichier complet :

sar -f /var/log/sa

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

Les fichiers journaux sont enregistrés tous les jours. Pour extraire les détails d'un jour spécifique, utilisez l'option -f pour le fichier sa correspondant à cette date. La commande suivante affiche toutes les données du fichier journal qui contiennent des données générées le 12e jour du mois :

sar -f /var/log/sa/sa12

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

Statistiques de mémoire

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

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

Activité I/O

Pour afficher toutes les activités I/O combinées, utilisez l'option -b. L'exemple de commande suivant montre toutes les activités I/O du fichier journal généré le 12e jour du mois :

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

Statistiques du périphérique de stockage en mode bloc

Pour afficher les statistiques du périphérique de stockage en mode bloc, utilisez l’option -dp. L'exemple de commande suivant affiche les statistiques du 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 réseau

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

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

Statistiques processeur

Pour afficher les statistiques réseau et les statistiques processeur, utilisez l'option -P. L'exemple de commande suivant affiche les statistiques processeur pour le processeur 0 :

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

Consulter les statistiques pour une période donnée

Pour sélectionner les heures de début et de fin, utilisez les options -s et -e. Vous devez saisir l'heure au format 24 heures. L'heure de fin par défaut est 18h00. L'exemple de commande suivant affiche les statistiques du périphérique de stockage en mode bloc à partir du fichier journal généré le 30e jour du mois entre 2h00 et 17h00 :

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

Informations connexes

page de manuel sar (1) -Linux sur le site Web de Linux

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