[Xymon] Why IGNORE HOST and EXHOST work differently with UNMATCHED?

Märt Laak mart.laak at active.ee
Tue Aug 4 09:57:29 CEST 2015


So you actually suggest to write two rules instead of one, like this:
---
HOST=somehost EXSERVICE=someservice
  MAIL admin at domain.com

HOST=* EXHOST=somehost
  MAIL admin at domain.com
---

IMHO this "hostrules plus catch-all rule with these hosts excepted" 
makes rule writing more complex and error-prone than with one catch-all 
rule with several IGNORE-s needed. As I said for human eye they seem 
equal (only catch-all rule with ignores is more readable).

But, can somebody point the use-case where this "IGNORE is not part of 
rule and therefore is blocking UNMATCHED to trigger" behavior is 
actually useful and needed?
As I said, IMHO this behavior leads to unwanted non-alerting only.

Man page says about UNMATCHED:
---
UNMATCHED - The alert is sent to this recipient ONLY if no other 
recipients received an alert for this event.
---
No mention of IGNORE is blocking UNMATCHED. So I somehow suggest not 
only me was confused...

Can this behavior be considered to be changed (or configurable in 
xymonserver.cfg)? I volunteer to be alpha-tester...

Märt

On 3.08.2015 23:00, Mike Burger wrote:
> If you want to exclude someservice on a specific host, don't you use:
>
> HOST=somehost EXSERVICE=someservice
>     MAIL supervisor at domain.com
>
> On 2015-08-03 3:04 pm, Märt Laak wrote:
>> Thank you for explaining things, Jeremy!
>>
>> But don't you think this behavior can easily lead to unwanted
>> non-alerting?
>>
>> And, more important, IMHO makes impossible to exclude alerts based
>> multiple types together.
>>
>> Consider if admin does not want to be alerted on somehost.someservice.
>> How to configure that?
>>
>> Fe. This does not work:
>> ---
>> HOST=* EXHOST=somehost EXSERVICE=someservice
>>   MAIL admin at domain.com
>>
>> HOST=*
>>   MAIL supervisor at domain.com UNMATCHED
>> ---
>> Using this construction admin does not get alert on
>> somehost.someotherservice, not to mention that all other host
>> someservice-s are also ignored. However, supervisor gets alerted
>> correctly.
>>
>> I could rewrite this so that admin is happy:
>> ---
>> HOST=*
>>   IGNORE HOST=somehost SERVICE=someservice
>>   MAIL admin at domain.com
>>
>> HOST=*
>>   MAIL supervisor at domain.com UNMATCHED
>> ---
>> But in this case supervisor is not happy, as he gets no alerts when
>> nobody is alerted (as he expects by UNMATCHED) - on
>> somehost.someservice nobody gets alerted.
>>
>> So please help me how to configure alerts in this situation?
>>
>> With kindest regards,
>> Märt
>>
>> On 3.08.2015 4:25, Jeremy Laidman wrote:
>>> I think this can be explained from the man page:
>>>
>>> "IGNORE - This is used to define a recipient that does NOT trigger any
>>> alerts, and also terminates the search for more recipients."
>>>
>>> What this means is that the rule matched the host "somehost" but the
>>> alert for the recipient was suppressed.  The fact that it matched means
>>> that the UNMATCHED rule will not be invoked.
>>>
>>> By contrast, the EXHOST causes the rule to not match "somehost", hence
>>> will match the UNMATCHED rule.
>>>
>>> I hope this explains.
>>>
>>> Cheers
>>> Jeremy
>>>
>>>
>>> On 31 July 2015 at 16:34, Märt Laak <mart.laak at active.ee
>>> <mailto:mart.laak at active.ee>> wrote:
>>>
>>>     Hi Henrik and others who help to develop this invaluable piece of
>>>     software, Xymon!
>>>
>>>     I've been used BB more than 15 years for now and now trying to
>>>     migrate to Xymon because it seems more flexible and powerful to me.
>>>     Now I'm in the middle of converting my existing (fairly complex)
>>>     bbwarnrules to alerts.cfg
>>>
>>>     Everything works great except some strange to me cases with
>>> UNMATCHED.
>>>
>>>     For example, if you look at these two configurations - they seem
>>>     similar to human eye:
>>>
>>>     1: using IGNORE
>>>     ---
>>>     HOST=*
>>>        IGNORE HOST=somehost
>>>        MAIL admin at domain.com
>>>
>>>     HOST=*
>>>        MAIL supervisor at domain.com UNMATCHED
>>>     ---
>>>
>>>     2: using EX...
>>>     ---
>>>     HOST=* EXHOST=somehost
>>>        MAIL admin at domain.com
>>>
>>>     HOST=*
>>>        MAIL supervisor at domain.com UNMATCHED
>>>     ---
>>>
>>>     However, the first (IGNORE HOST) construction does NOT send alert to
>>>     supervisor at admin.com <mailto:supervisor at admin.com> in case of
>>>     somehost alert, as expected.



More information about the Xymon mailing list