IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation et administration système Perl Discussion :

plugins nagios en perl


Sujet :

Programmation et administration système Perl

  1. #1
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut plugins nagios en perl
    Bonjour à tout le monde.

    Alors voila:
    J'ai fait un plugins nagios en perl pour vérifier la memoire utilisée sur un serveur unix.
    Un simple check_snmp n'était pas suffisant car le résultat me retournait la memoire libre en bits...

    J'ai donc a peu près fait ça (je n'ai pas le script sous les yeux mais je vais essayer de mémoire de mettre les commandes principales)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    my $check = `./check_snmp -H @IP -o OID -c public`;
    my @tableau = split(' ',$check);
    my $memoire_libre = ( $tableau[3] *8 / 1024 / 1024 );
    my $memoire_utilisee = ( 2 - $memoire_libre );
    my $pourcentage_libre = ( $memoire_libre * 100 / 2 );
    my $pourcentage_utilisee = ( $memoire_utilisee * 100 / 2 );
     
    print "". $memoire_libre ." libre ". $pourcentage_libre ."%, ". $memoire_utilisee ." Go libre ". $memoire_utilisee ." utilise ". $pourcentage_utilisee ."%";
    Voila en gros après ça me renvoie suivant le pourcentage utilisé le code erreur 0, 1, ou 2 (OK, WARNING ou CRITICAL)

    Donc lorsque j'exécute le script perl directement en ligne de commande sur le serveur nagios, ok tout va bien cela me renvoie les bonnes valeurs, etc...
    Par ex: 1,02 Go libre 52%, 0,98 Go utilise 48%

    En revanche, lorsque j'associe dans CENTREON un service à cette commande, le résultat retourné dans ma supervision toujours dans centreon est systématiquement:
    0 Go libre 0%, 2 Go utilise 10%

    Voili voilou le souci, et, sachant que j'ai fait mes débuts dans le langage PERL seulement hier, je ne vois pas du tout pourquoi cela marcherait en lançant le script à la main (en ligne de commande) et non dans centreon...

    Est-ce un problème de programmation? Ou plutôt un souci de centreon?

    Je me doute qu'il vous faudrait le script entier pour peut-être faciliter la recherche d'erreur, mais avez-vous dèjà une piste à suivre?
    Demain soir je mettrai le script en entier...

    Marci d'avance...

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Je te conseil ce tutoriel Perl qui t'aidera à la conception d'un plugin Nagios en Perl.

  3. #3
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    Merci djibril mais hélas je n'ai pas du tout le temps d'apprendre le perl dans le but de faire des plugins pour NAGIOS.

    La en gros j'ai juste besoin de cela...

    Alors j'ai vu où se trouvait le souci...
    C'est cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $check = `./check_snmp -H @IP -o OID -c public`;
    Celle-ci exécutée en ligne de commande via putty me renvoie le résultat attendu.
    En faisant après:
    j'ai quelque chose du genre: SNMP OK - 15675 | iso 3.1.2.4.5.6

    en revanche dans centreon, le résultat retourné est : "null"

    Je me dis donc que peut être il y a une autre façon de stocker le résultat d'une commande dans une variable, et que centreon la "comprenne"?

    Avez-vous d'éventuelles pistes à me proposer?

  4. #4
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    ok bon j'ai trouvé en fait.
    cA la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $check = `./check_snmp -H @IP -o OID -c public`;
    il faut mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $check = `/usr/lib/nagios/plugins/check_snmp -H @IP -o OID -c public`;
    Voila tout simplement...

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut


    En effet, il fallait donner le chemin complet du plugin ou bien utiliser chdir pour se placer dans le répertoire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Concevoir facilement un plugin Nagios en Perl
    Par djibril dans le forum Programmation et administration système
    Réponses: 12
    Dernier message: 21/12/2014, 18h40
  2. erreur dexecution l'ors de lancement d'un plugin nagios en perl
    Par chella dans le forum Programmation et administration système
    Réponses: 5
    Dernier message: 09/04/2011, 00h20
  3. Concevoir facilement un plugin Nagios en Perl
    Par djibril dans le forum Linux
    Réponses: 0
    Dernier message: 05/03/2011, 21h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo