[Xymon] Annyoing logic in alerts.cfg

Even Hauge Juberg even.juberg at ntnu.no
Thu Mar 30 16:02:16 CEST 2017


Thank you for your suggestions and help, but sadly this leaves me just as stumped as before. The emails that are sent to me, all stem from the same two lines in alerts.cfg, which both look like this:

MAIL even.juberg at ntnu.no DURATION>5  COLOR=red

Sincerely
Even

Fra: Henrik Størner [mailto:henrik at hswn.dk]
Sendt: torsdag 30. mars 2017 13.12
Til: Even Hauge Juberg <even.juberg at ntnu.no>
Kopi: xymon at xymon.com
Emne: Re: SV: [Xymon] Annyoing logic in alerts.cfg


Den 30-03-2017 13:01, Even Hauge Juberg skrev:
This has sent, since yesterday, 200 OK messages to my inbox. The result from the –dump-config looks like it would produce the result I want and need, but it just will not stop with the annoying “OK” messages.
Add the "--cfid" option to xymond_alert (in tasks.cfg). Then either restart Xymon entirely, or do a "kill -HUP " on the xymonlaunch process and then kill the existing xymond_alert process (it will then automatically restart with the new option enabled).
Next time you get one of these messages, the mail subject will include the linenumber of the rule in alerts.cfg which triggered the message.

Regards,
Henrik

Fra: Xymon [mailto:xymon-bounces at xymon.com] På vegne av Henrik Størner
Sendt: torsdag 30. mars 2017 12.12
Til: xymon at xymon.com<mailto:xymon at xymon.com>
Emne: Re: [Xymon] Annyoing logic in alerts.cfg

Den 27-03-2017 14:04, Even Hauge Juberg skrev:

*snippet from my alerts.cfg*


HOST=* RECOVERED=1
        IGNORE HOST=*

HOST=one-host SERVICE=http
        MAIL someuser at domain.local<mailto:someuser at domain.local> COLOR=red
        MAIL someuser at domain.local<mailto:someuser at domain.local> DURATION>5 COLOR=red

Several problems here.

  1.  "IGNORE" is for a recipient. If you want to exclude a host it is "EXHOST=". But having a "HOST=* EXHOST=*" does not make sense.
  2.  It is "RECOVERED" by itself, not "RECOVERED=1".
  3.  Judging from the whitespace (the blank line), you want the first "HOST=*" to be a rule by itself. It is not, a rule must have a recipient (MAIL or SCRIPT). So all of what you have from this bit of alerts.cfg go into one rule, and probably ends up being interpreted as all "http" alerts going to the two mail addresses, and both of them receiving recovery notifications. Try running "xymoncmd xymond_alert --dump-config" and see how the parsed configuration looks.
 What I'm trying to accomplish is to stop the "I'm OK - recovered" messages. Those messages are irrelevant, so I want those filtered out. The problem though, is that the logic is completely off on this point. The first rule for some reason takes presedense, even though I have explicitly told it to only use that rule IF the host has recovered, no?
I want it to skip that rule, if it has not yet recovered, send mail to the first user immediately, then to the other user after 5 minutes, but leave those users alone if the service is OK again. Is there a way to accomplish this?
If you don't want any messages about recovered hosts, just dont put "RECOVERED" anywhere in your config. They are not enabled by default.


If you want recovery messages for all of the recipients matching a rule, then put it on the rule specification. E.g.

HOST=one-host SERVICE=http RECOVERED
   MAIL adam at example.com<mailto:adam at example.com>
   MAIL eve at example.com<mailto:eve at example.com>

will send alerts and recovery notices to both Adam and Eve.


If you only want recovery notices sent to one recipient, then put it on that recipient:

HOST=one-host SERVICE=http
   MAIL adam at example.com<mailto:adam at example.com> RECOVERED
   MAIL eve at example.com<mailto:eve at example.com>

will send alerts to both Adam and Eve, but recovery messages only to Adam.


Regards,
Henrik



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20170330/2274e9b9/attachment.html>


More information about the Xymon mailing list