T.R | Title | User | Personal Name | Date | Lines |
---|
715.1 | See TCP/IP SNMP Acess Module Use | TAEC::STANARD | | Tue May 13 1997 15:51 | 30 |
| Uwe,
The only documentation of the MIB translator is found in the
TCP/IP SNMP Acess Module Use (AA-Q9HCC-TE). There is not a specific
MIB II translator, but rather the utility determines based on the contents of
the file being compiled which MIB syntax should be used. There are several of
the SNMPV2 datatypes that are not supported by the compiler, and are documented
in Section 9.3.3, Standards Compliance for SNMP V2.
o The BITS construct is not supported
o The data type Counter64 is not supported
o The new SNMPv2 standard MIB objects (replacing or augmenting MIB I
and II) are not automatically available in TeMIP Framework.
o If the definition of any of these MIB objects is needed for reference
in the SNMPv2 private MIB extension, its definition must be included
in the private MIB.
The SNMP Access module does not yet support the SNMP V2 protocol, but can
compile SNMPV2 MIB definitions (within the documented restrictions).
The key to which syntax is used is the use of the MODULE-IDENTITY keyword as
the first definition. If it exists, the rest of the file will be interpreted
using MIB II syntax rules. If not, then MIB I will be used.
Hope this helps,
Bob Stanard
|
715.2 | | NNTPD::"[email protected]" | Uwe Noffke | Wed May 14 1997 10:50 | 145 |
| Hello, Bob,
Thanks for your answer. The reason for me to ask for the MIB translator docu
is the following:
In a project for the German Telecom we are implementing an eSNMP subagent with
a private MIB. Within that MIB we define some tables like the one given below:
--
-- table structure for all non interactive KDT processes
-- (status attributes for child entity KDT)
--
kdtProzessTabelle OBJECT-TYPE
SYNTAX SEQUENCE OF KdtProzessEintrag
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Liste aller nicht interaktiven Prozesse der Anwendung
KDT"
::= { kdt 2 }
kdtProzessEintrag OBJECT-TYPE
SYNTAX KdtProzessEintrag
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Die Spalten der nicht interaktiven KDT-Prozesstabelle."
INDEX { kdtProzessIndex }
::= { kdtProzessTabelle 1 }
KdtProzessEintrag ::= SEQUENCE {
kdtProzessIndex
INTEGER,
kdtProzessName
DisplayString,
kdtProzessZustand
INTEGER,
kdtProzessHost
DisplayString
}
kdtProzessIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Index des nicht interaktiven Prozesses der Anwendung KDT.
EXAMPLE: 5"
::= { kdtProzessEintrag 1 }
kdtProzessName OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Name des nicht interaktiven Prozesses der Anwendung KDT.
EXAMPLE: BVIN_KDT_"
::= { kdtProzessEintrag 2 }
kdtProzessZustand OBJECT-TYPE
SYNTAX INTEGER
{
aktiv(1),
nicht-aktiv(2)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Zustand des nicht interaktiven KDT-Prozesses.
EXAMPLE: aktiv"
::= { kdtProzessEintrag 3 }
kdtProzessHost OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Rechner des nicht interaktiven KDT-Prozesses.
EXAMPLE: INSMP0"
::= { kdtProzessEintrag 4 }
The MIB translator translates the table given above into the child entity
definition shown below:
CHILD ENTITY kdtProzessTabelle = 2 :
IDENTIFIER = ( kdtProzessIndex),
DYNAMIC = TRUE,
SYMBOL = EN36_2_15_22_1_1_100_6_2,
IDENTIFIER ATTRIBUTES
ATTRIBUTE kdtProzessIndex = 5 : Integer32
ACCESS = NONSETTABLE,
DISPLAY = TRUE,
CATEGORIES = (CONFIGURATION),
SYMBOL = EN36_2_15_22_1_1_100_6_2_1_5_ID,
SNMP_OID = {1 3 6 1 4 1 36 2 15 22 1 1 100 6 2 1 5}
END ATTRIBUTE kdtProzessIndex;
END ATTRIBUTES;
CHARACTERISTIC ATTRIBUTES
ATTRIBUTE kdtProzessName = 2 : DisplayString
ACCESS = NONSETTABLE,
DISPLAY = TRUE,
CATEGORIES = (CONFIGURATION),
SYMBOL = EN36_2_15_22_1_1_100_6_2_1_2,
SNMP_OID = {1 3 6 1 4 1 36 2 15 22 1 1 100 6 2 1 2}
END ATTRIBUTE kdtProzessName;
ATTRIBUTE kdtProzessZustand = 3 : kdtProzessZustand_enm
ACCESS = NONSETTABLE,
DISPLAY = TRUE,
CATEGORIES = (CONFIGURATION),
SYMBOL = EN36_2_15_22_1_1_100_6_2_1_3,
SNMP_OID = {1 3 6 1 4 1 36 2 15 22 1 1 100 6 2 1 3}
END ATTRIBUTE kdtProzessZustand;
ATTRIBUTE kdtProzessHost = 4 : Integer32
ACCESS = NONSETTABLE,
DISPLAY = TRUE,
CATEGORIES = (CONFIGURATION),
SYMBOL = EN36_2_15_22_1_1_100_6_2_1_4,
SNMP_OID = {1 3 6 1 4 1 36 2 15 22 1 1 100 6 2 1 4}
END ATTRIBUTE kdtProzessHost;
END ATTRIBUTES;
INCLUDE mcc_tcpip_am_show.ms;
INCLUDE mcc_tcpip_am_reference.ms;
INCLUDE mcc_tcpip_am_register.ms;
END ENTITY kdtProzessTabelle;
Now this is not exactly what we expected nor is it what we need.
Is there any way to force the MIB translator to translate the table definition
f.e. into a SET OF RECORD? Well, this could be done of course by manually
editing the resulting MSL files but I'm not sure wether the SNMP AM can handle
the SET OF RECORD datatype or not.
Do you have any comments on this, Bob?
Regards
Uwe
[Posted by WWW Notes gateway]
|
715.3 | Here is a table example | TAEC::STANARD | Bob Stanard - MCI/Mission Critical- CSC/Colorado | Thu May 15 1997 10:35 | 77 |
| Uwe,
Here is an example of a MIB that includes what I believe is what you want.
Currently the SNMP AM does not have the facility to convert a trap from an
indexed variable into a specific managed object, but this facility is currently
in external field test, and is targeted for delivery with TeMIP V3.2.
(This of course is no a committment by engineering...blah, blah, blah)
Hope this helps.
Bob
IMPORTS
enterprises
FROM RFC1155-SMI
OBJECT-TYPE
FROM RFC-1212
TRAP-TYPE
FROM RFC-1215;
ent999 OBJECT IDENTIFIER ::= { enterprises 999 }
myobjects OBJECT IDENTIFIER ::= { ent999 1 }
osivars OBJECT IDENTIFIER ::= { myobjects 1 }
processInstanceTable OBJECT-TYPE
SYNTAX SEQUENCE OF ProcessInstanceEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Defines a table for a set of unix application processes.
Each row corresponds to one process instance,
and to the Managed Object OSI Alarm field.
More precisely, the table corresponds to the Managed Object
Class, while the table INDEX variable identifies the Managed
Object Instance."
::= { osivars 4 }
processInstanceEntry OBJECT-TYPE
SYNTAX ProcessInstanceEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry (row) in the processInstanceTable."
INDEX {processIndex}
::= { processInstanceTable 1 }
ProcessInstanceEntry ::=
SEQUENCE {
processIndex
INTEGER,
processState
INTEGER
}
processIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Identifies the unix application process."
::= { processInstanceEntry 1 }
processState OBJECT-TYPE
SYNTAX INTEGER {
initializing(1),
running(2),
waiting(3),
terminating(4)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The state of the application process."
::= { processInstanceEntry 2 }
|
715.4 | MIB Table representation within Iconic Map | NNTPD::"[email protected]" | Uwe Noffke | Fri May 16 1997 12:09 | 16 |
| Bob,
Thanks for the table example. What troubles me is the visual representation of
that table of processes on the Iconic Map. I get a (maybe very large) list of
process instances. If I want to see the process state I have to select the
instances one by one and submit a SHOW directive for each of them. That's not
quite user-friendly, is it? Is there a way to display all process states of
all process instances at once i.e. within one window?
Since we need the eSNMP subagent to replace an existing solution we have a
strong requirement to minimize the changes to the user interface.
Regards,
Uwe.
[Posted by WWW Notes gateway]
|
715.5 | Not with the current version | TAEC::STANARD | Bob Stanard - MCI/Mission Critical- CSC/Colorado | Fri May 16 1997 19:31 | 15 |
| Hi Uwe,
I agree, that with the current version you are stuck with a rather ugly
method of collecting the element status. That is what the changes that are being
made to the AM are all about. The new behavior that will be implemented is to
allow the managed object to be selected via a trap variable (or variables, as it
supports more than one index), and allow the alarm severity (also mapable
through a trap variable), to control the visual representation of the managed
object. So, for example, if a process on a system goes away, the agent on that
system sends a trap with the proper index for the effected process and the
severity in enterprise specific trap variables, and the visual representation on
the map is affected without having to explicitly display the status using a
show.
Bob
|