+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Inscrit en
    octobre 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : octobre 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut Lister OID et les comparer à une valeur

    Bonjour à tous,

    Je découvre le perl (habitude du VB) et je galère.

    Je dois faire un script pour nagios qui liste tous les "sous-oid" de 1.3.6.1.4.1.9.9.150.1.1.3.1.2 et comparer chaque valeur de sous-oid avec une valeur que je passe en paramètre.

    Comment jouer avec les OID en perl? Si quelqu'un à une piste, je suis preneur.

    Merci.

  2. #2
    Expert Confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mai 2012
    Messages
    1 424
    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 : 1 424
    Points : 3 372
    Points
    3 372
    Billets dans le blog
    1

    Par défaut

    Bonjour,

    à quoi ressemble un sous-OID?
    Mes articles sur La programmation fonctionnelle en Perl publiés sur ce site:

    ________
    Sauf mention contraire explicite, les bouts de code que je poste en réponse à une question n'ont pas forcément été testés.

  3. #3
    Invité de passage
    Inscrit en
    octobre 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : octobre 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut

    Citation Envoyé par Lolo78 Voir le message
    Bonjour,

    à quoi ressemble un sous-OID?
    Si l'utilisateur est connecté, il apparait dans un sous-oid de 1.3.6.1.4.1.9.9.150.1.1.3.1.2 (ex: 1.3.6.1.4.1.9.9.150.1.1.3.1.2.1245)
    Il s'agit d'une chaine de caractère incluant un @ (c'est un email)

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 912
    Points : 491 149
    Points
    491 149

    Par défaut

    Je ne sais pas si tu peux trouver ton bonheur ici.

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  5. #5
    Expert Confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mai 2012
    Messages
    1 424
    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 : 1 424
    Points : 3 372
    Points
    3 372
    Billets dans le blog
    1

    Par défaut

    Peut-être quelque chose dans ce genre:

    Code :
    1
    2
    3
    my $oid = '1.3.6.1.4.1.9.9.150.1.1.3.1.2';
    my $val = '1.3.6.1.4.1.9.9.150.1.1.3.1.2.1245';
    print $1 if $val =~ /${oid}\.(\d+)$/;
    Ce qui imprime:

    Mes articles sur La programmation fonctionnelle en Perl publiés sur ce site:

    ________
    Sauf mention contraire explicite, les bouts de code que je poste en réponse à une question n'ont pas forcément été testés.

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    juillet 2002
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : juillet 2002
    Messages : 83
    Points : 51
    Points
    51

    Par défaut

    Hello,

    tu peux trouver la suite des OID de cette façon là:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    use Net::SNMP;
     
    $oid = "1.3.6.1.4.1.9.9.150.1.1.3.1.2";
    ($session, $error) = Net::SNMP->session( -hostname  => $host,
    					-community => $community,
    					-version   => 'v2c',
    					-timeout   => 2,
    					-retries   => 3,
    					-translate => [-all => 0],
    					);
     
    die "ERROR : $error" if ($error);
     
    $result = $session->get_table( -baseoid => $oid );
     
    print Dumper($result);
    et tes users ainsi:
    je pense qu'avec ca, tu devrais arriver à avoir tous tes users

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •