|
From: | David Jones |
Subject: | Re: Only one alert |
Date: | Sun, 1 Sep 2019 13:06:25 +0000 |
Since you are launching a script from monit, how about this approach?
check program webserver_vhosts with path "/usr/local/bin/checkvhosts.sh" every 4 cycles
if status > 0 then alert
Then in the checkvhosts.sh there could be something like this:
#!/bin/bash
VHOSTS="url1 url2 url3 url4"
ERRORS=0
for VHOST in $VHOSTS; do
/usr/lib64/nagios/plugins/check_http -H $VHOST -t 20 -f follow -u "/" -s Copyright
[[ "$?" -ne 0 ]] && ((ERRORS++))
done
exit $ERRORS
The key to what you are needing to do requires a web client that will send the host header to your web server. This could be wget, curl or a number of tools but it's more than a simple TCP port check.
That command above looks for the word "Copyright" in the web server output so adjust as needed.
Obviously this is using the nrpe-plugins tool check_http so install that package.
From: monit-general <monit-general-bounces+djones=address@hidden> on behalf of Paul van der Vlis <address@hidden>
Sent: Saturday, August 31, 2019 3:55 PM To: address@hidden <address@hidden> Subject: Re: Only one alert Hello Lutz, and others,
Op 30-08-19 om 22:01 schreef Lutz Mader: > Hello, > the answer is no, I think. > >> I want to monitor several sites on the same host, both http and https, >> but I want to get only one alert when there is a problem. Is that possible? > > But you can use a dummy service with multiple failed host tests. > > check process Server matching "sleep" > start program "/bin/ksh -c 'sleep 31536000 &'" with timeout 120 seconds > # stop program "" with timeout 120 seconds > if failed host mmonit.com port 80 then alert > if failed host google.com port 80 then alert > : > if failed host yahoo.com port 80 then alert I must say I do not understand what you are doing here. In your example you are using sites on different hosts. I want to monitor more sites (virtual hosts) on the same host. But when e.g. Apache is down, I don't want to get many alerts. > This will reduce the number of alerts, but you get an alert if one of > the hosts is not reachable. But I prefere the remote host check for all > hosts and use an additional tool to handle the notification requests. I am also executing a script. Can you tell more about what you do to avoid getting many alerts? With regards, Paul -- Paul van der Vlis Linux systeembeheer Groningen https://www.vandervlis.nl/ |
[Prev in Thread] | Current Thread | [Next in Thread] |