Manuel de l'administrateur Table des matières LinkedIn social network LinkedIn social network LinkedIn social network LinkedIn social network Share on social media

Création d’un graphique RRD à partir de script LUA

Introduction

Création d'un Graphique RRD basé sur le scripting LUA

Exemple 1 : Graphique d'utilisation d'espace disque

Exemple 2 : Graphique d'utilisation d'espace mémoire

Exemple 3 : Graphique de temps de chargement de page WEB

Exemple 4 : Graphique de temps de réponse TCP connect

Introduction

La création d’un graphique RRD à partir de script LUA ouvre une infinité de possibilités pour la génération de graphique en tendance. Le principe simple mise en oeuvre consiste à prendre comme source de donné les valeurs retrouné par un script en langage LUA et d'enrichir la base Round Robin pour la générations de graphiques d'utilisation, ,de charge, de temps de réponse etc.

L'interface graphique de RRD Collector permet de créer à volonté de nouveaux graphs à partir des scripts existants. Avec l'éditeur de script LUA vous pouvez créer vos propres scripts et les exploiter ensuite avec RRD Collector. Consulter la documentation sur le scripting LUA pour la création de script.

Un script LUA accepte par défaut 3 arguments en entrée (lp_host, lp_oid, lp_index) et renvoie deux valeurs en sortie (lp_value et lp_buffer).

Création d'un Graphique RRD basé sur le scripting LUA

Attacher le plugin RRD COllector à un host de l'annuaire puis accéder à la configuration.

Attach rrd plugin

Sélectionner l'onglet LUA Script

Empty LUA Script config

Il faut à partir de cette fenêtre créer les entrées (courbes du graph). Il est possible de lancer plusieurs scripts similaires ou différents pour réaliser plusieurs courbes dans votre graphe.

Cliquez sur Insert.

RRD garph entry creation

La liste affiche les scripts disponibles dans le répertoire /bin/config/script/RRDscript. Les scripts doivent être écrits avant l’insertion du plugin.

Cette fenêtre de sélection permet de choisir un script, de définir les paramètres passé au script et de tester l'éxécution du script.

Il faut sélectionner en premier le script dans la liste.

Ensuite suivant les besoins du script forunir les arguments (paramètre complémentaire)

Script description: Indique les type d'argument à fournir au script. Ce champ doit être remplacé car il sera utilisé comme légende dans les graphes.

Host Name: Le nom du host des l'annuaire si celui-ci est nécessaire au script pour réaliser ses requêtes. En pratique cela permet d'avoir l'adresse IP associé.

IP Adress: L'adresse IP si celle-ci est nécessaire au script pour réaliser ses requêtes. Variable lp_host dans le script.

Attention : L’adresse IP utilisée n’est pas forcément l’adresse IP de l’équipement auquel est attaché le plugin.

Arg1 (SNMP oid): Un argument qui peut être utilisé pour transmettre une valeur au script par exemple un oid d'objet SNMP. Variable lp_oid dans le script.

Arg2 (SNMPindex): Un argument qui peut être utilisé pour transmettre une valeur au script par exemple un index d'objet SNMP.Variable lp_index dans le script.

Un fois les argument définis, un clique sur le bouton Run permet de vérifier le bon fonctionnement du script avec les arguments fournis.

Avant de quitter, il faut choisir le type de valeur retournée par le script pour réaliser le graphe.

Counter: La variable sera interpretée comme un compteur, la courbe affichera la différence entre deux valeurs successives.

Gauge: La variable sera affichée tel quel dans le graph.

Si le résultat vous convient, cliquez le bouton ‘OK’, une entrée de collecte est insérée dans la liste (base RRD).

Répéter l'opération pour chaque courbe de votre graph.

Une fois toute vos entrées définies mais avant d'initialiser la Database RRD, choissez :

RRD Graph Type

Faire ensuite un Initialize Database.

Attention cette action crée la base définitive. La structure de la base ne peut être modifiée ultérieurement sans recommencer la procédure depuis le début.

Les paramètres d'affichage sont par contre modifiables grace à RRD Manager.

Exemple 1 : Graphique d'utilisation d'espace disque

