Datasources rolling over. why?

Post general support questions here that do not specifically fall into the Linux or Windows categories.

Moderators: Developers, Moderators

Post Reply
jwiegley
Posts: 31
Joined: Mon Feb 04, 2002 7:00 pm

Post by jwiegley »

I'm monitoring the OutOctets on a gigabit
ethernet port for a Foundry BigIron. When the OutOctets exceed something like 13MBytes the graph appears to "wrap".

I have the maximum values for these datasources/graphs set to 10^9. It also doesn't appear to wrap at exactly 10^8, or 10^8/8 or any 2^n. I might expect to wrap at 2^31 or even 2^30 bits per second but that doesn't seem to be the case.

If anybody has some ideas about this and how I could fix my graphs to show proper data rates I'ld love to hear it.
raX
Lead Developer
Posts: 2243
Joined: Sat Oct 13, 2001 7:00 pm
Location: Carlisle, PA
Contact:

Post by raX »

This sounds like it has to do with 32-bit vs. 64-bit counter support. I have recieved a patch for 64-bit counter support in cacti but will have to update it since some of the SNMP code has changed. If I can get this patch working ok, then I will release it along with 0.6.5.

-Ian
jwiegley
Posts: 31
Joined: Mon Feb 04, 2002 7:00 pm

Post by jwiegley »

Well I don't know if anything will fix it.
I think I worked out the numbers correctly.
It has to do with the polling interval.
114.5Mbits/sec generates exactly 2^32 octets every five minutes. I don't know whether or not the Foundry's own SNMP counters have any better resolution.
maybe if I poll more frequently I can get
correct graphs.
jjoosse
Posts: 1
Joined: Wed Feb 06, 2002 7:00 pm

Post by jjoosse »

I made a new polling script for collecting 64bit counters based on cmd_snmp_interface.php. For 64bit counters you have to use snmp version 2c (is supported by the snmpget command) and collect data from different OID's.

Diff between 64bit version and original (I hope it is readable):

--- cmd_snmp_interface.php Mon Jan 28 19:29:03 2002
+++ cmd_snmp_interface64.php Wed Feb 6 10:30:28 2002
@@ -20,6 +20,11 @@
+-------------------------------------------------------------------------+
| - raXnet - http://www.raxnet.net/ |
+-------------------------------------------------------------------------+
+| - Jan Kees Joosse (jjoosse@joosse.homeip.net): Use 64bits counters |
+| Use snmpget -v2c (snmp version 2c) and |
+| ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifHCInOctets |
+| ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifHCOutOctets |
++-------------------------------------------------------------------------+
*/?>
<?
/* INPUT: <in/out> <ip> <community> <ifdesc> <ifnum> */
@@ -80,9 +85,9 @@
}

if (strtolower($snmp_inout) == "in") {
- $snmp_octet_name = "ifInOctets";
+ $snmp_octet_name = "ifHCInOctets";
}elseif (strtolower($snmp_inout) == "out") {
- $snmp_octet_name = "ifOutOctets";
+ $snmp_octet_name = "ifHCOutOctets";
}

$sql_id = mysql_query("select i.* from snmp_hosts_interfaces i left join snmp_hosts h
@@ -92,9 +97,9 @@
$snmp_interface_number = mysql_result($sql_id, 0, "interfacenumber");
$path_snmpget = $config["path_snmpget"]["value"];

- $snmp_output_octets = `$path_snmpget $snmp_ip $snmp_community interfaces.ifTable.ifEntry.$snmp_octet_name.$snmp_interface_number`;
+ $snmp_output_octets = `$path_snmpget -v2c $snmp_ip $snmp_community ifMIB.ifMIBObjects.ifXTable.ifXEntry.$snmp_octet_name.$snmp_interface_number`;
$snmp_output_octets = ereg_replace(".*=","",$snmp_output_octets);
$snmp_output_octets = ereg_replace(".*:","",$snmp_output_octets);
raX
Lead Developer
Posts: 2243
Joined: Sat Oct 13, 2001 7:00 pm
Location: Carlisle, PA
Contact:

Post by raX »

I included a variation of this in version in 0.6.5 which you can utilize but using the 'hcin' and 'hcout' variables instead of 'in' and 'out'. You must enter these variables in the 'In/Out Data' field for the 'Get SNMP Network Data' data input source.

-Ian
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests