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

Entrée/Sortie Java Discussion :

[Protocole] Utiliser SNMP sous Java !?


Sujet :

Entrée/Sortie Java

  1. #1
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut [Protocole] Utiliser SNMP sous Java !?
    Bonjour,
    Je voudrais bien savoir comment pourrai-je récupérer des données envoyés par SNMP.
    En fait, le roblème c'est que j'ai à analyser des fichiers log envoyés par un serveur sur le port SNMP.
    Je suis débutant en Java..
    Est ce que quelqu'un peut m'aider?
    Merci beaucoup.

  2. #2
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    salut,
    http://netsnmpj.sourceforge.net/
    Apparement ça supporte les plateformes principales

  3. #3
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,

    il te faudra utiliser une librairie spécialisée pour faire du snmp. Il y en a une ici, mais elle est payante. En cherchant tu devrais facilement en trouver d'autres.

    [EDIT] ah, grillé, et avec un meilleur lien en plus.

  4. #4
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Merci pour votre,
    Est ce que quelqu'un peut me dire comment installer un nouveau package sous java.
    j'utilise Jbuilder X Entreprise.
    Quand j'ai écrit import snmp.* ça n'a pas été reconnu.

    Merci d'avance.

  5. #5
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    il faut surement l'ajouter à ton classpath

  6. #6
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    Faut mettre dans le repertoire bin, toutes les dll et dans le repertoire lib, tous les fichier .jar (Tout ça sous le repertoire de ton jdk).

  7. #7
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Est ce que quelqu'un peut me guider dans mon projet.
    Voila ce que j'ai à faire:
    J'ai un serveur proxy qui va m'envoyer des logs par l'inremédiaire de SNMP.
    Je dois récupérérer ces logs, extraire les champs à analyser et les enregistrer dans une base de données pour les analyser par la suite.

    Je vais utiliser JSP, Tomcat et MySQL.
    Je travaille sous JBuilder.

    Mon tout premier problème c'est 'comment extraire les logs par l'intermédiaire de SNMP sur ma machine' en utlisant du code Java.

    Je serai ravi si je trouve une réponse à mes questions.
    Merci les amis.

  8. #8
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    je sais pas comment tu peux recevoir ces logs par snmp (le proxy est un agent?). Tu veux passer par les oid ?
    Dans ce cas ça peut peut-etre te donner des idées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    import org.netsnmp.* ;
    import org.netsnmp.swingui.snmpget;
    import org.netsnmp.ASN.ASNValue;
     
    public class SNMP
    {
    	public static snmpget snmpFrame;
    	public static NetSNMPSession snmps;
    	public static OID oid;
     
    	public SNMP()
    	{
    	}
     
    	public static void main(String[] args)
    	{
      		NetSNMPSession snmps = new org.netsnmp.NetSNMPSession("nomDeTonServeurProxy", "community") ; //"localhost"
      		PDU pdu = new PDU(NetSNMP.MSG_GET);
      		oid=null;
      		try
      		{
      			oid = new DefaultOID("iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0") ;
      			snmps.addListener
      			(
      				new NetSNMPAction()
      				{
      					public boolean actionPerformed(int result, NetSNMPSession session, PDU pduRecu, Object o)
           				{
    						//là où tu recois tes messages pdu
     
    						ASNValue valeur = pduRecu.findValue(oid) ;
    						if( result == NetSNMP.STAT_TIMEOUT )
    						{
                    			System.err.println("aucune reponse du serveur") ;
                   				 return false ;
                			}
                			System.out.println("valeur de la variable de l'oid = " + valeur) ;
    						return true;
           				}
      				}
           		) ;
         	}
      		catch(Exception e)
      		{
      		}
         	pdu.addNullEntry(oid) ;
     
      		//Interface graphique
      		//snmpget snmpFrame = new snmpget();
      		//snmpFrame.setVisible(true);
      		//snmpFrame.setCommunity("public");
      		//snmpFrame.setHost("localhost");
    	}
     
    	public void sendPDU(PDU pdu)
    	{
    		try
      		{
      			snmps.send(pdu, null) ;
      		}
      		catch(Exception e)
      		{
      		}
    	}
    }
    A vrai dire je n'ai pas pu testé ce code lol
    edit : un autre projet snmp pour java http://sourceforge.net/projects/jopeneyes

  9. #9
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Bonjour,
    D'abord, je tiens à vous remercier pour votre aide.
    Le problème c'est que je ne sais pas grand chose sur SNMP et les OID
    J'essaie de faire un truc qui ressemble à KIWI SYSLOG si vous le connaissez.
    Je veux intercepter des logs envoyés par un serveur pour extraire les champs nécessaires.
    Encore merci.
    Je trouve votre aide très utile.

  10. #10
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Salut,
    J'essaie d'exécuter le code que m'a fourni orlero (grand merci pour orlero).
    Je voudrais savoir c'est quoi "community".
    Et pour le nom de serveur est ce que je dois spécifier le numéro de port?
    Merci.

  11. #11
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    ouai j'ai mis nom du serveur mais en fait c'est plutot "nomDuServeur:numeroDePort" (ou en locale : "localhost").
    J'ai mis "community" mais en fait c'est le nom de communauté de ton agent (ici ton serveur), c'est le mot de passe pour acceder aux infos de l'agent. Faut donc faire gaffe qu'il soit pas trop simple à deviner .

  12. #12
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 854
    Points : 22 878
    Points
    22 878
    Billets dans le blog
    51
    Par défaut
    Citation Envoyé par condor_01
    Merci pour votre,
    Est ce que quelqu'un peut me dire comment installer un nouveau package sous java.
    j'utilise Jbuilder X Entreprise.
    Quand j'ai écrit import snmp.* ça n'a pas été reconnu.

    Merci d'avance.
    Citation Envoyé par orelero
    Faut mettre dans le repertoire bin, toutes les dll et dans le repertoire lib, tous les fichier .jar (Tout ça sous le repertoire de ton jdk).
    Il t'est aussi possible de te creer, dans JBuilder, une nouvelle library et de l'attacher a ton projet (note que je n'ai jamais fait ca avec un lib contenant des DLLs. Mais a priori les DLLs ont juste besoin d'etre qq part sur le PATH).

    Sur la version anglaise, aller dans le menu Tools->configure->libraries..., cliquer sur le bouton New.... Donner un nom a la lib et choisir un repertoire de stockage pour son fichier de definition (XML) qui sera genere par JBuilder (repertoire racine du projet ou home directory ou repertoire de JBuilder). Puis cliquer sur le bouton Add... et selectionner, le ou les fichiers JAR appropies. Cliquer ensuite sur Ok. Tu peux maintenant editer les autres proprietes de la lib (repertoire de la doc, dependance avec d'autres libs, ...) qui sont disponibles via les onglets sur le panneau de droite. Quand c'est fini, cliquer sur Ok.

    Editer les proprietes du projet en faisant click a droite l'icone du projet dans l'arborescence->Properties et dans l'onglet Path->Required Libraries rajouter la lib ainsi definie.

    Si tu as un fichier JAR defini dans ton projet, tu peux demander a ce que le contenu de la lib soit integralement recopie dans le JAR quand tu le crees en allant sur click a droite sur l'icone du jar dans l'arborescence->Properties...->Dependencies (a manier avec precaution nottament si tu utilises une lib composee de JAR signes et que tu compte signer egalement ton JAR : il y a conflit). Attention cependant ce n'est pas la meme chose qu'inclure le(s) JAR de la lib dans le JAR de ton application, ici ca recopie tout le contenu du JAR de la lib dans le JAR de ton application.

  13. #13
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Ok , merci à vous.

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

Discussions similaires

  1. Snmp sous Java?
    Par scholes dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 06/02/2009, 15h55
  2. protocole snmp et java
    Par maguie dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 30/10/2007, 11h22
  3. Comment utiliser des sources en fortran90 sous JAVA?
    Par dante66 dans le forum Général Java
    Réponses: 6
    Dernier message: 21/02/2007, 15h25
  4. Utilisation de class java sous delphi?
    Par loloryan dans le forum Delphi
    Réponses: 1
    Dernier message: 09/11/2006, 20h20
  5. Réponses: 2
    Dernier message: 05/04/2006, 12h49

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