Control: tag -1 + unreproducible moreinfo
Control: reassign -1 xymon

Hi David,

I've now managed to temporarily install xymon-client on a machine
which has:

* Xymon 4.3.27-3+b1
* systemd as init system
* These interfaces:

  → ifconfig | egrep '^[^ ]'
  enp0s25: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
  lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
  teredo: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1280
  wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

This should be close enough to your setup.

Axel Beckert wrote:
> xymond/rrd/do_ifstat.c, starting at line 21:
> 
>      19 /* eth0   Link encap:                                                 
> */
>      20 /*        RX bytes: 1829192 (265.8 MiB)  TX bytes: 1827320 (187.7 MiB 
> */
>      21 static const char *ifstat_linux_exprs[] = {
>      22         "^([a-z0-9]+(_[0-9]+)?:*|lo:?)\\s",
>      23         "^\\s+RX bytes:([0-9]+) .*TX bytes.([0-9]+) ",
>      24         "^\\s+RX packets\\s+[0-9]+\\s+bytes\\s+([0-9]+) ",
>      25         "^\\s+TX packets\\s+[0-9]+\\s+bytes\\s+([0-9]+) "
>      26 };
> 
> Note that the trailing colon is already supported in line 22. That
> clearly marks our initial suspicion as wrong. Even later:
> 
>     216                                 /* Strip off the last character if it 
> is a colon (:) */
>     217                                 if (ifname[strlen(ifname)-1] == ':') 
> ifname[strlen(ifname)-1] = '\0';
> 
> But then again that line 22 looks it should just accept names like
> "wlp4s0".

And it does accept them and works as expected for. These files have
been newly created on the server side:

# ls -l /var/lib/xymon/rrd/test/*ifstat*
-rw-r--r-- 1 xymon xymon 38560 Jan 18 19:49 
/var/lib/xymon/rrd/test/ifstat.enp0s25.rrd
-rw-r--r-- 1 xymon xymon 38560 Jan 18 19:46 
/var/lib/xymon/rrd/test/ifstat.teredo.rrd
-rw-r--r-- 1 xymon xymon 38560 Jan 18 19:46 
/var/lib/xymon/rrd/test/ifstat.wlp3s0.rrd

See also the attached image.

On the server side I have the xymon package version 4.3.28~rc2-1 (from
Debian experimental) running on a Raspberry Pi.

So I unfortunately can't reproduce your issue. In contrary: Works as
expected.

But then again, until my findings in the code mentioned above, we
expected the issue to be in the client. But since the client just
sends the unmodified ifconfig output, the issue must be on the server
side. So I wonder:

Which version of Xymon do you have running on the server side?

Is the server side also running Xymon 4.3.27? Or is it running an
earlier version than the client, e.g. 4.3.17 from Debian 8 Jessie?

According to git blame on the "upstream" branch of Debian's xymon
packaging repository, the proper parsing of these interface names got
added with Xymon 4.3.22-beta (which also means that xymon
4.3.17-6+deb8u1 in Debian 8 Jessie can't parse these interface names):

-       "^([a-z]+[0123456789.:]*|lo:?)\\s",
+       "^([a-z0-9]+(_[0-9]+)?:*|lo:?)\\s",

Interestingly the colon was already before.

I though found no according hint on that change in the according
upstream changelog entry:

  Changes from 4.3.21 -> 4.3.22-beta (29 Oct 2015)
  ===========================================
  
  * rev 7708
  
  * Ensure we don't leave xymond_hostdata or xymond_history zombies lying around
    after dropping host records (Reported by Scot Kreienkamp)
  * Fix up HTML list layout to reflect current standards (Thanks, 
hal...@calyc3.com)
  * Fix documentation incorrectly describing multigraph syntax as (e.g.) 
GRAPH_cpu.
    Should be GRAPHS_cpu (Thanks, Galen Johnson)
  * Supports scientific notation for NCV data (Thanks, Axel Beckert)
  * Increase resolution of xymonnet poll timing results (Thanks, Christoph Berg)
  * New clock skew RRD files will allow for negative delta values (Thanks, Axel 
Beckert)
  * Fix lots of typos! (Debian)
  * Don't skip over "mailq.rrd" (Roland Rosenfeld)
  * The signature algorithm used on an SSL-enabled TCP test run by xymonnet is 
now shown
    on the sslcert page. (Thanks, Ralph Mitchell)
  * The cipher list displayed in 'sslcert' tests will now be limited to the 
cipher that was 
    actually used on the SSL connection. The --showallciphers option to 
xymonnet will
    restore the previous behavior. (From idea from Ralph Mitchell)
  * Provide configurable environment overrides in xymonserver.cfg for standard 
xymonnet 
    options to fping/xymonping, ntpdate, and traceroute binaries. In regular 
installs, the
    intended default options to traceroute (-n -q 2 -w 2 -m 15) were not 
actually used. This
    may change in a future release, so it's suggested that users move any 
custom options to 
    the new TRACEROUTEOPTS setting in xymonserver.cfg.
    (Orig. thanks, Axel Beckert, ntpdate issues pointed out by Matt Vander Werf)
  * Enable latent additional SHA digest strengths (sha256, sha512, sha224, 
sha384)
  * Don't crash generating wml cards for statuses w/ very long lines (Reported 
by Axel Beckert)
  * Flip SenderIP and Hostname columns on ghostlist pages to allow easier 
cutting and pasting
    to hosts files
  * Fix multiple disk volumes reported in on Darwin (OS X) clients. (Thanks, 
Axel Beckert)
  * Fix COMPACT parsing; update docs to match expected syntax (Thanks, Brian 
Scott)
  * Trailing slash no longer required for URL alias 
("http://www.example.com/xymon"; should work)
  * A new XYMONLOCALCLIENTOPTS variable in xymonclient.cfg allows options 
(e.g., --no-port-listing)
    to be given to xymond_client when running in local client mode.
  * Add a method to indicate lines which should be skipped by the NCV RRD 
processor or
    which mark the end of data-to-be-processed in the message.
  * Ensure that nostale is passed down during graph zooming (Thanks, Stef Coene)
  * Add missing XMH_DATA in loadhosts (Thanks, Jacek Tomasiak)
  * Search in more locations for default environment files when using xymoncmd
  * Add a "noflap" override to disable flap detection for any/all tests on a 
given host (Thanks, Martin Lenko)
  * Simplify default HTTP error code settings for xymonnet (2xx = green; 3xx = 
yellow; 4xx/5xx = red)
  * The protocol.cfg entry for RDP network tests has been updated and should 
work again (Thanks, Rob Steuer)
  * Add UDP ports to netstat output returned from darwin clients (Mac OS X)
  * Fixes to df/inode parsing on darwin clients (Mac OS X) (Thanks, Jason White 
et al.)
  * Add httphdr= tag to hosts.cfg to inject arbitrary headers into xymonnet 
HTTP tests for that host.
  * Turn memory test yellow if nonsensical numbers are found (>100% used for 
'Actual' or Swap)
  * "optional include" and "optional directory" support actually added
  * xymongrep: load from the hosts.cfg file and error if unable, unless 
--loadhostsfromxymond is specified
  * Collect number of total cores in client data

                Regards, Axel
-- 
 ,''`.  |  Axel Beckert <a...@debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE

Reply via email to