1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-07-22 22:25:23 +00:00
Munin-Contrib/plugins/http/http_responsecode
Thomas Heidrich bd727d75f9 avoid blocking in http_responsecode
Just in case there is a firewall dropping packages, this plugin
would block until the plugin timeout is reached. This change introduces
the possibility to configure a much lower individual timeout.
2020-10-28 21:51:45 +01:00

70 lines
1.8 KiB
Bash
Executable file

#!/bin/sh
# -*- sh -*-
: << =cut
=head1 NAME
http_responsecode - Is the site up?
=head1 CONFIGURATION
The following environment variables are used
sites - Sites to check
max_time - Timeout for each site check - defaults to 5 seconds
Configuration example
[http_responsecode]
env.sites example.com example2.de
env.max_time 5
=head1 AUTHOR
Copyright (C) 2013 Thomas Heidrich
=head1 LICENSE
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 dated June,
1991.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
=head1 MAGIC MARKERS
#%# family=manual
=cut
if [ "$1" = "config" ]; then
echo 'graph_args --base 1000 -l 0 -u 511'
echo 'graph_title HTTP Response Codes'
echo 'graph_vlabel Code'
echo 'graph_category network'
echo 'graph_info This graph shows HTTP response code statistics.'
echo 'graph_printf %3.0lf'
for site in $sites; do
siteid=`echo $site | sed 's/[^a-z]*//g'`
echo "$siteid.label $site"
echo "$siteid.info HTTP response code statistics for $site."
echo "$siteid.critical 99:399";
done
exit 0
fi
for site in $sites; do
export siteid=`echo $site | sed 's/[^a-z]*//g'`
echo -n "$siteid.value "
curl --write-out %{http_code} --max-time "${max_time:-5}" --silent --output /dev/null "${site}"
echo
done