« Surveillance de disques » : différence entre les versions

De Justine's wiki
Aller à la navigation Aller à la recherche
(Page créée avec « = Linux = == iostat == https://www.linuxtechi.com/monitor-linux-systems-performance-iostat-command/ On commence par installer le paquet sysstat si cela est nécessaire:... »)
 
Aucun résumé des modifications
Ligne 93 : Ligne 93 :
  iostat 5
  iostat 5
...me donnera un rapport toutes les 5 secondes.
...me donnera un rapport toutes les 5 secondes.
== sar ==
Sar, aussi comprise dans sysstats, est une commande permettant d'afficher le contenu du systat. Il faut d'abord activer la collecte des données avec:
systemctl start sysstat
Il suffit ensuite d'utiliser la commande sar pour avoir des statistiques.

Version du 24 mars 2020 à 10:04

Linux

iostat

https://www.linuxtechi.com/monitor-linux-systems-performance-iostat-command/

On commence par installer le paquet sysstat si cela est nécessaire:

apt install sysstat

Ensuite, on dispose de la commande iostat, qui donne des informations sur les IO sous tous les angles : CPU, disque. La commande est très complète et permet en général de savoir tout ce dont l'on a besoin. Dans son fonctionnement, iostat va lire les fichiers système:

  • /proc/diskstats for disk stats
  • /proc/stat for system stats
  • /sys for block device stats
  • /proc/devices for persistent device names
  • /proc/self/mountstats for all the network filesystems
  • /proc/uptime for information regarding system uptime

Usage

L'usage par défaut:

<source lang="bash"> [justine@Argonaut ~]$ iostat Linux 5.5.8-1-MANJARO (Argonaut) 24/03/2020 _x86_64_ (8 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

          9,00    0,00    3,80    0,15    0,00   87,05

Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd loop0 0,03 0,47 0,00 0,00 2135 0 0 loop1 0,02 0,24 0,00 0,00 1094 0 0 loop2 0,00 0,00 0,00 0,00 4 0 0 sda 0,11 2,79 0,01 0,00 12690 32 0 sdb 20,18 362,11 254,93 2186,65 1647836 1160089 9950676 scd0 0,00 0,00 0,00 0,00 2 0 0 </source>

Les valeurs en dessous sont assez explicites.

Il existe de nombreuses, très nombreuses options !

  • iostat -c : Seulement infos CPU
  • iostat -d : Seulement infos sur les Devices
  • iostat -x : Infos détaillées
  • iostat -xd : Infos détaillées et séparées par devices
  • iostat -p sda : I/O seulement pour sda
  • iostat -N : Rapport LVM
  • iostat -z : Rapport seulement sur les devices actifs.
  • iostat -t : Pour avoir un timestamp
  • iostat -j : On peut donner un blkid juste après pour voir seulement ce device là
  • nfsiostat : Variante pour les systèmes nfs

Temporalité

La commande iostat est intéressante pour faire du troubleshooting, mais il vaut mieux l'utiliser "en continu"; si je ne la lance qu'une fois, je peux tomber en plein dans un pic ou dans un creux. Le plus intéressant est ce type d'usage:

<source lang="bash"> [justine@Argonaut ~]$ iostat 2 5 Linux 5.5.8-1-MANJARO (Argonaut) 24/03/2020 _x86_64_ (8 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

          8,89    0,00    3,89    0,14    0,00   87,08

Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd loop0 0,02 0,41 0,00 0,00 2135 0 0 loop1 0,02 0,21 0,00 0,00 1094 0 0 loop2 0,00 0,00 0,00 0,00 4 0 0 sda 0,10 2,41 0,01 0,00 12691 32 0 sdb 18,05 313,86 239,16 1904,36 1649982 1257277 10011192 scd0 0,00 0,00 0,00 0,00 2 0 0


avg-cpu: %user %nice %system %iowait %steal %idle

          8,10    0,00    4,61    0,06    0,00   87,22

Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd loop0 0,00 0,00 0,00 0,00 0 0 0 loop1 0,00 0,00 0,00 0,00 0 0 0 loop2 0,00 0,00 0,00 0,00 0 0 0 sda 0,00 0,00 0,00 0,00 0 0 0 sdb 0,00 0,00 0,00 0,00 0 0 0 scd0 0,00 0,00 0,00 0,00 0 0 0 </source>

Ici, je lance deux rapports à 5 secondes d'intervalle. Si je ne passe qu'un seul chiffre, ce sera le temps d'intervalle entre deux rapports. Par exemple un:

iostat 5

...me donnera un rapport toutes les 5 secondes.

sar

Sar, aussi comprise dans sysstats, est une commande permettant d'afficher le contenu du systat. Il faut d'abord activer la collecte des données avec:

systemctl start sysstat

Il suffit ensuite d'utiliser la commande sar pour avoir des statistiques.