Simple Web
 
  

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

o HTTP interface
o Command line interface
o C language Application Programmers Interface (api)
o Perl language API
o Output structure

To Do

* Structure of returned data
* Adding MIBs to a MIB base
* Adding new output encoding formats
* Unix only ..

Related projects

  • SMId
  • UT-FOID