This is an old revision of the document!
Table of Contents
Monitoring et diagnostique
sous Linux
Ces outils permettent d'afficher l'état de santé de la machine, de détecter s'il se passe quelque chose d'anormal, ou d'investiguer sur un problème déjà connu.
Tableaux de bord
Ce sont les logiciels générique qui permettent d'afficher de multiples mesures et informations, typiquement les trucs qu'on laisse ouvert dans un screen/byobu.
saidar
Affiche l'ensemble des indicateurs de santé de la machine en mode texte : la charge (1/5/15), l'état de la mémoire (vive/swap), les statistiques des processus (running, zombi), l'utilisation du disque (read/write), l'utilisation des interfaces réseau (rx/tx) et l'état des partitions.
saidar -c
glance
Dans le même genre que saidar, en plus détaillé.
neofetch
Affiche un résumé des informations système :
$ neofetch _,met$$$$$gg. dude@tyr ,g$$$$$$$$$$$$$$$P. -------- ,g$$P" """Y$$.". OS: Debian GNU/Linux 10 (buster) x86_64 ,$$P' `$$$. Kernel: 4.19.0-13-amd64 ',$$P ,ggs. `$$b: Uptime: 28 days, 6 hours, 24 mins `d$$' ,$P"' . $$$ Packages: 574 (dpkg) $$P d$' , $$P Shell: bash 5.0.3 $$: $$. - ,d$$' Terminal: /dev/pts/0 $$; Y$b._ _,d$P' CPU: Intel Atom N2800 (4) @ 1.862GHz Y$$. `.`"Y$$$$P"' GPU: Intel Atom Processor D2xxx/N2xxx `$$b "-.__ Memory: 321MiB / 1976MiB `Y$$ `Y$$. `$$b. `Y$$b. `"Y$b._ `"""
Processus
top/htop
Afficher la liste des processus avec leur utilisation CPU, mémoire, etc… Htop est plus évolué que top et affiche également des jauges d'utilisation CPU/mémoire/swap (et en couleur !).
htop
pidstat
pidstat affiche l'activité des processus actifs
# "-d" report IOSTAT ; "-l" list process cmd name & args ; 1 interval [ 30 count ]) pidstat -d -l 1 30
ps
# lister les processus bloqués en state=D (Disk sleep (uninterruptible)) for x in `seq 1 1 10`; do ps -eo state,pid,cmd | grep "^D"; echo "---"; sleep 5; done"
Réseau
hping
iftop
Affiche l'utilisation d'une interface réseau, par connexion.
iftop -i eth0
iptraf
iptraf
jnettop
jnettop
mtr
nethogs
nethogs
nload
nmap
ntop
vnstat
zmap
System
mpstat
mpstat -P ALL 5 Linux 3.10.0-514.26.2.el7.x86_64 (ldri601z) 02/08/2018 _x86_64_ (8 CPU) 10:39:05 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 10:39:10 all 1,20 0,00 0,98 61,32 0,00 0,00 0,00 0,00 0,00 36,50 10:39:10 0 3,41 0,00 4,22 92,37 0,00 0,00 0,00 0,00 0,00 0,00 10:39:10 1 0,80 0,00 0,60 98,60 0,00 0,00 0,00 0,00 0,00 0,00 10:39:10 2 2,81 0,00 0,40 0,00 0,00 0,00 0,00 0,00 0,00 96,79 10:39:10 3 2,20 0,00 2,20 0,00 0,00 0,00 0,00 0,00 0,00 95,59 10:39:10 4 0,00 0,00 0,00 100,00 0,00 0,00 0,00 0,00 0,00 0,00 10:39:10 5 0,20 0,00 0,20 99,60 0,00 0,00 0,00 0,00 0,00 0,00 10:39:10 6 0,20 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 99,80 10:39:10 7 0,00 0,00 0,20 99,80 0,00 0,00 0,00 0,00 0,00 0,00 [..]
vmstat
vmstat 1 procs -----------memory------------ ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 9 147484 1129764 16 1345452 0 0 1 4 16 19 2 1 91 7 0 0 9 147484 1129640 16 1345420 0 0 0 1388 693 1545 1 1 37 61 0 0 9 147484 1128876 16 1345420 0 0 0 44 639 1566 2 1 37 60 0
La première ligne n'est pas à prendre en compte puisqu'il affiche les stats depuis son dernier lancement.
Ici on voit un fort %age d'IOwait (60 “wa”) ce qui correspond au temps d'attente (“perdu” càd s'il est IDLE) d'accès au disque du processeur.
IO
Voir les stats d'IO d'un processus : cat /proc/<PID DU PROC>/io
iostat
iostat -x 2 5 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 sdb 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 sdc 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
iotop
iotop -p PID -k # afficher le cumul des IO des processus actifs iotop -oa
sar
Applications
apachetop
apachetop /var/log/apache2/access.log
mytop
mytop -u user -pMDP -d mysql
dnstop
dnstop -4 eth0