Different timeouts per HTTP check
Hi,
I'm using a few HTTP checks to see how fast (and if) a website responds. However, some are known to be slower than others and I want therefor some sites not to trigger an alert or at least not if it doesn't respond in 10 seconds, but for instance 20 seconds. How can I achieve this for 1 check, not globally for all HTTP checks?
Best regards,
Wouter
On Wed, Apr 29, 2009 at 2:37 AM, Wouter Schoot <wouter at schoot.org> wrote:
Hi,
I'm using a few HTTP checks to see how fast (and if) a website responds. However, some are known to be slower than others and I want therefor some sites not to trigger an alert or at least not if it doesn't respond in 10 seconds, but for instance 20 seconds. How can I achieve this for 1 check, not globally for all HTTP checks?
I don't think you can do that at present, not with the builtin HTTP check. On the other hand, an external script can do whatever you can dream up. Here's something similar to what I set up for about 2500 web server checks:
Parent script:
#!/bin/bash /home/hobbit/server/ext/bb-url.sh 10 server1.domain.com /home/hobbit/server/ext/bb-url.sh 20 server2.domain.com ..... etc.....
Child script:
#!/bin/bash
curl -s -S -L -m $1 -o /dev/null http://$2
if [ "$?" -ne "0" ]; then
COLOR=red
MESSAGE="something bad happened: url=http://$2"
else
COLOR=green
MESSAGE="everything is ok: url=http://$2"
fi
$BB $BBDISP "status $2.http $COLOR date
$MESSAGE"
Obviously that can get a lot more complicated. You'd need to kick off the parent script by adding a section to the server/etc/hobbitlaunch.cfg file. Or you could do what I did and have the parent script run by cron, which makes it easier to schedule the checks to run at specific times.
Ralph Mitchell
I'm graphing the output of server-status. Very good information!
Josh Luthman Office: 937-552-2340 Direct: 937-552-2343 1100 Wayne St Suite 1337 Troy, OH 45373
Those who don't understand UNIX are condemned to reinvent it, poorly. --- Henry Spencer
On Wed, Apr 29, 2009 at 2:15 PM, Ralph Mitchell <ralphmitchell at gmail.com>wrote:
On Wed, Apr 29, 2009 at 2:37 AM, Wouter Schoot <wouter at schoot.org> wrote:
Hi,
I'm using a few HTTP checks to see how fast (and if) a website responds. However, some are known to be slower than others and I want therefor some sites not to trigger an alert or at least not if it doesn't respond in 10 seconds, but for instance 20 seconds. How can I achieve this for 1 check, not globally for all HTTP checks?
I don't think you can do that at present, not with the builtin HTTP check. On the other hand, an external script can do whatever you can dream up. Here's something similar to what I set up for about 2500 web server checks:
Parent script:
#!/bin/bash /home/hobbit/server/ext/bb-url.sh 10 server1.domain.com /home/hobbit/server/ext/bb-url.sh 20 server2.domain.com ..... etc.....
Child script:
#!/bin/bash curl -s -S -L -m $1 -o /dev/null http://$2 if [ "$?" -ne "0" ]; then COLOR=red MESSAGE="something bad happened: url=http://$2" else COLOR=green MESSAGE="everything is ok: url=http://$2" fi $BB $BBDISP "status $2.http $COLOR
date$MESSAGE"Obviously that can get a lot more complicated. You'd need to kick off the parent script by adding a section to the server/etc/hobbitlaunch.cfg file. Or you could do what I did and have the parent script run by cron, which makes it easier to schedule the checks to run at specific times.
Ralph Mitchell
It gets better - check out the "-w" option for curl. You can get back the actual amount of time taken to set up the connection and several other things. Ralph Mitchell
On Wed, Apr 29, 2009 at 1:33 PM, Josh Luthman <josh at imaginenetworksllc.com>wrote:
I'm graphing the output of server-status. Very good information!
Josh Luthman Office: 937-552-2340 Direct: 937-552-2343 1100 Wayne St Suite 1337 Troy, OH 45373
Those who don't understand UNIX are condemned to reinvent it, poorly. --- Henry Spencer
On Wed, Apr 29, 2009 at 2:15 PM, Ralph Mitchell <ralphmitchell at gmail.com>wrote:
On Wed, Apr 29, 2009 at 2:37 AM, Wouter Schoot <wouter at schoot.org> wrote:
Hi,
I'm using a few HTTP checks to see how fast (and if) a website responds. However, some are known to be slower than others and I want therefor some sites not to trigger an alert or at least not if it doesn't respond in 10 seconds, but for instance 20 seconds. How can I achieve this for 1 check, not globally for all HTTP checks?
I don't think you can do that at present, not with the builtin HTTP check. On the other hand, an external script can do whatever you can dream up. Here's something similar to what I set up for about 2500 web server checks:
Parent script:
#!/bin/bash /home/hobbit/server/ext/bb-url.sh 10 server1.domain.com /home/hobbit/server/ext/bb-url.sh 20 server2.domain.com ..... etc.....
Child script:
#!/bin/bash curl -s -S -L -m $1 -o /dev/null http://$2 if [ "$?" -ne "0" ]; then COLOR=red MESSAGE="something bad happened: url=http://$2" else COLOR=green MESSAGE="everything is ok: url=http://$2" fi $BB $BBDISP "status $2.http $COLOR
date$MESSAGE"Obviously that can get a lot more complicated. You'd need to kick off the parent script by adding a section to the server/etc/hobbitlaunch.cfg file. Or you could do what I did and have the parent script run by cron, which makes it easier to schedule the checks to run at specific times.
Ralph Mitchell
You can use the "NET:" keyword (see the bb-hosts man page) to set up an alternate network check. In the stanza within hobbitlaunch.cfg that launches the bbtest-net that is associated with the new set of network checks you can set an alternate timeout.
Thanks, Larry Barber
On Wed, Apr 29, 2009 at 2:37 AM, Wouter Schoot <wouter at schoot.org> wrote:
Hi,
I'm using a few HTTP checks to see how fast (and if) a website responds. However, some are known to be slower than others and I want therefor some sites not to trigger an alert or at least not if it doesn't respond in 10 seconds, but for instance 20 seconds. How can I achieve this for 1 check, not globally for all HTTP checks?
Best regards,
Wouter
To unsubscribe from the hobbit list, send an e-mail to hobbit-unsubscribe at hswn.dk
Unless something changed recently, the NET keyword allows you to specify which of several Hobbit/Xymon servers performs network checks for a given host. I don't think it would do what the original poster wanted. Ralph Mitchell
On Wed, Apr 29, 2009 at 1:56 PM, Larry Barber <lebarber at gmail.com> wrote:
You can use the "NET:" keyword (see the bb-hosts man page) to set up an alternate network check. In the stanza within hobbitlaunch.cfg that launches the bbtest-net that is associated with the new set of network checks you can set an alternate timeout.
Thanks, Larry Barber
On Wed, Apr 29, 2009 at 2:37 AM, Wouter Schoot <wouter at schoot.org> wrote:
Hi,
I'm using a few HTTP checks to see how fast (and if) a website responds. However, some are known to be slower than others and I want therefor some sites not to trigger an alert or at least not if it doesn't respond in 10 seconds, but for instance 20 seconds. How can I achieve this for 1 check, not globally for all HTTP checks?
Best regards,
Wouter
To unsubscribe from the hobbit list, send an e-mail to hobbit-unsubscribe at hswn.dk
Using NET: the way I specified works fine, I have a similar situation, a few very slow web pages that tend to time out with the default settings, and that is how I handle the problem. I just use NET: to specify a different instance of bbtest-net, one with a longer timeout.
Thanks, Larry Barber
On Wed, Apr 29, 2009 at 2:10 PM, Ralph Mitchell <ralphmitchell at gmail.com>wrote:
Unless something changed recently, the NET keyword allows you to specify which of several Hobbit/Xymon servers performs network checks for a given host. I don't think it would do what the original poster wanted. Ralph Mitchell
On Wed, Apr 29, 2009 at 1:56 PM, Larry Barber <lebarber at gmail.com> wrote:
You can use the "NET:" keyword (see the bb-hosts man page) to set up an alternate network check. In the stanza within hobbitlaunch.cfg that launches the bbtest-net that is associated with the new set of network checks you can set an alternate timeout.
Thanks, Larry Barber
On Wed, Apr 29, 2009 at 2:37 AM, Wouter Schoot <wouter at schoot.org> wrote:
Hi,
I'm using a few HTTP checks to see how fast (and if) a website responds. However, some are known to be slower than others and I want therefor some sites not to trigger an alert or at least not if it doesn't respond in 10 seconds, but for instance 20 seconds. How can I achieve this for 1 check, not globally for all HTTP checks?
Best regards,
Wouter
To unsubscribe from the hobbit list, send an e-mail to hobbit-unsubscribe at hswn.dk
OK, cool. I didn't think that would work. This is on a single Xymon server?? Are you setting BBLOCATION at all?? Ralph Mitchell
On Wed, Apr 29, 2009 at 2:24 PM, Larry Barber <lebarber at gmail.com> wrote:
Using NET: the way I specified works fine, I have a similar situation, a few very slow web pages that tend to time out with the default settings, and that is how I handle the problem. I just use NET: to specify a different instance of bbtest-net, one with a longer timeout.
Thanks, Larry Barber
On Wed, Apr 29, 2009 at 2:10 PM, Ralph Mitchell <ralphmitchell at gmail.com>wrote:
Unless something changed recently, the NET keyword allows you to specify which of several Hobbit/Xymon servers performs network checks for a given host. I don't think it would do what the original poster wanted. Ralph Mitchell
On Wed, Apr 29, 2009 at 1:56 PM, Larry Barber <lebarber at gmail.com> wrote:
You can use the "NET:" keyword (see the bb-hosts man page) to set up an alternate network check. In the stanza within hobbitlaunch.cfg that launches the bbtest-net that is associated with the new set of network checks you can set an alternate timeout.
Thanks, Larry Barber
On Wed, Apr 29, 2009 at 2:37 AM, Wouter Schoot <wouter at schoot.org>wrote:
Hi,
I'm using a few HTTP checks to see how fast (and if) a website responds. However, some are known to be slower than others and I want therefor some sites not to trigger an alert or at least not if it doesn't respond in 10 seconds, but for instance 20 seconds. How can I achieve this for 1 check, not globally for all HTTP checks?
Best regards,
Wouter
To unsubscribe from the hobbit list, send an e-mail to hobbit-unsubscribe at hswn.dk
Sure, you set BBLOCATION to the appropriate value for each instance of bbtest-net. Here's the stanzas from hobbitlaunch:
[bbnet-midr] ENVFILE /usr/local/hobbit/server/etc/hobbitserver.cfg NEEDS hobbitd CMD BBPORT=1984 BBLOCATION=MIDR bbtest-net --report --ping --checkresponse --concurrency=128 --timeout=15 --test-untagged LOGFILE $BBSERVERLOGS/bb-network-midr.log INTERVAL 2m
[bbnet-midr-lf] ENVFILE /usr/local/hobbit/server/etc/hobbitserver.cfg NEEDS hobbitd CMD BBPORT=1984 BBLOCATION=MIDRLF bbtest-net --report=bbtest-mdrlf --ping --checkresponse --concurrency=128 --timeout=15 --frequenttestlimit=0 LOGFILE $BBSERVERLOGS/bb-network-midrlf.log INTERVAL 10m
I also see that I misstated what I was doing before, the problem was that some of our customers were complaining about how often Hobbit was hitting their site (like checking something every two minutes was going to destroy their site) so I created a separate bbtest-net instance that only ran every 10 minutes instead of every 2 minutes. But the same idea could be used to give a longer timeout if necessary, just change the --timeout argument to bbtest-net.
Thanks, Larry Barber
On Wed, Apr 29, 2009 at 2:39 PM, Ralph Mitchell <ralphmitchell at gmail.com>wrote:
OK, cool. I didn't think that would work. This is on a single Xymon server?? Are you setting BBLOCATION at all?? Ralph Mitchell
On Wed, Apr 29, 2009 at 2:24 PM, Larry Barber <lebarber at gmail.com> wrote:
Using NET: the way I specified works fine, I have a similar situation, a few very slow web pages that tend to time out with the default settings, and that is how I handle the problem. I just use NET: to specify a different instance of bbtest-net, one with a longer timeout.
Thanks, Larry Barber
On Wed, Apr 29, 2009 at 2:10 PM, Ralph Mitchell <ralphmitchell at gmail.com>wrote:
Unless something changed recently, the NET keyword allows you to specify which of several Hobbit/Xymon servers performs network checks for a given host. I don't think it would do what the original poster wanted. Ralph Mitchell
On Wed, Apr 29, 2009 at 1:56 PM, Larry Barber <lebarber at gmail.com>wrote:
You can use the "NET:" keyword (see the bb-hosts man page) to set up an alternate network check. In the stanza within hobbitlaunch.cfg that launches the bbtest-net that is associated with the new set of network checks you can set an alternate timeout.
Thanks, Larry Barber
On Wed, Apr 29, 2009 at 2:37 AM, Wouter Schoot <wouter at schoot.org>wrote:
Hi,
I'm using a few HTTP checks to see how fast (and if) a website responds. However, some are known to be slower than others and I want therefor some sites not to trigger an alert or at least not if it doesn't respond in 10 seconds, but for instance 20 seconds. How can I achieve this for 1 check, not globally for all HTTP checks?
Best regards,
Wouter
To unsubscribe from the hobbit list, send an e-mail to hobbit-unsubscribe at hswn.dk
participants (4)
-
josh@imaginenetworksllc.com
-
lebarber@gmail.com
-
ralphmitchell@gmail.com
-
wouter@schoot.org