nmon et outils dérivés

Creation: 16 janvier 2012
Mise à jour:
Version: 1.0
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2012 Jean-Louis BICQUELET-SALAÜN

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

  • il est libre et téléchargable sur nmon IBM AIX Wiki website
  • son installation est simple (un fichier à détarer) et maintenance un lpp (perftools) à installer.
  • nmon consomme peu de ressources
  • il dispose de 2 modes, un mode interactif et un mode enregistrement (ce qui permet de garder des traces)
  • il est éprouvé (plus de 10 ans de développement) et je l'uilise depuis 2002
  • nmon couvre l'ensemble du système d'un coup (CPU, memoire, disques, adapters, réseau)
  • il dispose de nonbreux outils post traitement associés (nmon analyser, nmon2rrd , nmon2web, etc.)
  • les sorties sont simples à exploiter et il existe des passerelles par exemple vers SAS
  • nmon couvre de plusieurs systèmes (AIX, linux) se qui permet de centraliser le monitoring

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:

  • support des enregistrements de nmon12 pour POWER6 et AIX V6.1
  • support de topasout et linux
  • support de la virgule
  • facilitation du merge des fichiers nmon

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

  • support de nombreux formats (nmon, vmstat, topasout, iostat, lslparutil, sar)
  • utilisable sur de nombreux operating systems (AIX, Linux, Solaris, HP-UX)
  • pas de limite du point de vu de la taille des fichiers de données en entrée
  • les fichiers peuvent être zippés
  • plusieurs fichiers peuvent être lus à la fois
  • merge automatiques des données appartenant au même operating system
  • consolidation quand les fichiers appartiennent à plusieurs OS pour montrer une consommation globale de CPU
  • mixage de données complexes
  • zoom permettant d'observer une courte période ou de choisir une période d'observation
  • export des graphes en format png ou csv
  • applet disponible pourune utilisation web
  • capacity planning simple
  • chargement possible d'un fichier de données simple, un seul serveur et plusieurs fichiers, plusieurs fichiers et plusieurs fichier
  • possibilité de chargement à l'aide d'un fichier de configuration
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: