One of our clients uses a very large HP ProCurve 4108gl
switch as the central hub of their network. When I'm
looking at traffic graphs from it for large spaces of time,
I invariably see it pegged to +/- 20Gbps because of some
traffic spikes during the day (e.g. Windows clients talking
to WSUS and downloading their patches). If I zoom in on one
of the "empty" stretches of time, I see that there is
actually some traffic flowing – it's just so small in
comparison that it gets flatlined by the spikes. What I'd
like to be able to do is to change the graph from a linear
one in the Y (bps) axis to a logarithmic one, so I can see
my traffic. For example, here's the past 24 hours:
(The rrdtool command that produces this graph is truly
impressive and only crawls out of its blue box with the last
set of CDEF statements before the giant list of AREA
statements.)
(All graphs generated for this e-mail use the same time
span on the same hardware)
I know, I know, "Use the Source, Luke!", but I've only
watched the commits fly past, not actually dug into the code
past the config file (and this doesn't appear to be a
configuration option). rrdtool_graph() is called in three
places, and fortunately only defined in one. Applying the
obvious small patch:
Index: html/includes/graphs/graph.inc.php
===================================================================
--- html/includes/graphs/graph.inc.php
(revision 3268)
+++ html/includes/graphs/graph.inc.php
(working copy)
@@ -146,6 +146,7 @@
if ($rrd_options)
{
+ $rrd_options .= " --logarithmic";
rrdtool_graph($graphfile, $rrd_options);
if ($debug) { echo($rrd_cmd); }
if (is_file($graphfile))
Nets me this:
Which could probably use a little more tweaking. I'd
rather see SI "-bi-" units on the left rather than
scientific notation. Also, it does tend to whack the CPU
pretty hard figuring it all out, pegging both of the CPUs in
the old ml350 I'm using for monitoring. Running "rrdgraph"
at "nice +4" (or better) would likely be a win w/r/t data
collection.
This patch:
Index: html/includes/graphs/graph.inc.php
===================================================================
--- html/includes/graphs/graph.inc.php
(revision 3268)
+++ html/includes/graphs/graph.inc.php
(working copy)
@@ -146,6 +146,7 @@
if ($rrd_options)
{
+ $rrd_options .= " --logarithmic --units=si";
rrdtool_graph($graphfile, $rrd_options);
if ($debug) { echo($rrd_cmd); }
if (is_file($graphfile))
Nets this:
I'm pretty happy with this, overall.
For those who are curious, the ProCurve Switch 4108gl has
a claimed capacity of:
routing/switching capacity
36.6 Gbps
Throughput up to 71.4 mpps
Being able to tweak individual graphs to show
logarithmically would probably be nice, just to save some
CPU for graphs that don't really need it.
Cell: 913-787-7538
Desk: 913-948-8782