Salut,


J'ai essayé de comprendre comment créer une MIB SNMP:
J'ai créé une MIB, et j'ai essayé d'attribuer des valeurs aux nouvelles OID.

ci-dessous le code de MIB :
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
PING-TABLE-MIB DEFINITIONS ::= BEGIN
 
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Integer32, Opaque, enterprises  FROM SNMPv2-SMI
    SnmpAdminString                                   FROM SNMP-FRAMEWORK-MIB
    RowStatus, StorageType                            FROM SNMPv2-TC
    InetAddressType, InetAddress                      FROM INET-ADDRESS-MIB
;
 
xavier MODULE-IDENTITY
    LAST-UPDATED "200202060000Z"
    ORGANIZATION "STMicroelectronics"
    CONTACT-INFO   
    "postal:  Xavier Dumas
     email:    <a href="mailto:main.jaune@mageos.com">main.jaune@mageos.com</a>"
    DESCRIPTION
   "The XAV Demonstration MIB."
    ::= { enterprises 4890 }
 
pingTableAvgstore OBJECT-TYPE
    SYNTAX      SEQUENCE OF NetSnmpIETFWGEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
   "Entrée du tableau."
    ::= { xavier 1 }
 
Double ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Definition du type Double"
    SYNTAX Opaque (SIZE(11))
 
pingTableAvgEntry OBJECT-TYPE
    SYNTAX      PingTableAvgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
   "A row describing a given working group"
    INDEX   { pingAvgName }
    ::= {pingTableAvgstore 1 }
 
 
 
PingTableAvgEntry ::= SEQUENCE {
   pingAvgName   OCTET STRING,
   entier   INTEGER,
   entier   INTEGER,
   reels   Double
}
 
pingAvgName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
   "Sous nom de l’index"
    ::= { pingTableAvgEntry 1 }
 
entier OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
   "Nom du tableau commencant par l’OID 2"
    ::= { pingTableAvgEntry 2 }
 
entier OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
   " Nom du tableau commencant par l’OID 3"
    ::= { pingTableAvgEntry 3 }
 
reels OBJECT-TYPE
    SYNTAX      Double
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
   " Nom du tableau commencant par l’OID 4"
    ::= { pingTableAvgEntry 4 }
 
END
J'ai ensuite essayé de voir si le démon connaît cette nouvelle entreprise, et j'ai fait:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
snmpwalk -v 2c -c private 127.0.0.1 .1.3.6.1.4.1.4890.1.1
resulat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SNMPv2-SMI::enterprises.4890.1.1 = No Such Object available on this agent at this OID
Donc je suppose que snmpd me dit qu'il ne peut pas trouver quelque chose sous cet arbre, parce que rien n'a encore été établi.

J'ai donc essayer de définir cette variable de test avec snmpset sur le terminale shell:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
snmpset -v 2c -c private 127.0.0.1 .1.3.6.1.4.1.4890.1.1.2.\"mtdcsun0\" i 89
resultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: SNMPv2-SMI::enterprises.4890.1.23.2.8.109.116.100.99.115.117.110.48
et en tant que root, mais sans succès

Mais quand je fais un snmptranslate, je peux voir que le MIB est parsé correctement

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
 
    snmptranslate -IR -Tp xavier             
    +--xavier(4890)                              
       |                                    
       +--pingTableAvgstore(1)                        
          |                                 
          +--pingTableAvgEntry(1)                        
             |  Index: pingAvgName                     
             |                                 
             +-- ---- String    pingAvgName(1)               
             |        Size: 1..32                        
             +-- CR-- INTEGER   entier(2)                  
             +-- CR-- INTEGER   entier(3)                  
             +-- CR-- Opaque    reels(4)                  
                      Textual Convention: Double               
                      Size: 11
et voila le lien du tuto que j'ai poursuivi pour faire tout ca : http://archives.2037.org/viewtopic.php?t=82953

Merci de m'aider, c'est urgent