[Xymon] List of graphs of a devmon test is too long

W.J.M. Nelis Wim.Nelis at nlr.nl
Mon Mar 12 15:49:17 CET 2012


Hello,


A follow-up on my own question:

> we are using xymon 4.3.7 and devmon 0.3.1-beta1, r233. Some of the
> devmon tests on interfaces of switches and routers use the rrd collector
> of xymon. Those tests contain thus both a table and additionally one
> graph per interface. However, for *each* test using the devmon rrd
> collector there are three additional pointers to non-existing graphs.
> The number of additional non-existing graphs is thus independent of the
> number of interfaces being monitored.
>
> The following is the page source of a test to check for packet drops on
> 3 interfaces of a router:
>
> <TR><TD ALIGN=LEFT><H3>  Thu 2012.02.23 10:58:22</H3>
> <PRE>
>
> <b>Interface discards:</b>
> Input  discard load alert thresholds: yellow=5.0%, red=10.0%
> Output discard load alert thresholds: yellow=5.0%, red=10.0%
>
> <table border=1 cellpadding=5>
> <tr><th>If name</th><th>Packet rate in</th>  ...</tr>
>
> <tr><td>eth0</td><td>10.55</td>  ...</tr>
> <tr><td>eth1</td><td>18.05</td>  ...</tr>
>
> <tr><td>eth2</td><td>0.00</td>  ...</tr>
> <tr><td>wlan0</td><td>4.37</td>  ...</tr>
>
> </table>
> <!--DEVMON RRD: if_dsc 0 0
> DS:InDiscard:COUNTER:600:0:U DS:OutDiscard:COUNTER:600:0:U
> eth0 14585:0
> eth1 37:0
> eth2 0:0
> -->
>
> Note:
> Discard rate: Number of discards per second
> Discard load: Number of discards per packet
>
>
> Devmon version 0.3.1-beta1-r233 running on sodn164u
>
> </PRE>
> </TD></TR></TABLE>
> <br><br>
> <table align="center" border=0 summary="Status report info">
> <tr><td align="center"><font COLOR="#87a9e5" SIZE="-1">Status unchanged in 6 days,21 hours, 2 minutes<br>
> Status message received from 137.17.28.26<br>
> </font></td></tr>
> </table>
> <!-- linecount=6 -->
> <table summary="devmon:if_dsc Graph"><tr><td><A HREF="/xymon-cgi/showgraph.sh?host=nlrcve02-lan&service=devmon:if_dsc&graph_width=576&graph_height=120&first=1&count=1 ...
> <table summary="devmon:if_dsc Graph"><tr><td><A HREF="/xymon-cgi/showgraph.sh?host=nlrcve02-lan&service=devmon:if_dsc&graph_width=576&graph_height=120&first=2&count=1 ...
> <table summary="devmon:if_dsc Graph"><tr><td><A HREF="/xymon-cgi/showgraph.sh?host=nlrcve02-lan&service=devmon:if_dsc&graph_width=576&graph_height=120&first=3&count=1 ...
> <table summary="devmon:if_dsc Graph"><tr><td><A HREF="/xymon-cgi/showgraph.sh?host=nlrcve02-lan&service=devmon:if_dsc&graph_width=576&graph_height=120&first=4&count=1 ...
> <table summary="devmon:if_dsc Graph"><tr><td><A HREF="/xymon-cgi/showgraph.sh?host=nlrcve02-lan&service=devmon:if_dsc&graph_width=576&graph_height=120&first=5&count=1 ...
> <table summary="devmon:if_dsc Graph"><tr><td><A HREF="/xymon-cgi/showgraph.sh?host=nlrcve02-lan&service=devmon:if_dsc&graph_width=576&graph_height=120&first=6&count=1 ...
>
>
> The (very) long lines have been truncated, at the "...", to enhance the
> readability. In subdirectory ~xymon/data/rrd/nlrcve02-lan there are 3
> RRDs, not 6.
>
> How xymon does determine the linecount, 6 in the example above, is not
> clear to me. However, it is the number of lines in the HTML comment
> section containing the RRD data, which is always 3 more than the number
> of interfaces.
>
> How can I configure xymon in such a way that the number of graphs
> matches the number of interfaces?
I've modified Devmon to send a linecount too. The patch to module 
dm-tests.pm is:

Index: dm_tests.pm
===================================================================
--- dm_tests.pm (revision 85)
+++ dm_tests.pm (working copy)
@@ -2118,10 +2119,11 @@
          for my $name (keys %rrd) {

            my $set_data = '';
-          my $temp_data = '';
+          my $temp_data= '';
            my $dir      = $rrd{$name}{'dir'};
            my $pri      = $rrd{$name}{'pri'};
            my $do_max   = $rrd{$name}{'do_max'};
+          my $linecount= 0 ;

            do_log("Couldn't fetch primary oid for rrd set $name")
              and next if $pri eq 'pri';
@@ -2151,10 +2153,12 @@
              $set_data .= "$pri_val ";
              $set_data .= "$temp_data";
              $set_data =~ s/:$/\n/;
+            $linecount++ ;

            }

            $set_data =~ s/[\/&+\$]/_/gs;
+          $msg .= "<!-- linecount=$linecount -->\n" ;
            $msg .= "$header\n$set_data-->\n";

          }

Using this patch, there are no more broken graphs.

Regards,
   Wim Nelis.




******************************************************************************************************************

The NLR disclaimer is valid for NLR e-mail messages.

This message is only meant for providing information. Nothing in this e-mail message amounts to a contractual
or legal commitment on the part of the sender.
This message may contain information that is not intended for you. If you are not the addressee or if this
message was sent to you by mistake, you are requested to inform the sender and delete the message.
Sender accepts no liability for damage of any kind resulting from the risks inherent in the electronic
transmission of messages.
 
******************************************************************************************************************




More information about the Xymon mailing list