ZabbixでSSL証明書の有効期限をチェックする
Posted on 2011/05/07
|
1 Comment
twitterでぼそっとつぶやいたら意外と反応有ったのと、
日本語で解説しているページがなかったので、載せてみますね。
- やりたい事
- 有効期限の日数がxx日を下回ったらアラートを出したい!
上の画像は首相官邸(www.kantei.go.jp)の証明書日数をグラフ化した物です。
平均値は要らないなぁ、とかそもそもグラフじゃなくても良いんじゃ。。とかありますが、とりあえず手順を。
- 証明書日数取得スクリプトを配置する
配置場所:/etc/zabbix/externalscripts
ファイル名:ssl-cert-check.sh
スクリプト内容:
#! /bin/sh SERVER=$1 PORT=$2 TIMEOUT=25 /etc/zabbix/externalscripts/timeout $TIMEOUT /etc/zabbix/externalscripts/ssl-cert-check -s $SERVER -p $PORT -n | sed 's/ */ /g' | cut -f6 -d" "
引数がSERVER(FQDN or IPv4アドレス)と、PORT(普通は443ですね)の2個だけです。簡単ですが、2つのスクリプト timeout と ssl-sert-check がある事が前提です。
- 必要なスクリプトの配置
配置場所は、両方 /etc/zabbix/externalscripts/ です。それぞれ
http://www.pixelbeat.org/scripts/timeout http://prefetch.net/code/ssl-cert-check に置いてあるので、wget等で持ってきましょう。
- 試しに実行してみる
./ssl-cert-check.sh www.google.co.jp 443
|days=316
はい、 www.google.co.jpはあと316日残ってますねー。余裕ですね。
- 実はコレじゃだめなんです。
zabbix側でスクリプトの実行結果を数値(整数)として扱って判定、アラートまで持って行くので、「|days」の部分が余計です。さくっと修正しましょう。
318c318 < ${PRINTF} "%-47s %-12s %-12s %-4s %-30s\n" "$1:$2" "$3" "$MIN_DATE" \|days="$5" --- > #${PRINTF} "%-47s %-12s %-12s %-4s %-30s\n" "$1:$2" "$3" "$MIN_DATE" "$5" sh ./ssl-cert-check.sh www.google.co.jp 443 316
はいオッケー!です
- zabbixに登録する
登録したいテンプレートか、ホストを選択して新しいアイテムとして登録します。
タイプ:外部チェック、
キー:スクリプト名とパラメータ(SERVERは対象ホストが自動で入るので省略)
を設定します。
- 略!
後は他の監視設定と同様にトリガーを設定してアラートを受けるだけ!
簡単ですね。 - その他
自作のスクリプトを同様に作って行けば色々出来ますので、良いの有ったらぜひ教えてください。
最後に参考にしたのは公式フォーラムのこのスレッドでした。
それでは。
それでは。
この投稿に本当に感謝しています.Street View Online
返信削除