[Xymon] hostname retrieval is broken after adding a host

J.C. Cleaver cleaver at terabithia.org
Tue Feb 2 00:41:33 CET 2016


Hi,

Actually, I think I must have missed your final response on this at
http://lists.xymon.com/pipermail/xymon/2015-December/042787.html ; my
apologies.

On what's happening, I think this might be a side-effect of
https://sourceforge.net/p/xymon/code/7651/ , which added a dummy record
for the purposes of command-line --test functionality when the host
doesn't exist. For an incoming unknown host (from xymond_alert's
perspective), the same path is being executed.

The problem is that localhostinfo re-initializes the hostlist, which would
almost certainly cause problems somewhat similar to what you're describing
here. The attached patch should fix that (by only doing it if we're in
test mode). The only other place this is used is in xymond_client when
it's itself running in --local mode, in which case it doesn't have a
pre-existing tree to get corrupted and then exits immediately anyway.


This really calls for a re-factoring around host loading, but I'm leery of
too much direct modification in 4.3, this probably being caused by that
recent code.

Can you give it a test and let us know the result?


Regards,
-jc

On Mon, February 1, 2016 11:10 am, John Thurston wrote:
> This defect is getting to be a serious problem in my production Xymon.
>
> For specifics, see my notes of 20151201 and 20151214 :
> http://lists.xymon.com/pipermail/xymon/2015-December/042712.html
> http://lists.xymon.com/pipermail/xymon/2015-December/042787.html
>
> In general, adding a host to hosts.cfg corrupts the in-memory list of
> valid hosts. This causes other worker processes (specifically "alert")
> to fail. It doesn't fail _completely_. Some alerts continue to be sent,
> but there are footprints in the logs. I have a script watching for these
> footprints. When seen, I kill the "xymond_channel --channel=page"
> process, a new one is started, and business continues.
>
> I need to squash this bug.
>
> Is there a way to interactively run a worker process and have it hit the
> in-memory table of hostnames?
>
> If not, is there a way to spill the in-memory table of hostnames without
> using a debugger?
>
> Can anyone tell me which worker processes us the in-memory host list?
> --
>     Do things because you should, not just because you can.
>
> John Thurston    907-465-8591
> John.Thurston at alaska.gov
> Enterprise Technology Services
> Department of Administration
> State of Alaska
> _______________________________________________
> Xymon mailing list
> Xymon at xymon.com
> http://lists.xymon.com/mailman/listinfo/xymon
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: localalertmode.patch
Type: text/x-patch
Size: 2029 bytes
Desc: not available
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20160201/b882013e/attachment.bin>


More information about the Xymon mailing list