Nmon

présentation

nmon (raccourci pour Nigel's Monitor) est un outil de monitoring systeme très connu pour AIX et linux. C'est un outil gratuit,téléchargeable de puis AIX 4.3.3, qui fonctionne sur les plateformes IA-32, x86-64 et RS/6000, processeur power et mainframe. Il est opensource depuis 2009. Il est maintenant intégré dans les perftools AIX (depuis AIX 5.3 TL09 et AIX 6.1 TL02 ) au sein de la commande topas comme le montre les lignes suivantes:

#ls -ltr /usr/bin/topas
-r-xr-xr-x    2 root     system      1702627 Jan 07 2011  /usr/bin/topas
#ls -ltr /usr/bin/topas_nmon
-r-xr-xr-x    2 root     system      1702627 Jan 07 2011  /usr/bin/topas_nmon
#tail -n -1 /usr/bin/nmon
/usr/bin/topas_nmon $*

nmon est unique parce que

Exemple de screnshoot en mode interactif:

+----------------------------------------------------------------------------------------------------------------------+
¦  ------------------------------                                                                                      ¦
¦  N    N  M    M   OOOO   N    N   For online help type: h                                                            ¦
¦  NN   N  MM  MM  O    O  NN   N   For command line option help:                                                      ¦
¦  N N  N  M MM M  O    O  N N  N      quick-hint  nmon -?                                                             ¦
¦  N  N N  M    M  O    O  N  N N    full-details  nmon -h                                                             ¦
¦  N   NN  M    M  O    O  N   NN   To start nmon the same way every time?                                             ¦
¦  N    N  M    M   OOOO   N    N    set NMON ksh variable, for example:                                               ¦
¦  ------------------------------    export NMON=cmt                                                                   ¦
¦       Version v11c for AIX52                                                                                         ¦
¦                               2 - CPUs currently                                                                     ¦
¦                               2 - CPUs configured                                                                    ¦
¦                            2147 - MHz CPU clock rate                                                                 ¦
¦                  PowerPC_POWER6 - Processor                                                                          ¦
¦                          64 bit - Hardware                                                                           ¦
¦                          64 bit - Kernel                                                                             ¦
¦                         Dynamic - Logical Partition                                                                  ¦
¦                  5.2.0.115 ML08 - AIX Kernel Version                                                                 ¦
¦                          batman - Hostname                                                                           ¦
¦                                                                                                                      ¦        ¦
¦                                                                                                                      ¦
¦                                                                                                                      ¦
¦                                                                                                                      ¦
+----------------------------------------------------------------------------------------------------------------------+

+-nmon--------m=Memory-----------Host=batman---------Refresh=2 secs---10:03.55-----------------------------------------+
¦ CPU-Utilisation-Small-View ------------------------------------------------------------------------------------------¦
¦                           0----------25-----------50----------75----------100                                        ¦
¦CPU User%  Sys% Wait% Idle%|           |            |           |            |                                        ¦
¦  0   1.0   2.5   4.5  92.1|sWW          >                                   |                                        ¦
¦  1   0.5   1.5   5.0  93.1|WW                     >                         |                                        ¦
¦System Averages            +-----------|------------|-----------|------------+                                        ¦
¦All   0.7   2.2   4.7  92.4|sWW                >                             |                                        ¦
¦                           +-----------|------------|-----------|------------+                                        ¦
¦ Memory --------------------------------------------------------------------------------------------------------------¦
¦          Physical  PageSpace |        pages/sec  In     Out | FileSystemCache                                        ¦
¦% Used       99.9%     50.2%  | to Paging Space   0.0    0.0   (numperm) 66.2%                                        ¦
¦% Free        0.1%     49.8%  | to File System   15.8   41.0   Process   16.1%                                        ¦
¦MB Used   14315.2MB  7974.9MB | Page Scans        0.0        | System    17.6%                                        ¦
¦MB Free      20.8MB  7897.1MB | Page Cycles       0.0        | Free       0.1%                                        ¦
¦Total(MB) 14336.0MB 15872.0MB | Page Steals       0.0        |           ------                                       ¦
¦                              | Page Faults      19.7        | Total    100.0%                                        ¦
¦------------------------------------------------------------ | numclient 48.4%                                        ¦
¦Min/Maxperm     2754MB( 19%)  11015MB( 77%) <--% of RAM      | maxclient 76.8%                                        ¦
¦Min/Maxfree     120    128       Total Virtual   29.5GB      | User      33.0%                                        ¦
¦Min/Maxpgahead    2      8                                     Pinned    17.5%                                        ¦
¦ Disk-KBytes/second-(K=1024) -----------------------------------------------------------------------------------------¦
¦Disk     Busy  Read  Write 0----------25-----------50------------75--------100                                        ¦
¦ Name          KB/s   KB/s |           |            |             |          |                                        ¦
¦hdisk0     0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk1     0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk72    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk79    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk80    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk77    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk74    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk81    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk78    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk84    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk85    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk76    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk75    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk148   0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk88    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk82    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk86    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk73    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk89    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
¦hdisk90    0%      0      0| For Busy% run: chdev -l sys0 -a iostat=true     |                                        ¦
+---------Warning: Some Statistics may not shown-----------------------------------------------------------------------+

téléchargement

On peut télécharger nmon ici.

Outils complémentaires

Nmon analyser

C'est un tableau excel qui prend des enregistrement de nmon (Nigel's Monitor)pour produire des graphiques qui vont aider à l'analyseet au reporting. Il permet aussi l'analyse pour ESS et EMC.

nmon analyser n'est pas officiellement supporté par IBM. Il n'y a pas de support en dehors du forum.nmon a été développé par Stephen Atkins.

la dernière version 3.3 (janvier 2011) apporte en autre:

On peut trouver nmon analyser.

L'utilisation est simple. On récupère un fichier au format .nmon. On lance la feuille exceel de nmon analyser nmon analyser v33g.xls .On active les macros si c'est demandé et on obtient l'écran suivant:

Il suffit de de cliquer sur le bouton nmon analyse data et de choisir un fichier .nmon.

La feuille excel génère automatiquement une nouvelle feuille avec plusieurs onglets.

Chaque onglet présente une vue du système.

Par exemple l'activité CPU:

La consommation CPU totale:

La mémoire utilisée au cours de la journée

Le top des processus en fonction de la cpu ou de la mémoire utilisée:

Les possibilités sont nombreuses.

pgraph

pGraph est un programme écrit en java 1.5 destiné à lire de multiples formats de donnés (dont celui de nmon) et de produire des graphiques soit en modebatch soit en mode interactif. Il n'y apas de limite quant à la taille des données entrées et on peut voir soit l'intégralité des données soit une période spécifique.

Les principales caractéristiques de pgraph sont

Quelques screenshots:

téléchargement de pgraph

Pour utiliser pgraph je vous conseille d'écrire un fichier bat sous windows ou shell sous unix de ce type:

fichier nmon.txt
java -jar pGraph.jar %1
	

fichier nmon.txt
#!/usr/bin/sh
java -jar pGraph.jar $1
	

Vous pourrez ainsi lancer pgraph soit en cliquant dessus soit en ligne de commande

pgraph batman 120114 0000.nmon

documentation outils et performances

En ce qui concerne le monitoring de systeme AIX t la performances, je vous conseille de lire les pages suivantes: