URLのステータスコードをチェックするmunin 自作プラグイン
ことのはじまり
muninのプラグインで指定された、URLのhttpステータスコードを返すプラグインって無いかなー?って探していたのですが結局なかったので自作してみようと試みて、はや一週間・・・・。いろいろなサイトを参考にしましたが、詳しくは、muninのページへというのが多くでリンクをたどるとすべて英語だったのでかなり苦戦した結果・・・できた・・いや、中途半端な気もするけど、できたよお。。ってことでソースを公開したいと思います。記述してよくわからんことがあったので、とりあえず入れてみました的な部分が多いのですが、好きになおしてくださいませ。
ソース
チェックしたいURLはいっぱいあり、それごとに、プラグインを作成するのも、なんかかっこわるかったので、ワイルドカードプライグインっぽい形で作ってみました。
- /usr/share/munin/plugins/url_status_
# cat /usr/share/munin/plugins/url_status_
#!/bin/sh
#%# family=auto
#%# capabilities=autoconf suggest
_url=`basename $0 | sed 's/^url_status_//g' | sed 's/--/\//g'`
if [ "$1" = "autoconf" ]; then
_CNT=`rpm -qa | grep -i "^curl" | grep -v grep | wc -l`
if [ $_CNT -eq 0 ]; then
echo no
else
echo yes
fi
exit 0
fi
if [ "$1" = "config" ]; then
STAT_WARNING=300
STAT_CRITICAL=400
echo "graph_title URL Status ${_url}"
echo 'graph_args --base 1000 -l 0'
echo 'graph_vlabel status_code'
echo 'graph_category http_status'
echo 'graph_info http status code.'
echo 'http_status.label status' # value
echo 'http_status.draw AREA' # (AREA or STACK or LINE2)
echo "http_status.warning $STAT_WARNING"
echo "http_status.critical $STAT_CRITICAL"
echo 'http_status.info http status.'
exit 0
fi
_wait=1
_retry=3
_err_cnt=0
for X in `seq ${_retry}`; do
_htstat=`curl -k -LI ${_url} -o /dev/null -w '%{http_code}' -s `
sleep ${_wait}
if [ "$_htstat" -gt "400" ] ; then
_err_cnt=`expr ${_err_cnt} + 1`
else
if [ "$_htstat" -eq "000" ] ; then
_htstat=999
_err_cnt=`expr ${_err_cnt} + 1`
fi
fi
done
echo -n "http_status.value "
echo $_htstat
exit 0
利用方法
前述の通り、ワイルドカードプラグインっぽいことをやっております。たとえば、http://www.google.co.jp/intl/ja/about のhttpステータス監視をしたい場合は、以下な感じでエイリアスをはってくれればと思います。
# cd /etc/munin/plugins
# ln -s /usr/share/munin/plugins/url_status_ url_status_www.google.co.jp--intl--ja--about
なんか、/をファイル名に使うのが、若干面倒臭かったため、/の部分に関しては--にするようにしました。
なので
http://www.google.co.jp/intl/ja/about
は
www.google.co.jp--intl--ja--about
になるイメージですね。
シンボリックリンクを張り終わったら、munin-nodeを再起動します。
# /etc/init.d/munin-node restart
あ、とりあえず動くか確認してみましょうか・・・うまくいっている感じっす
# munin-run url_status_www.google.co.jp--intl--ja--about
----
http_status.value 200
Author And Source
この問題について(URLのステータスコードをチェックするmunin 自作プラグイン), 我々は、より多くの情報をここで見つけました https://qiita.com/hit/items/3d0a1b3529f53d50847d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .