httpsサイトを公開していますと、証明書の有効期限が間近に迫りばたばたと更新作業に追われたり、有効期限切れにてサイトが不正なサイトとして扱われて大騒ぎになることがあります。そんな事態にならないよう、ZabbixにてSSL証明書の有効期限を監視できるようにしたいと思います。
テンプレートのダウンロード
以下のサイトからテンプレート(とスクリプト)をダウンロードします。
https://share.zabbix.com/cat-app/web-servers/ssl-certificates-check-4-4
適当なところに解凍しておきましょう。
- zext_ssl_cert_checker.xml ... テンプレート
- zext_ssl_cert.sh ... スクリプト
テンプレートの読み込み
Zabbix Web管理コンソールにログインし、左メニューの設定
→テンプレート
を開き、画面右上にあるインポート
をクリックします。
インポート画面にてテンプレートファイルを読み込ませます。

問題なければ、Template SSL Cert Check External
というテンプレートがインポートされます。
スクリプトの配置
WinSCPなどを使い、スクリプトファイルをZabbixサーバ上にコピーします。その後、以下の手順に沿ってコマンドを使えるようにします。
# cp -p zext_ssl_cert.sh /usr/lib/zabbix/externalscripts/
# chmod +x /usr/lib/zabbix/externalscripts/zext_ssl_cert.sh
# #スクリプトで必要になるパッケージのインストール
# dnf install bc
利用例
問題なくスクリプトが導入されていれば、キーとして zext_ssl_cert.sh[-d,fqdn,port]
と zext_ssl_cert.sh[-i,fqdn,port]
が使用可能になります。
-
zext_ssl_cert.sh[-d,fqdn,port]
... 指定したサイトの証明書の残り有効日数を取得 -
zext_ssl_cert.sh[-i,fqdn,port]
... 指定したサイトの証明書の認証局名を取得
このキーを利用した以下の様なアイテムを作成し、残り~日になったら発報するといったトリガーを組めば有効期限を監視することが出来るようになります。
