|
|
|
Introduction
SimpleMIB is an SNMP MIB definition lookup service.
It makes it possible for Network Management software to look up the MIB
definition of a symbol, be it a
managed object, a type definition, a macro definition or any other
symbol defined in a MIB, by using a fast precompiled MIB 'database'.
Lookups can be made for Module name / Object name combinations,
Fully qualified numerical Identifiers, MIB module Identity,
Import data, entire MIB modules, etc.
The returned data was already parsed for correctness when entered into
the database, so the application can safely use it. The type of encoding can
be specified in the query, and can currently be chosen from xml, php, perl,
python, tcl, and C, but this is easily extensible to other encodings.
Network Management applications can use the service in the following ways:
- Via the HTTP protocol over a network connection
- Linking a library to the application and performing function calls.
- Forking an external program to do the work and using the resulting
data.
- Manual lookup of definitions via a command line application
- HTML-formatted lookup via a Web browser
Background
In order to manage SNMP-capable devices, Network Management applications
have to have access to (a sometimes large) collection of MIB definition
files, which have to be 'compiled' into the application. This means
parsing and validating all required MIB files and loading them into an
internal data structure, after which they can be used for the actual work
of the application.
In many situations a lot of data has to be parsed and
stored for just a relatively small number of objects that have to be managed,
but for which a relatively large amount of code, CPU cycles and data
structure space has to be used. To speed up this process, management
applications
introduced their own pre-parsed MIB format, resulting in multiplication of
large quantities of MIB definition files when several different applications
of several different vendors or public sources are used.
The idea of the SimpleMIB (Which is not a MIB definition itself, mind
you ! Then its name would have been SIMPLE-MIB) now is to relieve
the management application (and its designer) of the burden of all
the MIB-handling code by providing a small and simple interface for looking
up objects etc by name or by numerical object ID. The application could
load the data it wants, cache it for later use too or reload it again
at a later time.
Key points summary
Encodings
- xml
- php
- perl
- python
- tcl
- java
- serialized
- html
Access possibilities
- client/server: http
- linkable library (static/shared)
- command line
- subprocess ( ~ command-line)
- html
Interfaces to
- perl
- python
- tcl
- java (not yet)
- C
- php (i.e builtin) (not yet)
- scotty (not yet)
- net-snmp (not yet)
- mrtg (not yet)
- (moodss) (not yet)
Features
- Speed
- Small footprint
- Knows all symbols in a MIB
- Lookup by name or Object ID
- Subfield selection (for example: 'give me just the Type Definition of 1.3.6.1.2.1.2.2.1.')
Details
HTTP interface
-
Command line interface
-
C language Application Programmers Interface (api)
-
Perl language API
-
Output structure
-
To Do
* Structure of returned data
* Adding MIBs to a MIB base
* Adding new output encoding formats
* Unix only ..
Related projects
|
|