Nmon est un outil conçu pour surveiller en temps réel les performances système/réseau d’une machine mais permet également de les enregistrer lors d’un benchmark où pour une utilisation à long terme type capacity planning. Nmon a été à la base développé pour AIX afin de répondre au propre besoin de son auteur. Il existe cependant une version Linux (La version 13g est présente dans les dépôts de l’Ubuntu 10.10).
Nmon permet de remonter les infos types charge processeur, utilisation mémoire, io disques, processus, trafic réseau, etc.
Son utilisation est très simple, il suffit d’exécuter la commande avec les arguments souhaités. Lors d’un stresstest, j’ai l’habitude de la placer en crontab et d’exécuter la capture sur une plage horaire élargie afin de bien voir la différence du avant/pendant/après benchmark. J’exploite ensuite le fichier .nmon généré avec nmon2rrd.
Voici un exemple d’utilisation:
30 21 * * * /usr/bin/nmon -f -s 60 -c 120 -T -m /tmp/nmon/
Ici, la crontab va lancer nmon à 21h30 en mode collecte de données pour une utilisation ultérieure (-f), toutes les 60 secondes (-s 60) sur 120 itérations (-c 120) avec l’affichage des processus les plus gourmands (-T). Le fichier de sortie sera enregistré dans /tmp/nmon (-m /tmp/nmon).
Nous pourons donc à 23h30 récupérer notre fichier .nmon ainsi généré. Mais que faire de ce fichier ? Si vous vous amusez à l’ouvrir, vous verrez que c’est plutôt brut et donc difficile à exploiter tel quel.
Eh bien justement, plusieurs outils existent pour exploiter vos traces:
Tout d’abord mon préféré, nmon2rrd. Celui-ci va me générer des pages html avec de beaux graphiques. Nmon2rrd permet également d’alimenter directement une base de données rrd (pour une utilisation avec Nagios par exemple). Sous Linux, son installation relève de la bidouille mais son utilisation est on ne peut plus triviale. La seule condition pour utiliser nmon2rrd est d’utiliser la version 12g de nmon car celle-ci doit être la même version que nmon2rrd…or il n’existe pas de version 13g de nmon2rrd.
Voici la procédure d’installation de nmon2rrd:
- Télécharger le source ici
- Compilez-le avec la commande suivante (ne tenez pas compte des multiples warning…):
- Copiez le binaire ainsi compilé à l’endroit que vous pensez être le mieux approprié.
Vous pouvez à présent générer vos graphs avec la commande suivante:
Où /tmp/nmon/monserveur.nmon sera vous l’aurez compris, l’emplacement de mon fichier nmon et /tmp/nmon2rrd/ mon répertoire de sortie.
Pour l’exploitation de vos nmonisations
vous pouvez également utiliser nmon analyser qui va convertir vos fichiers nmon en fichiers Excel. Le seul problème de cet outil (en tout cas pour moi), c’est justement qu’il nécessite Microsoft Excel. Impossible d’utiliser le tableur d’Open Office car les macros ne sont pas compatibles. Il semblerait que le projet de portage soit en cours mais pour l’instant ce problème est rédhibitoire pour moi.
J’ai quand même pu le tester et je dois dire qu’il fait bien son boulot. Il suffit d’ouvrir le fichier Excel, de cliquer sur un bouton puis de sélectionner votre fichier nmon à importer et pouf, vous avez un beau fichier Excel avec pleins d’onglets remplis de graphs correspondants à chacun des éléments surveillés par Nmon.
Je vous invite d’ailleurs à consulter le site officiel si cet outil vous intéresse: http://www.ibm.com/developerworks/aix/library/au-nmon_analyser/index.html















