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

Java Discussion :

Ping d'une liste d'équipements réseaux


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut Ping d'une liste d'équipements réseaux
    Bonjour,

    Dans le cadre d'un projet de supervision réseau je cherche le moyen le plus rapide de pinger une liste d'équipements.

    Pour l'instant j'ai 3 solutions :

    - Selectionner la liste et pinger un par un les équipements(trés long si la liste est énorme).

    - Selectionner la liste et les pinger par 10 ou plus peut-être.

    - Lancer un thread pour chaque équipement(je sais pas si c'est faisable avec beaucoup d'équipements).

    Quelle est la meilleure solution pour vous? ou même une autre peut-être ?

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    La première, mais il n'y a pas de raison que ce soit long si la liste est longue. Tu peux très bien lancer tout tes ping dans une boucle et seulement après avoir tou t lancé commencer à lire les socket pour voir si t'a eu des réponses. Donc pour 3000 équipement, tu ouvrira 3000 sockets de ping, et après la boucle tu commencera à parcourir les socket pour voir si elles ont eu une réponse. Si ton ping timeout est de, par exemple, 10 seconde, en 10 secondes tu sera fixé pour la totalité des équipement.

  3. #3
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Merci pour la réponse,

    Peux-tu m'éclairer un peu sur la manière d'ouvrir plusieurs sockets en même temps stp(Thread?).

    Car moi je faisais une boucle avec la méthode isRecheable() d'InetAddress mais il attend la réponse du ping en cours avant de passer au suivant.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par nicotine002 Voir le message
    Merci pour la réponse,

    Peux-tu m'éclairer un peu sur la manière d'ouvrir plusieurs sockets en même temps stp(Thread?).

    Car moi je faisais une boucle avec la méthode isRecheable() d'InetAddress mais il attend la réponse du ping en cours avant de passer au suivant.
    Effectivement, j'ai parlé un peu trop vite Si tu travaille avec de socket tcp et que t'as un service tcp echo (port 7) qui tourne sur la machine distante, tu peux toujours établir une connection tcp avec le service distant, envoyer un "echo" dessus. ensuite tu stocke ta socket dans une liste et tu crée la suivante, etc. Une fois ca fait, tu reparcoure la liste et tu fait des read dessus pour voir si t'as eu une réponse à la demande d'écho. Ca suppose que le service echo tourne sur ces machine. Sinon, tu va devoir utiliser InetAddress.isReachable(), mais là c'est pas asynchrone, donc plus t'aura de threads en // plus tu pourrra faire de ping par seconde. Essaie de ne pas dépasser un milliers de thread en //, la pluspart des OS on une limitation à 1024 thread / processus.

  5. #5
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Ok merci tchize_, je vais utiliser une quarantaine de threads par seconde, ça devrait suffire je pense.

    Sinon pour Miguel93 :

    Le logiciel s'appuie surtout sur le SNMP et est programmé en java.
    Le SNMP te permet d'interroger la MIB(public ou private) des équipements à distance(process, ports, protocoles...).
    La partie serveur s'occupe surtout des Syslogs et Traps.

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    si ce sont des query/reponse snmp utilisant du tcp/ip que tu utilise pour voir si l'équipement fonctionne, pas besoin de thread multiples (voir mon message plus haut)

  7. #7
    Invité de passage
    Inscrit en
    Juin 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 1
    Par défaut
    Citation Envoyé par nicotine002 Voir le message
    Bonjour,

    Dans le cadre d'un projet de supervision réseau je cherche le moyen le plus rapide de pinger une liste d'équipements.
    Bonjour nicotine002,

    voilà je suis actuellement en stage et je dois moi aussi mener à bien un projet de supervision de réseau. Au départ j'avais pensé à déployer une solution déjà existante du type Nagios, Zabbix ou autre outil de supervision opensource. Mais voilà, mon tuteur n'est pas trop d'accord pour celà et voudrait plutôt que je développe un outil de supervision moi même, même si celui-ci ne réalise pas toutes les fonctions qu'un outil sur le marché puisse faire.

    Donc j'aimerais si sa te dérange pas (vu que je suis pas trop calé niveau prog) que tu m'éclaires un peu plus sur le sujet, vu qu'apparemment toi aussi tu conçois un tel outil. Quel langage utilises tu ? Comment t'y prends tu ?

    Merci d'avance,

    Amicalement,

    Miguel

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

Discussions similaires

  1. Compléter un script qui ping une liste d'IP
    Par stevensavior dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/07/2014, 11h02
  2. [bacth] Faire un ping d'une liste de machines
    Par gsmdeblok dans le forum Windows
    Réponses: 2
    Dernier message: 12/04/2008, 14h13
  3. Réponses: 4
    Dernier message: 24/04/2003, 22h28
  4. Générer une liste
    Par pfredin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/04/2003, 15h30
  5. tri d'une liste
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 09/01/2003, 18h08

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