Xymon Mailing List Archive search

Checking clients from two proxies simultaneously

3 messages in this thread

list Christoph Zechner · Mon, 12 Jul 2021 15:04:52 +0200 ·
Hi,

I've got a few clients in a separate subnet which I want to check via two xymon servers (= proxies with multiple network interfaces) which then send the results to a central xymon server.

Client: X
Proxy 1: A
Proxy 2: B
Xymon Server: C


So A and B have their own network checks defined in tasks.cfg [1] for multiple networks, in this case "mgmt". Both A and B report their result for X to Server C, which works fine, as long as A and B are responsive.

If either A or B fail to successfully connect to X, connection checks on C turn red and fail. According to an old mailing list entry [2] all the checks' results should be merged at the server, or did I misunderstand?

I thought as long as A or B can connect fine to X, everything in xymon should be fine, because after all, target X is up. Is there any other way to achieve what I am trying to do?

Thanks in advance!

Best regards
Christoph Zechner


[1]
[xymonnetmgmt]
     ENVFILE /usr/lib/xymon/server/etc/xymonserver.cfg
     CMD XYMONNETWORK=mgmt xymonnet --report --ping --checkresponse --concurrency=4
     LOGFILE $XYMONSERVERLOGS/xymonnet.log
     INTERVAL 5m


[2] https://lists.xymon.com/archive/2006-May/006833.html
list Jeremy Laidman · Tue, 13 Jul 2021 09:09:37 +1000 ·
Christoph

In the post you mentioned, Henrick said, "You can have as many hosts doing
network tests as you like; as long as they report to the same Hobbit
server, the results will be merged together." By "merged" I think he meant
that different tests for the same target host would be merged together, but
I don't think he meant that results of the same test would be merged
together. He then went on to talk about splitting the network tests between
the two Hobbit systems - something that wouldn't be necessary if they would
be merged.

If you have the same test run from two different Xymon servers, each test
result simply replaces the previous one, so host B's red replaces host A's
green. They're not merged.

One way to handle this is to have two different pseudo-hosts that you test:
X-via-A and X-via-B. Server A has X-via-A in its hosts.cfg and Server B has
X-via-B in its hosts.cfg file. On C, you define X, X-via-A and X-via-B,
using 0.0.0.0 for the pseudo-hosts (and probably for X too, because you
can't connect directly to its IP address anyway). Then you can use
combo.cfg to create a combined test result like:

X.conn = (X\-via\-A.conn || X\-via\B.conn)

You'd probably need to set "noconn" for X in hosts.cfg.

Cheers
Jeremy
quoted from Christoph Zechner

On Mon, 12 Jul 2021 at 23:05, Christoph Zechner <user-249716582ccc@xymon.invalid> wrote:
Hi,

I've got a few clients in a separate subnet which I want to check via
two xymon servers (= proxies with multiple network interfaces) which
then send the results to a central xymon server.

Client: X
Proxy 1: A
Proxy 2: B
Xymon Server: C


So A and B have their own network checks defined in tasks.cfg [1] for
multiple networks, in this case "mgmt". Both A and B report their result
for X to Server C, which works fine, as long as A and B are responsive.

If either A or B fail to successfully connect to X, connection checks on
C turn red and fail. According to an old mailing list entry [2] all the
checks' results should be merged at the server, or did I misunderstand?

I thought as long as A or B can connect fine to X, everything in xymon
should be fine, because after all, target X is up. Is there any other
way to achieve what I am trying to do?

Thanks in advance!

Best regards
Christoph Zechner


[1]
[xymonnetmgmt]
     ENVFILE /usr/lib/xymon/server/etc/xymonserver.cfg
     CMD XYMONNETWORK=mgmt xymonnet --report --ping --checkresponse
--concurrency=4
     LOGFILE $XYMONSERVERLOGS/xymonnet.log
     INTERVAL 5m


[2] https://lists.xymon.com/archive/2006-May/006833.html

list Christoph Zechner · Tue, 13 Jul 2021 10:46:50 +0200 ·
Hi Jeremy,
quoted from Jeremy Laidman

On 13/07/2021 01:09, Jeremy Laidman wrote:
Christoph

In the post you mentioned, Henrick said, "You can have as many hosts doing network tests as you like; as long as they report to the same Hobbit server, the results will be merged together." By "merged" I think he meant that different tests for the same target host would be merged together, but I don't think he meant that results of the same test would be merged together. He then went on to talk about splitting the network tests between the two Hobbit systems - something that wouldn't be necessary if they would be merged.

If you have the same test run from two different Xymon servers, each test result simply replaces the previous one, so host B's red replaces host A's green. They're not merged.

One way to handle this is to have two different pseudo-hosts that you?test: X-via-A and X-via-B. Server A has X-via-A in its hosts.cfg and Server B has X-via-B in its hosts.cfg file. On C, you define X, X-via-A and X-via-B, using 0.0.0.0 for the pseudo-hosts (and probably for X too, because you can't connect directly to its?IP address anyway). Then you can use combo.cfg to create a combined test result like:
quoted from Jeremy Laidman

X.conn = (X\-via\-A.conn || X\-via\B.conn)

You'd probably need to set "noconn" for X in hosts.cfg.
You are a genius, this works perfectly, thank you very much. For anyone also interested in this solution: I added "nodisp" to the two pseudohosts in the main hosts file in order to hide them from the main view. They still show up in the conn status page of my real client (X) as separate clients with separate stati though.

Thank you very much!

Cheers
Christoph
quoted from Jeremy Laidman

Cheers
Jeremy

On Mon, 12 Jul 2021 at 23:05, Christoph Zechner <user-249716582ccc@xymon.invalid <mailto:user-249716582ccc@xymon.invalid>> wrote:

    Hi,

    I've got a few clients in a separate subnet which I want to check via
    two xymon servers (= proxies with multiple network interfaces) which
    then send the results to a central xymon server.

    Client: X
    Proxy 1: A
    Proxy 2: B
    Xymon Server: C


    So A and B have their own network checks defined in tasks.cfg [1] for
    multiple networks, in this case "mgmt". Both A and B report their
    result
    for X to Server C, which works fine, as long as A and B are responsive.

    If either A or B fail to successfully connect to X, connection
    checks on
    C turn red and fail. According to an old mailing list entry [2] all the
    checks' results should be merged at the server, or did I misunderstand?

    I thought as long as A or B can connect fine to X, everything in xymon
    should be fine, because after all, target X is up. Is there any other
    way to achieve what I am trying to do?

    Thanks in advance!

    Best regards
    Christoph Zechner


    [1]
    [xymonnetmgmt]
     ? ? ?ENVFILE /usr/lib/xymon/server/etc/xymonserver.cfg
     ? ? ?CMD XYMONNETWORK=mgmt xymonnet --report --ping --checkresponse
    --concurrency=4
     ? ? ?LOGFILE $XYMONSERVERLOGS/xymonnet.log
     ? ? ?INTERVAL 5m


    [2] https://lists.xymon.com/archive/2006-May/006833.html

    <https://lists.xymon.com/archive/2006-May/006833.html>;
    <