【Nagios】SSL証明書CRTファイルの有効期限をチェックするプラグイン作った

SSLの証明書期間チェックのためのスクリプトです。

HTTPSでアクセスして確認する方法もありますが、普段アクセスされない待機系などの確認に利用するために作ったものです。

プラグインの仕様

引数に直接crtファイルを指定してあげる形で利用します。

# /usr/lib64/nagios/plugins/check_certificate_file
Check expiration date of ssl certification file plugin for Nagios
Usage: check_certificate_file --crt-file crtfile.crt -w WARNING_DAYS -c CRITICAL_DAYS
Usage: check_certificate_file --crt-file crtfile.crt -w WARNING_DAYS
Usage: check_certificate_file --help
Usage: check_certificate_file --version

以下設定例です。

監視対象側のNRPE設定

command[check_certificate_file]=/usr/lib64/nagios/plugins/check_certificate_file --crt-file $ARG1$ -w $ARG2$ -c $ARG3$

Nagios側の設定

サーバーによって証明書のパスが異なる場合は、こんな感じでカスタムオブジェクト変数使うと割とスッキリ書きやすいかも。

define host{
        host_name host01
        ...
        _CRT_FILE /path/to/certfile.crt
}
define service{
        service_description             Certificate Expiration
        check_command                   check_nrpe!check_certificate_file!$_CRT_FILE 60 30
}

Ngios画面イメージ

f:id:yomon8:20170208182303p:plain

プラグインスクリプト

gist.github.com

参考URL

https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/macros.html