Hi,
Have been using Cacti and SNMP for some time, although only basic - have never tried to extend into anything advanced. However, I am now actively looking at traffic shaping monitoring using SNMP and Cacti.
I am currently pumping out data using a "pass" through SNMPD script. There are two variables, the "network interface" and the "class"; both of which vary from system to system.
My SNMP Tree will look something like this (with proper OID's, obviously):
.1.1.0 = Number of Interfaces (i.e. 4)
.1.1.1.E = Interface Name (i.e. .1 = eth0, .2 = eth1, .3 = tun0, etc)
.1.1.2.E = Number of Shaping "Classes" per interface (i.e. eth0 = 3, eth1 = 9, tun0 = 1)
.1.1.3.E.C.1 = Current bits/sec of each class (integer value)
.1.1.3.E.C.2 = Current "Rate Limit in bits/sec" for each class (integer value)
.1.1.3.E.C.3 = Current Burst Limit in bits/sec" for each class (integer value)
.1.1.3.E.C.4 = Current "Packets Per Second" for each class (integer value)
Where E = an index number for the interface (unique to the system)
and C = an index number for the class (unique to the interface only, duplicated across interfaces)
So, is this possible to interpret in Cacti and produce multiple classes across multiple interfaces on one graph? Ideally what I am looking for, I guess, is to be able to have 2 indexes on the SNMP data so the user gets two drop down boxes, to select interface and class.
Can I do something like that? Is there a better way to do this?
Thanks!
Multiple Indexes
Moderators: Developers, Moderators
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Re: Multiple Indexes
Two possible approaches: To get all infos you want, a Script Data Query will allow you to code a wrapper that does virtually everything for you (see first link of my signature).mufassa wrote: .1.1.3.E.C.1 = Current bits/sec of each class (integer value)
.1.1.3.E.C.2 = Current "Rate Limit in bits/sec" for each class (integer value)
.1.1.3.E.C.3 = Current Burst Limit in bits/sec" for each class (integer value)
.1.1.3.E.C.4 = Current "Packets Per Second" for each class (integer value)
Where E = an index number for the interface (unique to the system)
and C = an index number for the class (unique to the interface only, duplicated across interfaces)
But while in general, a multi-dimensional SNMP index is not possible with cacti, in this case there's a workaround. You may treat .1.1.3.E.C as an index. In this case, you will get lost of "grouping by interface or class", you will not be able to provide the interface name (as it only uses E as an index and not the combined one). To implement this, you will need to apply the OID/REGEXP feature for the XML <index> (see again first link of my signature, scroll down to the appropriate chapter)
Reinhard
Who is online
Users browsing this forum: No registered users and 6 guests