I’m used to dealing with SNMP. I’ve worked with three or four monitoring and graphing applications in the past, all of them being open source. I’ve mapped IP addresses to interface indexes, and back again. I’ve created RRD files from the command line, and I learned to transmit my own custom SNMP traps to management servers.
I can recognise a lot of OIDs by sight nowadays. I recognize them, because I am usually forced to type them into those open source network managing applications. Sometimes it works, sometimes it doesn’t.
Almost every open source graphing program out there knows how to do ifInOctets and ifOutOctets. MRTG set the standard on that one. With the availability of RRDTool, we have a flooded market of tools that graph all sorts of network statistics just like MRTG did.
But what I don’t see are tools that can handle more complex SNMP polling situations. When the open source programs fail, I find myself being forced to write my own polling program (usually in Perl) that runs independently from the main polling program.
I wrote a program to monitor an SNMP device, because OpenNMS couldn’t deal with a broken SNMP agent implementation. I wrote a program to monitor a Network Appliance, because MRTG couldn’t easily re-create the “Operations Per Second” statistic. The list goes on and on.
What I need is one single polling program that can accomplish all of these tasks.
- Properly merge high and low 32 bit counters.
- Read a MIB file.
- Perform mathematical operations on retrived values before saving.
- Successfully navigate a SNMP table index (an index that uses a string of sub-identifiers).
If there’s one program out there that can easily do all this, I haven’t found it yet. But then again, there are so many programs out there, I may have missed one.
Give me your feedback. Find me the program that does the job.