Cisco CBWFQ monitoring
Moderators: Developers, Moderators
Hi, I'm using one policy-map containing serveral classes (8) and apply it to ~30 dot1q VLAN subinterfaces.
This looks great in IOS where I can get individual info for every subinterface with:
"#show policy-map interface gigabitEthernet 0/1.100" for instance.
It seems to me like the cbwfq.pl script is not interface oriented but class oriented. It starts with checking what classes we have and then reading (I guess) only the first appearance of that classes values.
The thing is that the MIB has statistics for each subinterface even though it's the same policy map and classes.
Does anybody know a way to get per-subinterface CBWFQ statistics when using the same policy and classes?
This looks great in IOS where I can get individual info for every subinterface with:
"#show policy-map interface gigabitEthernet 0/1.100" for instance.
It seems to me like the cbwfq.pl script is not interface oriented but class oriented. It starts with checking what classes we have and then reading (I guess) only the first appearance of that classes values.
The thing is that the MIB has statistics for each subinterface even though it's the same policy map and classes.
Does anybody know a way to get per-subinterface CBWFQ statistics when using the same policy and classes?
-
- Posts: 1
- Joined: Fri Jul 08, 2005 4:34 pm
Cisco CBWFQ monitoring
I have just got the CBWFQ monitoring resolved and I know what you mean however this is not as starightforward as it may seem. Firstly you would need to run the following command on the cisco platforms to stop the ifindex in snmp changing.
snmp-server ifindex persist
Next problem is you need to map the queues per interface which is no mean feat. The attached link explains how this is done -
http://lists.ee.ethz.ch/mrtg/msg24544.html
I have been trying to find a nice solution to the same problem but get to the same point as you have. I have to map many interfaces with 4 queues on a 7600 which I can do manually but not automatically. I don't do the code thing so I can't work out the way to compile the xml or perl scripts but I am not too bad on Cisco or SNMP so I have access to some Cisco kit and would not object to any testing.
snmp-server ifindex persist
Next problem is you need to map the queues per interface which is no mean feat. The attached link explains how this is done -
http://lists.ee.ethz.ch/mrtg/msg24544.html
I have been trying to find a nice solution to the same problem but get to the same point as you have. I have to map many interfaces with 4 queues on a 7600 which I can do manually but not automatically. I don't do the code thing so I can't work out the way to compile the xml or perl scripts but I am not too bad on Cisco or SNMP so I have access to some Cisco kit and would not object to any testing.
Almost there
We have managed to create some dirty code that does the work we thought we needed. It uses SNMP.pm "-- Perl 5 interface to the net-snmp toolkit" ver 5.2.1 which gives it some speed compared to the scripts using external snmpwalk.
Would really apprecieate if somebody with a sense for coding had a peek and made it look good.
The script works with a router that has one policy on multiple interfaces, it does currently not handle a router with multiple policies.
Our current problem is the integration with cacti.
We have a working data query that lists sub interfaces that has QoS configured and the interfaces' alias (Cisco descr).
We have a data input method that uses the attached script with <IP> <comm> <QoS internal int index from data query>. The problem is that the QoS internal int index from data query is not passed on to the data input method script.
Have we misunderstood something basic in cacti thinking?
Would really apprecieate if somebody with a sense for coding had a peek and made it look good.
The script works with a router that has one policy on multiple interfaces, it does currently not handle a router with multiple policies.
Our current problem is the integration with cacti.
We have a working data query that lists sub interfaces that has QoS configured and the interfaces' alias (Cisco descr).
We have a data input method that uses the attached script with <IP> <comm> <QoS internal int index from data query>. The problem is that the QoS internal int index from data query is not passed on to the data input method script.
Have we misunderstood something basic in cacti thinking?
- Attachments
-
- ciscoqos.zip
- script
- (1.13 KiB) Downloaded 1712 times
PW
QOS Windows
Hi, good template...
Can you help me to translate this Template to run on windows ?
I believe thae I need to change cbwfq.pl, because there is error when I run the command inmode DOS (this is a test)
C:\>perl c:\cacti\scripts\cbwfq.pl 192.168.1.1 mctyunt query class
No community name specified.
USAGE: snmpwalk [OPTIONS] AGENT [OID]
Version: 5.2.1
Thanks a lot
Can you help me to translate this Template to run on windows ?
I believe thae I need to change cbwfq.pl, because there is error when I run the command inmode DOS (this is a test)
C:\>perl c:\cacti\scripts\cbwfq.pl 192.168.1.1 mctyunt query class
No community name specified.
USAGE: snmpwalk [OPTIONS] AGENT [OID]
Version: 5.2.1
Thanks a lot
CLRGomes
From Brazil
From Brazil
QOS Windows
Guys,
I solved my problem.
Look:
OLD => = `$snmppath -v $version -c $node $comm $ilist_oid`
NEW => = `$snmppath -v $version -c $comm $node $ilist_oid`
You need to change "$node".
Thanks
I solved my problem.
Look:
OLD => = `$snmppath -v $version -c $node $comm $ilist_oid`
NEW => = `$snmppath -v $version -c $comm $node $ilist_oid`
You need to change "$node".
Thanks
CLRGomes
From Brazil
From Brazil
Files
Please,
I did the graphs with QoS Class OK
Now I need help to use the other files:
I used:
Import : cacti_data_query_cisco_get_cbwfq_classes
/cacti/resource/script_queries/cbwfq.xml
/cacti/scripts/cbwfq.pl
And the files:
cacti_data_template_cbwfq_throughput.xml
cacti_graph_template_cisco_bits_output_from_qos_class.xml
cacti_host_template_cisco_router.xml
With this template, will I do only graphs about the "Class" ?
Please can anybody explain ?
Thanks
I did the graphs with QoS Class OK
Now I need help to use the other files:
I used:
Import : cacti_data_query_cisco_get_cbwfq_classes
/cacti/resource/script_queries/cbwfq.xml
/cacti/scripts/cbwfq.pl
And the files:
cacti_data_template_cbwfq_throughput.xml
cacti_graph_template_cisco_bits_output_from_qos_class.xml
cacti_host_template_cisco_router.xml
With this template, will I do only graphs about the "Class" ?
Please can anybody explain ?
Thanks
CLRGomes
From Brazil
From Brazil
another script for multi interface multi policy-map
This is another script based on the original one
the changes are
1. it can monitor class with the same name on diferent interfaces
2. I remove the filterstring because I dont need it.
3. It run much faster when it get the output because it only snmpget one value not snmpwalk few times.
4. it can also monitor drop rate of the class-map just add new graph template and change your xml.
It need more developmant if we want it will look better but it work for me.
The current data query should work with this script but backup you your DB before you change the script because it come without any warranty
Thanks
Nitzan
the changes are
1. it can monitor class with the same name on diferent interfaces
2. I remove the filterstring because I dont need it.
3. It run much faster when it get the output because it only snmpget one value not snmpwalk few times.
4. it can also monitor drop rate of the class-map just add new graph template and change your xml.
It need more developmant if we want it will look better but it work for me.
The current data query should work with this script but backup you your DB before you change the script because it come without any warranty
Thanks
Nitzan
- Attachments
-
- cbq-multiint.rar
- (1.71 KiB) Downloaded 1575 times
Here is beter looking script now with XML and data query template
To install
1. put the cbwfq.pl in your cacti scripts directory
2. cbwfq.xml in resource/script_queries/
3. import the data query template to your cacti
Nitzan
To install
1. put the cbwfq.pl in your cacti scripts directory
2. cbwfq.xml in resource/script_queries/
3. import the data query template to your cacti
Nitzan
- Attachments
-
- cbwfq.zip
- cbwfq.zip
- (5.85 KiB) Downloaded 2591 times
I seem to having a strange issue and wanted to find out if others were as well. I have tried pwozney's templates and script and am able to get some graphs. I try moonman's since I would like to see some per interface graphs and I get no graphs. In fact it doesnt even create any RRD's when using moonman's templates and scripts.
Im not sure which screens you want me to share. Here is what I have done... I imported the template, copied the script and xml file into the right locations, and set up the data input method. When I add this data query to a host, it does show me the names of the classes and from which interface they belong. When I try to graph them, rather than showing the previously shown name, it now shows |query_class| instead. At this point, I let it run for a while to get some data and when I check the graphs, they are all red x's. I check the graph debug and it states that the rrd's can not be found.
When I use the original templates, script, and xml, I can generate graphs and they get data and all that good stuff. The only problem I have with this is that the script is slow sometimes and cactid has issues with it after 296 seconds.
I would like to use your script with the orginal templates since your script is supposed to be faster.
-sohailb
When I use the original templates, script, and xml, I can generate graphs and they get data and all that good stuff. The only problem I have with this is that the script is slow sometimes and cactid has issues with it after 296 seconds.
I would like to use your script with the orginal templates since your script is supposed to be faster.
-sohailb
Who is online
Users browsing this forum: No registered users and 1 guest