gnuplot et systeme AIX

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

Gnuplot dans un environnement AIX

J'avais l'idée depuis un certain temps de présenter cet outil que j'utilise depuis longtemps (10 ans au moins). J'ai enfin eu le courage de rédiger un petit document sur l'utilisation de Gnuplot dans un environemment AIX (bien que Gnuplot s'utilse sous m'importe quel Unix et sur Windows).

Je suis heureux de faire partager mon expérience, afin de réaliser des graphismes systèmes à l'aide de gnuplot.

  1. Introduction
  2. Gnuplot overview
  3. installation de Gnuplot
  4. création d'un graphe
  5. création d'un histogramme

  1. Introduction
  2. Gnuplot est un outil utilisé pour générer des graphiques. Il est utilisé typiquement pour afficher des données collectées à interval régulier, mais il ne se limite pas à cela. Tout type de graphes (piechart, bargraph, diagrammes, courbes) peut être affiché. Il peut aussi bien être utilisé en mode batch ou en mode commande et les résultats peuvent être affichés dans une fenêtre graphique, dans un navigateur internet ou envoyé dans un fichier image ou postcript.

    Cette page montre comment j'utilise à l'aide de quelques exemples simple les données collectées. Gnuplot est extrèmement riche. Ces exemples permettent de générer des graphes simples et de prendre connaissance des commandes essentielles de Gnuplot.

  3. Gnuplot overview
  4. Gnuplot est capable de convertir des données en tableau en un fichier image. Les formats courrants sont png, pdf, jpeg et gif. Il peut aussi afficher le résultat dans un terminal X, une page web ou un utilitaire d'affichage.

    Une interface de commandes permet d'interagir avec Gnuplot, ce qui permet de spécifier comment l'interface doit être formatée et présentée.

    On peut ainsi dimensionner le graphe, changer les couleurs utilisées, l'échelle, les légendes, choisir le nom de l'image de sortie.

    La commande plot génère ensuite l'image.

    Il est aussi possible de générer une image 3D avec la commande splot.

    Les commandes peuvent être lancées de manière interractives en ligne de commandes, mais il vaut mieux créer un fichier shell, ce qui permettra de réutiliser celui-ci. C'est d'autant plus pratique que ce fichier peut être pipé dans Gnuplot pour générer l'image.

    Il est évident que la collecte des données va très souvent demander une mise en forme des données pour Gnuplot à l'aide de sed , awk et autre commandes shell de manipulation de fichiers texte.

    Je dois aussi faire remarquer que si je présente l'utilisation de Gnuplot dans un environnement AIX, Gnuplot peut s'utiliser aussi bien sous linux que sous windows. Vous pouvez d'ailleurs télécharger Gnuplot sous windows. Consultez pour cela la page officiel de Gnuplot.

  5. installation de Gnuplot
  6. La première chose à faire est d'aller sur le site AIX Open Source Packages récupérer les rpms nécessaires à l'utilisation de Gnuplot, ou de se procurer un cd AIX TOOLBOX.

    Les fichiers rpm à installer sont:

    expat-2.0.1-2.aix5.1.ppc.rpm
    fontconfig-2.8.0-1.aix5.1.ppc.rpm
    freetype2-2.3.11-1.aix5.1.ppc.rpm
    gd-2.0.35-4.aix5.1.ppc.rpm
    gettext-0.17-1.aix5.1.ppc.rpm
    glib2-2.22.3-1.aix5.1.ppc.rpm
    gnuplot-4.2.6-1.aix5.1.ppc.rpm
    libjpeg-7-1.aix5.1.ppc.rpm
    libpng-1.2.40-1.aix5.1.ppc.rpm
    libXpm-3.5.8-1.aix6.1.ppc.rpm
    zlib-1.2.3-6.aix5.1.ppc.rpm
    

    Installez (option -i) ou réinstallez(option -U) les paquets et terminez par Gnuplot:

    # rpm -ivh expat-2.0.1-2.aix5.1.ppc.rpm
    # rpm -Uvh expat-2.0.1-2.aix5.1.ppc.rpm
    
    # rpm -ivh gnuplot-4.2.4-1.aix5.1.ppc.rpm
    

    rappel: pour vérifier les paquets installés rpm -qa.

    En fin d'installation effectuez un test:

    # Gnuplot
    

  7. création d'un graphe
  8. Tracé d'une courbe CPU à l'aide de sar

    Le fichier collecté est obtenu par

    sar > sar.dat
    

    Je l'ai ensuite modifié pour obtenir un fichier à ce format:

    01:00:00       7       3       6      85
    02:00:00      15       5       7      73
    03:00:00      38      15      11      36
    04:00:00      22       6       7      65
    05:00:00      18       5       7      69
    06:00:00       5       2       4      88
    07:00:00       6       4       6      83
    08:00:00      19       6       5      70
    08:05:00      40       9       6      45
    08:10:00      35       8       7      50
    08:15:00      27       6       6      60
    08:20:00       9       3       5      83
    08:25:00      41       8       6      45
    ...
    

    fichier de commande:

    set terminal png truecolor
    set output "sarimage.png"
    set autoscale
    set xdata time
    set timefmt "%H:%M:%S"
    set style data lines
    plot "d:/opt/gnuplot/sar.dat" using 1:2 title "%user", '' using 1:3 title "%sys"
    

    On obtient l'image suivante qui montre les piques de consommation utilisateurs en journée:

    Tracé d'une courbe mémoire utilisée à l'aide de nmon

    Cette fois ci, c'est nmon qui va nous servir de collecteur de données. Loin d'être limité, nmon retourne une collection de valeurs concernant le système, et je vous invite à consulter en autre les liens sur le sujet:

    grep MEMUSE batman_090711_0000.nmon |pg |cut -d','  -f 3 > cpu.dat
    

    Le fichier de configuration gnuplot est:

    set terminal png truecolor
    set output "sarimage.png"
    set autoscale
    set xdata time
    set timefmt "%H:%M:%S"
    set style data lines
    set xrange ["08:00:00" to "15:00:00"]
    plot "d:/opt/gnuplot/cpu.dat" using 1:2 title "memoire occupée"
    

    On notera que l'on a fixé la plage horaire et

    On obtient alors le graphe:

  9. création d'un histogramme