Health-Check – Un petit tool de monitoring très complet en ligne de commande
Vous pouvez sous GNU/Linux comme sur tous les systèmes d’ailleurs, être confronté de temps à autre à des soucis plus ou moins variés, qui peuvent vous obliger à fouiner pour trouver et isoler la source du problème. Parmi la variété d’outils de monitoring qui vous sont proposés vous pouvez trouver Health-Check, un petit soft sympa qui s’utilise en ligne de commande et qui va vous permettre d’effectuer diverses vérifications de manière très ciblée. Vous pourrez entre autres surveiller l’utilisation CPU, les processus du Kernel, les appels système, l’activité des fichiers I/O, les connexions réseau et un tas d’autres trucs en quelques lignes de commande seulement. Si ça vous intéresse nous allons voir un petit aperçu de ce que vous pouvez faire avec Health-Check sur Ubuntu, Debian et dérivés.
Installation :
Pour installer Health-Check sur Ubuntu et dérivés, entrez le PPA suivant à l’aide de ces quelques lignes de commande :
sudo add-apt-repository ppa:colin-king/white
sudo apt-get update
sudo apt-get install health-check
Usages :
Contrairement aux outils du même genre que nous avons déjà présenté dans l’étable, Health-Check ne contient pas de menu de navigation. Il va donc falloir lui indiquer très exactement les bons arguments pour obtenir les informations que vous souhaitez.
Il faut donc dans un premier temps indiquer la commande de base, à savoir bien évidement sudo health-check
. Celle-ci doit être obligatoirement suivie de l’option qui vous intéresse, comme par exemple -p
, qui ici va indiquer au soft que nous voulons checker un PID spécifique.
L’option -p
peut elle-même être complétée par un autre argument, comme nous allons le voir dans l’exemple ci dessous.
Cas de figure et exemple d’utilisation :
Nous allons partir du principe qu’on rencontre un problème sur notre distribution, comme une charge CPU élevée qui ralentit notre système par exemple. Nous allons donc commencer par effectuer un top et on imagine que c’est de Gnome-shell que vient le problème.
Sur la capture ci-dessus top nous indique que le PID de Gnome-shell est le 2424. Si nous voulons utiliser health-check pour voir ce qui se passe exactement avec le PID 2424 (GS), la commande à entrer va donc être la suivante :
sudo health-check -p 2424
Il suffit ensuite d’attendre une minute (la valeur par défaut) avant d’avoir un retour détaillé, qui devrait ressembler à ça.
- CPU usage:
- PID Process USR% SYS% TOTAL% Duration
- 2424 gnome-shell 1.00 0.30 1.30 20.00 (very light load)
- Wakeups:
- PID Process Wake/Sec Kernel Functions
- 2424 gnome-shell 2.15 (hrtimer_start_range_ns, hrtimer_wakeup) (moderate)
- 2424 gnome-shell 1.00 (tpt_trig_timer, tpt_trig_timer) (low)
- 2424 gnome-shell 0.05 (hrtimer_start, timerfd_tmrproc) (very low)
- 2424 gnome-shell 0.05 (sk_reset_timer, tcp_keepalive_timer) (very low)
- Total 3.25
- Context Switches:
- PID Process Voluntary Involuntary Total
- Ctxt Sw/Sec Ctxt Sw/Sec Ctxt Sw/Sec
- 2424 gnome-shell 208.85 2.35 211.20 (quite high)
- File I/O operations:
- PID Process Count Op Filename
- 2424 gnome-shell 1 C /etc/localtime
- 2424 gnome-shell 1 O /etc/localtime
- Total 2
- Op: O=Open, R=Read, W=Write, C=Close
- File I/O Operations per second:
- PID Process Open Close Read Write
- 2424 gnome-shell 0.05 0.05 0.00 0.00
- System calls traced:
- PID Process Syscall Count Rate/Sec
- Filesystem Syncs:
- None.
- Per Process Memory (K):
- PID Process Type Size RSS PSS
- 2424 gnome-shell Stack 58016 4804 4804
- 2424 gnome-shell Heap 68544 21580 21580
- 2424 gnome-shell Mapped 457580 83500 65690
- Change in memory (K/second):
- PID Process Type Size RSS PSS
- 2424 gnome-shell Heap 0.00 1.20 1.20 (growing)
- Open Network Connections:
- None.
Comme vous pouvez le constater et même s’il faut un tout petit peu de bouteille pour interpréter le résultat, nous pouvons difficilement faire plus complet et plus rapide :). Tout ou presque nous est indiqué sur ce processus.
Parmi les autres options disponibles nous pourrons en citer deux autres qui peuvent vous servir et qui sont -d
pour spécifier la durée du test et -o
suivi d’un « nom », qui va vous permettre de diriger les résultats du test dans un fichier texte.
Exemple :
sudo health-check -p 2424 -d 20 -o test.txt
Où -d 20
indique que le test ne doit durer que 20 secondes et où -o test.txt
indique que les résultats doivent êtres consignés dans le fichier test.txt.
NB : Vous pouvez changer l’extension et utiliser un .json au lieu du .txt. Health-Check prend en charge l’exportation vers ce type de fichiers.
Vous pouvez également lancer le check d’un processus par son nom à la place du PID avec l’option -b
, utiliser un mode verbose avec l’option -v
, résoudre les adresses IP grâce à l’option -r
et bien d’autre choses encore, que je vais vous laisser découvrir comme des grands.
Vous pouvez prendre connaissance des options disponibles à tout moment à l’aide de -h
.
Conclusion :
Health-Check est un outil très sympa qui ne conviendra pas aux débutants, mais qui peut être très utile pour ceux qui sauront en interpréter les résultats. Je pense qu’il a sa place dans la trousse à outils de tout bon bidouilleur qui se respecte et j’espère que cette petite bafouille vous sera utile.
Amusez-vous bien.