> > ZabbixでSSL証明書の有効期限をチェックする

ZabbixでSSL証明書の有効期限をチェックする

Posted on 2011/05/07 | No Comments

twitterでぼそっとつぶやいたら意外と反応有ったのと、
日本語で解説しているページがなかったので、載せてみますね。

  • やりたい事
    • 有効期限の日数がxx日を下回ったらアラートを出したい!

上の画像は首相官邸(www.kantei.go.jp)の証明書日数をグラフ化した物です。
平均値は要らないなぁ、とかそもそもグラフじゃなくても良いんじゃ。。とかありますが、とりあえず手順を。
  1. 証明書日数取得スクリプトを配置する
    配置場所:/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 がある事が前提です。
  2. 必要なスクリプトの配置
    配置場所は、両方 /etc/zabbix/externalscripts/ です。それぞれ
  3. http://www.pixelbeat.org/scripts/timeout http://prefetch.net/code/ssl-cert-check に置いてあるので、wget等で持ってきましょう。
  4. 試しに実行してみる
    ./ssl-cert-check.sh www.google.co.jp 443
    |days=316
    はい、 www.google.co.jpはあと316日残ってますねー。余裕ですね。
  5. 実はコレじゃだめなんです。
    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
    
    はいオッケー!です
  6. zabbixに登録する
    登録したいテンプレートか、ホストを選択して新しいアイテムとして登録します。
    タイプ:外部チェック、
    キー:スクリプト名とパラメータ(SERVERは対象ホストが自動で入るので省略)
    を設定します。

  7. 略!
    後は他の監視設定と同様にトリガーを設定してアラートを受けるだけ!
    簡単ですね。
  8. その他
    自作のスクリプトを同様に作って行けば色々出来ますので、良いの有ったらぜひ教えてください。
最後に参考にしたのは公式フォーラムのこのスレッドでした。
それでは。

Leave a Reply

Powered by Blogger.