snmp, dmi, dmtf & EMS/NMSs etc...

Carlos Ribeiro cribeiro at mail.inet.com.br
Wed May 9 08:42:01 EDT 2001


At 11:16 09/05/01 +0530, GADGIL PRASAD     /INFRA/INFOTECH wrote:
>Does anyone have any experiences in the related field to share, will be
>happy to know.

I work in a telecom company in Brazil. My job isn't directly related to 
network management, but from time to time I have to do some work with NMS, 
so take my experience with a (large) grain of salt.

The NMS architecture - be it HP Open View, Tivoli, or CA Unicenter - is as 
full of acronyms as Windows is of bugs. Most of these applications behave 
as large umbrellas where you can "integrate" new modules. By integrating, 
one should does not expect a seamless experience. It's a painfull process, 
full of operating system fiddling, database tuning, script writing, and so 
on. The end result is nice when seen from the outside - beautiful screens, 
network maps and alarm views. Inside you have a tangle of scripts, 
sometimes in TCL (used extensively in HP OpenView), sometimes in Perl, C++ 
or Java. I remember seeing MRTG being used inside a big $$$ corporate 
application as the performance monitor.

Rants aside, things that are important to know (in my humble and personal 
opinion :-)

- SNMP and MIBs. I'm not joking. I have seen enough network management 
professionals who don't have a clue about how do SNMP work. Even worse - 
many of them are unable to search for the information they need inside a 
MIB. Playing with command line tools (such as snmpwalk and snmpget) it's a 
great way to learn a lot. There is also a nice SNMP implementation in 
Python, that has a nice advantage: it runs also on Windows, which makes it 
easier for the developer. You can find snmpwalk for Windows also, but the 
Python script makes experimentation easier, because the values are returned 
in Python lists, ready for processing.

- There is a nice library called libsmi, that can handle MIB files and 
generate Java, Perl or Python source code from them. The code that is 
generated isn't magic, but it is a start - it simply declares some 
variables/classes/dictionaries that mimic the MIB information. It saves a 
lot of typing :-)

- CORBA. Many of these big NMSs work over some ORB (Object Request Broker) 
of some sort. CORBA is the standard, and I know that some of the NMSs above 
area already working with CORBA. A good understanding of how the ORB works 
helps a lot.

- Java - well, I don't have any personal experience with Java. But I know 
that some big NMS have turned to Java, and there are some good libraries 
for this area. I hope someone else answer this for you :-)

- DMBS - Depending on what you are doing, it should be easy to interface 
the NMS from the DB side. Many NMSs uses Informix or Oracle as a backend. 
You should be able to find the documentation of the DB schema. Install a 
few drivers, and you can explore the DB using ODBC and Access. That's a 
nice way to learn and to prototype reports and small applications.


It should be possible for you to extend the NMS using any language/toolkit 
of your choice, given that you use some of the interfaces described. If you 
want to extend the NMS with new reports, you should be able to make it 
using only the DBMS interface. However, if you want something more 
interactive, you're going to have to understand the NMS API. I think I've 
lost my appetite for lunch today :-P


Carlos Ribeiro






More information about the Python-list mailing list