Nous double cliquons sur le script : Disk space usage pour notre exemple 1.

Selectionnons ensuite le host ou l'adresse IP pour la requête. Ce doit être un host de l'annuaire LoriotPro avec un status SNMP OK (vert).

Selectionnons l'argument arg2, l'index correspondant au disque à analyser. Le script utilise la table SNMP hrstoragetable de la MIB standard HOST-RESSOURCE-MIB pour obtenir l'espace disque disponible. Pour connaitre les index des disques il faut visualiser la table à partir de l'arbre des MIB.

hrstorgae table

Dans cette exemple le disque C: est en index .1, Arg2 est assigné avec .1.

Disk space selection

Un clique sur Run avec les paramètres assignés permet d'avoir en retour la valeur courante d'espace occupé du disque en %.

On conserve le type Gauge et on valide cette entrée.

Disk usgae config

On répète cette opération pour tous les disques que l'on souhaite voir dans le graphe.

Quand tous les entrées sont ajoutées on sélectionne le Graph Style et la légende Y (ici en pourcent %).

On initialise la base avec Initialize DataBase. On quitte la configuration.

On lance la génération des graphiques avec Start.

On clique sur View Report pour la visualistaion des graphes ou du report.

liste of rrd graph

Exemple 2 : Graphique d'utilisation d'espace mémoire

Nous double cliquons sur le script : Memory usage pour notre exemple 2. celui-ci utilise la même table SNMP que pour les utilisations d'espace disque.

Selectionnons ensuite le host ou l'adresse IP pour la requête. Ce doit être un host de l'annuaire LoriotPro avec un status SNMP OK (vert).

Selectionnons l'argument arg2, l'index correspondant à la mémoire à analyser. Le script utilise la table SNMP hrstoragetable de la MIB standard HOST-RESSOURCE-MIB pour obtenir l'espace mémoire utilisé. Pour connaitre les index des mémoires, il faut visualiser la table à partir de l'arbre des MIB.

hrstorgae table

Dans cet exemple l'index 3 pointe sur la mémoire virtuel et l'index 4 sur la mémoire physique.

virtual memory usage

idem pour la mémoire physique avec l'index .4

physical memory

Les deux entrées dans la configuration.

memory config

on compléte la legende et on initialise la DataBase.

On lance la collecte avec Start. Après 1minute les graphique du Last Hour doit être enrichi d'un point.

Le mode de visualisation du graph peut être changé ensuite avec RRD Manager.

Pour cela vous devez ouvrir RRD Manager puis sélectionner l'onglet Graphics, puis sélectionner le graph que vous voulez modifier.

Celui-ci est repéré par le nom de la database et du host auxuel le Plugin RRD Collector est attaché.

rrd graph modif

Exemple de graph obtenu sur une péridoe d'une heure.

Memory usage on RRD

 

Exemple 3 : Graphique de temps de chargement de page WEB

Cet exemple montre comment avoir un graph des temps de chargement de pages WEB pour un ou plusieurs sites. Les pages sont chargés dans un fichier temporaire et ce temps de chargement est mesuré.

Pour cela le script WEB page download est sélectionné dans la liste.

Ensuite la description est complétée pour créer la legende de cette entrée dans le graph.

ensuite le paramètre Arg1 est complété avec le lien sur la page web à télécharger (ATTENTION http:// nest pas précisé)

Exemple pour Arg1 : www.loriotpro.com/home.html

Web page download time

On répète l'opération de configuration pour chaque page.

Dans l'exemple ci-dessous 4 pages ont été ajoutées.

Web page download config

La base peut être initialisée (Initialize DataBase). On quitte la configuration avec OK puis on lance la collecte avec Start.

Le script retrourne des valeurs en secondes par défaut. Les pages non chargées complétement sont identifiées par des valeurs négatives sur le graph.

Voici un exemple de graph pour une période d'une heure.

WEB page performance

Exemple 4 : Graphique de temps de chargement de fichier par FTP

Cette exemple utilise le Script FTP file download. Ce script requiert des librairies LUA disponible dans le package LUA for Windows pour fonctionner.

Consulter le How to pour l'installation du package.

 

 

 


www.loriotpro.com