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 :

Script ping pour mrtg


Sujet :

Programmation et administration système Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 13
    Par défaut Script ping pour mrtg
    Bonjour à tous !

    J'ai trouvé en fouillant sur la toile un script de ping fonctionnel

    Cependant, je ne sais pas comment réussir à récupérer des valeurs "numériques" pour les afficher dans MRTG afin de faire un graphe.

    Si quelqu'un peut m'aider, je vous en serais reconnaissant

    Code en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    use Net::Ping;
    $p = Net::Ping->new('icmp');
    my $main_ip="$ARGV[0]";
     
    if ($p->ping($main_ip,1)){
        $result=true;
        print "$main_ip is alive \n";
    }else{
        print "$main_ip is down \n";
    }

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    La méthode ack() retourne l'adresse IP (entre autre).
    Regarde l'exemple ici.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 13
    Par défaut
    Merci pour votre réponse.

    Cependant je recherche plus à transformer les valeurs "is alive" et "is down" en valeur interprétable pour MRTG

    Par exemple afficher 100 quand l'adresse est pingable, et 0 dans le cas échéant.

    EDIT :

    J'en arrive à la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    use Net::Ping;
    $p = Net::Ping->new('icmp');
    my $main_ip="$ARGV[0]";
     
    if ($p->ping($main_ip,1)){
        $result=100;
    }else{
        $result=0;;
    }
     
    print "$result\n";
    print "$result\n";
    print "0\n";
    print "0";
    j'ai mes 4 valeurs qui s'affichent pour les log, cependant MRTG ne peut toujours pas interpréter ce script.
    Je pense qu'il ne reconnait pas les valeurs "100" et "0" comme entier.

    Que puis-je faire pour modifier cela?

    Merci par avance

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 13
    Par défaut
    Bon, j'ai réussi par moi même !

    Merci quand même Gilou, en fait c'était tout bête ^^'

    Pour ceux qui étaient dans la même galère que moi, voici le script final utilisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    use Net::Ping;
    $p = Net::Ping->new('icmp');
    my $main_ip="$ARGV[0]";
    if ($p->ping($main_ip,1)){
        $result=int(100);
    }else{
        $result=int(0);
    }
    print "$result\n";
    print "$result\n";
    print "$0\n";
    print "$0\n";

  5. #5
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Je ne vois pas en quoi écrire int(100) au lieu de 100 change quelque chose (surtout pour l'écrire ensuite sous forme de chaine).
    J'imagine que vous avez fait d'autres modifications ailleurs, peut-être même en dehors du script perl.

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 13
    Par défaut
    En fait, ce script n'avait pas pour but d'être affiché dans une fenêtre DOS.

    Je devais utiliser ce script dans l'outil MRTG, et ce dernier ne prends en compte que des nombres.

    Ainsi, avant de mettre (int)100, MRTG prenait ce résultat pour une chaine de caractère, et ne pouvait donc pas l'utiliser

  7. #7
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Philou67430 Voir le message
    Je ne vois pas en quoi écrire int(100) au lieu de 100 change quelque chose (surtout pour l'écrire ensuite sous forme de chaine).
    J'imagine que vous avez fait d'autres modifications ailleurs, peut-être même en dehors du script perl.
    Je me posais exactement les mêmes questions.

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

Discussions similaires

  1. script php pour test de continuité (ping)
    Par kiwilicious dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/02/2014, 20h17
  2. script php pour test de continuité (ping)
    Par gliricidialo dans le forum Langage
    Réponses: 9
    Dernier message: 26/03/2010, 21h13
  3. Script oracle pour windows & unix
    Par ALLFA dans le forum Oracle
    Réponses: 2
    Dernier message: 05/07/2005, 14h52
  4. Script sql pour exporter BD de sql server vers access
    Par kayser dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/12/2004, 15h48

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