F5 Graphs
Moderators: Developers, Moderators
F5 Graphs
Has anyone successfully put together an F5 Graph for GlobalStat's OID's? It's a Free BSD operating system. I the canned reports work like a charm. I have been successful with creating templates for most other devices, but I can't seem to get data on the OID's I get from my Mib Browser.
Any suggestions??
Thanks, Rich
Any suggestions??
Thanks, Rich
I think it's something else
I think it has something to do w/the XML query. When I add the DataQuery to the device, and do a verbose query, everything is there.
"+ Found item [ifIndex='RealTime'] index: 101 [from value]
+ Found item [ifIndex='Shermeta'] index: 97 [from value]
+ Found item [ifIndex='Starwood'] index: 100 [from value]
+ Found item [ifIndex='Surewest'] index: 116 [from value]"
I get 693, which are the number of pools I have on the BigIP. But only Success [45 Items, 45 Rows] 45 rows get installed in Cacti...Getting statistics is secondary to getting the entire index at this point.
Has anyone successfully gotten stats of the VirtualIP's and Pools? What does your xml template look like? I have created the thing by hand, and I am sure there is something wrong with it, I just can't figure it out.
"+ Found item [ifIndex='RealTime'] index: 101 [from value]
+ Found item [ifIndex='Shermeta'] index: 97 [from value]
+ Found item [ifIndex='Starwood'] index: 100 [from value]
+ Found item [ifIndex='Surewest'] index: 116 [from value]"
I get 693, which are the number of pools I have on the BigIP. But only Success [45 Items, 45 Rows] 45 rows get installed in Cacti...Getting statistics is secondary to getting the entire index at this point.
Has anyone successfully gotten stats of the VirtualIP's and Pools? What does your xml template look like? I have created the thing by hand, and I am sure there is something wrong with it, I just can't figure it out.
If you are trying to write an XML Template to query the Proxies/Virtual Servers/Pools on an F5 BigIP, you won't be able to get it working yet. Right now Cacti doesn't support Indexes that are more than one value (F5 uses a 5 value index). The problem with the F5 is that the OID will be like:
<BaseOID>.<IPAddr>.<Port> (i.e. <BaseOID>.127.0.0.10.80)
The current data query only wants to see:
<BaseOID>.<value>
I believe Ian is trying to re-write the data query function to be able to support things like this, but I don't know if there are any timeframes for getting it done and in a future release.
<BaseOID>.<IPAddr>.<Port> (i.e. <BaseOID>.127.0.0.10.80)
The current data query only wants to see:
<BaseOID>.<value>
I believe Ian is trying to re-write the data query function to be able to support things like this, but I don't know if there are any timeframes for getting it done and in a future release.
Thanks for some more insite Jcaeser, I wonder if you could comment on the following:
OK, I think I see what you mean when you are talking about querying any IP information and it getting caught up in the BASE-OID
snmpwalk -c Sp33dpaySNMP -v2c 10.18.95.135 .1.3.6.1.4.1.3375.1.1.2.2.1.1
-----------------------<BaseOID>.-------<IPAddr>------= <Value>
SNMPv2-SMI::enterprises.3375.1.1.2.2.1.1.10.18.71.242 = IpAddress: 10.18.71.242
SNMPv2-SMI::enterprises.3375.1.1.2.2.1.1.10.18.71.253 = IpAddress: 10.18.71.253
But, if I do a query on Pool Name-
I get the name. The BaseOID doesn't seem to contain an IP Address (*although I
do understand what you mean b/c I see this when I query just the pure IP Address*).
So being able to get the name, and the packets and/or bits for each row.
I'd think cacti would be happy? No?
Please let me know what you think.
[cactiuser@netops01a cacti]$ snmpwalk -c Sp33dpaySNMP -v2c 10.18.95.135 .1.3.6.1.4.1.3375.1.1.7.2.1.1
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.1.3.68.78.66 = STRING: "DNB"
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.1.3.69.67.71 = STRING: "ECG"
PACKETS INBOUND ON POOL
[cactiuser@netops01a cacti]$ snmpwalk -c Sp33dpaySNMP -v2c 10.18.95.135 .1.3.6.1.4.1.3375.1.1.7.2.1.9
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.9.3.68.78.66 = Counter32: 1267317
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.9.3.69.67.71 = Counter32: 8826
BITS INBOUND ON POOL
[cactiuser@netops01a cacti]$ snmpwalk -c Sp33dpaySNMP -v2c 10.18.95.135 .1.3.6.1.4.1.3375.1.1.7.2.1.5
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.5.3.68.78.66 = Counter32: 1247725984
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.5.3.69.67.71 = Counter32: 8343944
My guess is, the
"Index" would be : .1.3.6.1.4.1.3375.1.1.7.2.1.1
And the Pkts Output fields: .1.3.6.1.4.1.3375.1.1.7.2.1.9
And the Bits output Field:.1.3.6.1.4.1.3375.1.1.7.2.1.5
What do you think?
OK, I think I see what you mean when you are talking about querying any IP information and it getting caught up in the BASE-OID
snmpwalk -c Sp33dpaySNMP -v2c 10.18.95.135 .1.3.6.1.4.1.3375.1.1.2.2.1.1
-----------------------<BaseOID>.-------<IPAddr>------= <Value>
SNMPv2-SMI::enterprises.3375.1.1.2.2.1.1.10.18.71.242 = IpAddress: 10.18.71.242
SNMPv2-SMI::enterprises.3375.1.1.2.2.1.1.10.18.71.253 = IpAddress: 10.18.71.253
But, if I do a query on Pool Name-
I get the name. The BaseOID doesn't seem to contain an IP Address (*although I
do understand what you mean b/c I see this when I query just the pure IP Address*).
So being able to get the name, and the packets and/or bits for each row.
I'd think cacti would be happy? No?
Please let me know what you think.
[cactiuser@netops01a cacti]$ snmpwalk -c Sp33dpaySNMP -v2c 10.18.95.135 .1.3.6.1.4.1.3375.1.1.7.2.1.1
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.1.3.68.78.66 = STRING: "DNB"
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.1.3.69.67.71 = STRING: "ECG"
PACKETS INBOUND ON POOL
[cactiuser@netops01a cacti]$ snmpwalk -c Sp33dpaySNMP -v2c 10.18.95.135 .1.3.6.1.4.1.3375.1.1.7.2.1.9
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.9.3.68.78.66 = Counter32: 1267317
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.9.3.69.67.71 = Counter32: 8826
BITS INBOUND ON POOL
[cactiuser@netops01a cacti]$ snmpwalk -c Sp33dpaySNMP -v2c 10.18.95.135 .1.3.6.1.4.1.3375.1.1.7.2.1.5
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.5.3.68.78.66 = Counter32: 1247725984
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.5.3.69.67.71 = Counter32: 8343944
My guess is, the
"Index" would be : .1.3.6.1.4.1.3375.1.1.7.2.1.1
And the Pkts Output fields: .1.3.6.1.4.1.3375.1.1.7.2.1.9
And the Bits output Field:.1.3.6.1.4.1.3375.1.1.7.2.1.5
What do you think?
The index needs to be a unique value that identifies each "thing" you are querying for (interfaces, pools, etc.). When you look at how the interface query is set up for Cisco routers, like in interface.xml. The index value is just a single integer. Every interface in the router is assigned a number, and when you walk the OID used for the Index line, you get:
You add this IfIndex to the end of the BaseOID to get the statistic for the interface that is assigned that IfIndex number. For example, you can find out what the name of the interface is if you add the IfIndex to the end of the Description OID, which is: .1.3.6.1.2.1.2.2.1.2
If you look at the output of the snmpwalks that you put in your post, you'll see that the F5 uses the IP address (4 values) for the index. So the indexes for those two pools would be:
3.68.78.66 and
3.69.67.71
which are added to the end of the base OIDs for things like Inbound Packets for a Pool and Inbound Bits for a pool.
As I understand it, cacti isn't coded to be able to handle indexes that aren't just a single integer. So, even if you specify the correct OID to use as the Index, Cacti doesn't know how to use what the F5 gives back, so none of the queries are going to work. I think (not positive) what ends up happening is it only uses the last value (66 and 71, respectively) which obviously won't work as the index when the 3 previous numbers are missing. That is why the output you get back isn't correct.
That is why we'll have to wait for a future revision of Cacti before we'll be able to do a snmp query for F5 pools/virtual servers/proxies. Hope this makes sense.
Jamie
Code: Select all
# snmpwalk -v2c -c <string> <IP> .1.3.6.1.2.1.2.2.1.1
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifIndex.4 = INTEGER: 4
IF-MIB::ifIndex.5 = INTEGER: 5
IF-MIB::ifIndex.6 = INTEGER: 6
IF-MIB::ifIndex.7 = INTEGER: 7
IF-MIB::ifIndex.8 = INTEGER: 8
IF-MIB::ifIndex.9 = INTEGER: 9
IF-MIB::ifIndex.10 = INTEGER: 10
IF-MIB::ifIndex.11 = INTEGER: 11
IF-MIB::ifIndex.12 = INTEGER: 12
IF-MIB::ifIndex.18 = INTEGER: 18
IF-MIB::ifIndex.21 = INTEGER: 21
IF-MIB::ifIndex.22 = INTEGER: 22
IF-MIB::ifIndex.23 = INTEGER: 23
IF-MIB::ifIndex.24 = INTEGER: 24
IF-MIB::ifIndex.25 = INTEGER: 25
IF-MIB::ifIndex.26 = INTEGER: 26
Code: Select all
# snmpwalk -v2c -c <string> <IP> .1.3.6.1.2.1.2.2.1.2
IF-MIB::ifDescr.1 = STRING: FastEthernet0/0/0
IF-MIB::ifDescr.2 = STRING: FastEthernet0/0/1
IF-MIB::ifDescr.3 = STRING: Hssi0/1/0
IF-MIB::ifDescr.4 = STRING: TokenRing4/0/0
IF-MIB::ifDescr.5 = STRING: TokenRing4/0/1
IF-MIB::ifDescr.6 = STRING: TokenRing4/0/2
IF-MIB::ifDescr.7 = STRING: TokenRing4/0/3
IF-MIB::ifDescr.8 = STRING: TokenRing4/1/0
IF-MIB::ifDescr.9 = STRING: TokenRing4/1/1
IF-MIB::ifDescr.10 = STRING: TokenRing4/1/2
IF-MIB::ifDescr.11 = STRING: TokenRing4/1/3
IF-MIB::ifDescr.12 = STRING: Null0
IF-MIB::ifDescr.18 = STRING: Loopback0
IF-MIB::ifDescr.21 = STRING: Loopback254
IF-MIB::ifDescr.22 = STRING: T1 1/0/0
IF-MIB::ifDescr.23 = STRING: T1 1/0/1
IF-MIB::ifDescr.24 = STRING: Hssi1/1/0
IF-MIB::ifDescr.25 = STRING: Hssi0/1/0.144
IF-MIB::ifDescr.26 = STRING: Hssi0/1/0.150
3.68.78.66 and
3.69.67.71
which are added to the end of the base OIDs for things like Inbound Packets for a Pool and Inbound Bits for a pool.
PACKETS INBOUND ON POOL
[cactiuser@netops01a cacti]$ snmpwalk -c Sp33dpaySNMP -v2c 10.18.95.135 .1.3.6.1.4.1.3375.1.1.7.2.1.9
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.9.3.68.78.66 = Counter32: 1267317
SNMPv2-SMI::enterprises.3375.1.1.7.2.1.9.3.69.67.71 = Counter32: 8826
As I understand it, cacti isn't coded to be able to handle indexes that aren't just a single integer. So, even if you specify the correct OID to use as the Index, Cacti doesn't know how to use what the F5 gives back, so none of the queries are going to work. I think (not positive) what ends up happening is it only uses the last value (66 and 71, respectively) which obviously won't work as the index when the 3 previous numbers are missing. That is why the output you get back isn't correct.
That is why we'll have to wait for a future revision of Cacti before we'll be able to do a snmp query for F5 pools/virtual servers/proxies. Hope this makes sense.
Jamie
F5 Here
Hi Jamie,
I was in contact with Ian, apparently the new version of code recently posted will work with the F5. He tested and XML file against a box, with success. Going to work and write a few queries for other stuff. Thanks for the information earlier on. Ian's the Man.
Rich
I was in contact with Ian, apparently the new version of code recently posted will work with the F5. He tested and XML file against a box, with success. Going to work and write a few queries for other stuff. Thanks for the information earlier on. Ian's the Man.
Rich
/rjc
Re: F5 Here
I've posted XML and template for F5 virtual servers and SSL proxies. I've started a thread in this area for each of them. Only thing that still can't be done (at least I can't figure out the regular expression for it) is doing a query against the pools. I've posted some details on why this is a problem in the Virtual Server thread. But as long as you have a virtual server that references a pool, you should be fine.
Jamie
Jamie
Hi Jamie,
I was using MRTG to pull for SSL pools and Virtual Servers, it seemed to work fine. I'll have to take a look at your XML's. thanks for the contributions! As far as the pools go, my REGEX is limited to BGP, unfortunately.
Thanks again for the info. Wish I could have offered something to you.
Rich
I was using MRTG to pull for SSL pools and Virtual Servers, it seemed to work fine. I'll have to take a look at your XML's. thanks for the contributions! As far as the pools go, my REGEX is limited to BGP, unfortunately.
Thanks again for the info. Wish I could have offered something to you.
Rich
Who is online
Users browsing this forum: No registered users and 1 guest