Here's what I have configured:
if 2 restarts within 10 cycles then exec "/usr/local/bin/pagerduty-trigger
frontendlogger"
else if succeeded then exec "/usr/local/bin/pagerduty-trigger frontendlogger"
but when I do monit validate it throws following error:
/etc/monit/conf.d/frontendLogger.conf:19: syntax error 'else'
The else in the above configuration is the 19th line.
Here's the whole file, in case it helps
----- START -----
check process frontendLogger matching frontendLogger
start program = "/bin/systemctl start frontendLogger"
stop program = "/bin/systemctl stop frontendLogger"
restart program = "/bin/systemctl restart frontendLogger"
group nodejs
if failed host 127.0.0.1 port 10500 protocol http
request /ping
content = "PONG"
with timeout 2 seconds
for 2 times in 4 cycles
then restart
if failed host vr.com port 443 type TCPSSL protocol http
request /logger/ping
content = "PONG"
with timeout 2 seconds
for 2 times within 4 cycles
then restart
if 2 restarts within 10 cycles then exec "/usr/local/bin/pagerduty-trigger
frontendlogger"
else if succeeded then exec "/usr/local/bin/pagerduty-trigger frontendlogger"
if does not exist for 3 times in 10 cycles then exec
"/usr/local/bin/pagerduty-trigger frontendlogger"
else if succeeded then exec "/usr/local/bin/pagerduty-trigger frontendlogger"
if changed pid for 3 times in 10 cycles then exec
"/usr/local/bin/pagerduty-trigger frontendlogger"
else if succeeded then exec "/usr/local/bin/pagerduty-trigger frontendlogger"
if memory > 70 MB for 3 cycles then exec "/usr/local/bin/pagerduty-trigger
frontendlogger"
else succeeded then exec "/usr/local/bin/pagerduty-trigger frontendlogger"
if cpu > 1% for 3 cycles then exec "/usr/local/bin/pagerduty-trigger
frontendlogger"
else if succeeded then exec "/usr/local/bin/pagerduty-trigger frontendlogger"
----- END -----
________________________________
From: monit-general <[email protected]>
on behalf of Rui Lapa <[email protected]>
Sent: Thursday, June 16, 2016 4:49 PM
To: This is the general mailing list for monit
Subject: Re: Syntax for else if
ELSE IF SUCCEEDED THEN
not
ELSE IF <test> THEN
On Thu, Jun 16, 2016 at 11:17 AM, Mehul Ved
<[email protected]<mailto:[email protected]>> wrote:
Hello,
I am configuring pagerduty integration with monit and have run into a
roadblock while setting it up. As per the pagerduty documentation,
- to trigger a new incident, we need to add
if does not exist for 3 cycles
then exec "/etc/monit/pagerduty-trigger crond"
which works fine.
- to automatically mark the issue as resolved, we need to add
else if passed for 3 cycles
then exec "/etc/monit/pagerduty-resolve crond"
but this causes syntax error.
So, I looked up the monit documentation at
https://mmonit.com/monit/documentation/monit.html and it shows the following
syntax:
IF <test> THEN <action> [ELSE IF SUCCEEDED THEN <action>]
and this causes validation error as well.
I went through the changelog as well as the issue list on bitbucket but failed
to find any information on the same. Has anything changed? Did I miss something
here?
documentation - M/Monit<https://mmonit.com/monit/documentation/monit.html>
mmonit.com<http://mmonit.com>
Version 5.18. NAME; SYNOPSIS; DESCRIPTION; WHAT TO MONITOR? GENERAL OPERATION.
Options; Arguments; THE MONIT CONTROL FILE. Service checks. Process; File;
Fifo; Filesystem
--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general
--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general