2013-05-29 19 views
7

Ich habe eine MIB, die ich begann zu arbeiten, aber smilint beschwert sich über eine fehlende Konformitätsgruppe. Wie füge ich diese Konformitätsgruppe meiner Datei hinzu?SNMP MIB SMIv2 Conformance Group Problem

BLEH-PRODUCT-MIB DEFINITIONS ::= BEGIN 

-- Objects in this MIB are implemented in the local SNMP agent. 

    IMPORTS 
      MODULE-IDENTITY, OBJECT-TYPE, Integer32, enterprises 
        FROM SNMPv2-SMI; 

    blehProductMIB MODULE-IDENTITY 
    LAST-UPDATED "201305290000Z" 
    ORGANIZATION "Bleh Corporation" 
    CONTACT-INFO "   Joe Shmoe 
        Postal: Bleh Corporation 
           23 Telnet Road 
           Ottawa, ON, K1K 1K1 
           Canada 

        Tel:  +1 555 555 5555 x5555 
        Fax:  +1 555 555 5556 
        E-mail: [email protected]" 
    DESCRIPTION "MIB module describing Product objects." 
    REVISION "201305290000Z" 
    DESCRIPTION "Initial" 
    ::= { bleh 911 } 

    bleh    OBJECT IDENTIFIER ::= { enterprises 54321 } 

    productStatus OBJECT-TYPE 
      SYNTAX  OCTET STRING (SIZE (0..65535)) 
      MAX-ACCESS read-only 
      STATUS  current 
      DESCRIPTION "The status of the Product system 
         Details are shown as text" 
      ::= { blehProductMIB 1 } 


    binaryProductStatus OBJECT-TYPE 
      SYNTAX  Integer32 (0..1) 
      MAX-ACCESS read-only 
      STATUS  current 
      DESCRIPTION "The status of the Product system 
         Zero is unhealthy and One is healthy" 
      ::= { blehProductMIB 2 } 
END 

Ausgabe von smilint:

$ smilint ./BLEH-PRODUCT-MIB 
./BLEH-PRODUCT-MIB:28: warning: node `productStatus' must be contained in at least one conformance group 
./BLEH-PRODUCT-MIB:37: warning: node `binaryProductStatus' must be contained in at least one conformance group 

Antwort

7

Es bedeutet einfach, Sie sollten OBJECT-GROUP Einheiten vor dem Definieren OBJECT-TYPE Entitäten in Ihrem MIB Dokument definieren.

Nehmen RFC 1907 als Beispiel

http://tools.ietf.org/html/rfc1907

snmpGroup OBJECT-GROUP 
    OBJECTS { snmpInPkts, 
       snmpInBadVersions, 
       snmpInASNParseErrs, 
       snmpSilentDrops, 
       snmpProxyDrops, 
       snmpEnableAuthenTraps } 
    STATUS current 
    DESCRIPTION 
      "A collection of objects providing basic instrumentation and 
      control of an SNMPv2 entity." 
    ::= { snmpMIBGroups 8 } 

wird zunächst definiert, und dann

snmpInPkts OBJECT-TYPE 
    SYNTAX  Counter32 
    MAX-ACCESS read-only 
    STATUS  current 
    DESCRIPTION 
      "The total number of messages delivered to the SNMP entity 
      from the transport service." 
    ::= { snmp 1 } 

Über warum Gruppen sind wichtig, können Sie RFC 2580.

lesen

http://tools.ietf.org/html/rfc2580

Da Sie Gruppen definieren werden, wird das Hinzufügen der zugehörigen MODULE-COMPLIANCE empfohlen.

+0

Okay, aber was ist mit der Oid? Was soll ich einstellen? Wie vermeide ich auch die Objektgruppenreferenzwarnung? Brauche ich einen MODUL COMPLIANCE Abschnitt? –

+0

Es gibt keine strenge Regel für die OID-Auswahl, aber Sie können die Best Practices der Branche befolgen (z. B. den Cisco-Stil unter http://tools.cisco.com/Support/SNMP/do/BrowseMIB.do?local=en&step=2&submitClicked) = true & mibName = CISCO-IETF-DOT11-QOS-MIB # Abhängigkeiten). Da Sie Gruppen definieren werden, wird das Hinzufügen der zugehörigen MODULE-COMPLIANCE empfohlen. –

+0

Könnten Sie bitte die MODUL-COMPLIANCE-Sektion zu Ihrer Antwort hinzufügen, damit ich sie akzeptieren kann? –