ZabbixでSSL証明書期限チェック
zabbixは初期状態でhttps系の監視が微妙なため、証明書期限の監視設定などを行ってみたいと思います。
私が利用しているZabbixは2.2系になります。
SSL証明書期限チェック設定
今回は監視用のシェルを配置し、それをzabbixから有効にするという流れで設定を行います。
シェル配置フォルダ設定
Zabbix内で利用するshellを配置するフォルダを設定していきます。
root@raspberrypi:~# mkdir /etc/zabbix/externalscripts root@raspberrypi:~# vi /etc/zabbix/zabbix_server.conf root@raspberrypi:~# diff -u /etc/zabbix/zabbix_server.conf.org /etc/zabbix/zabbix_server.conf --- /etc/zabbix/zabbix_server.conf.org 2015-10-26 01:02:41.151018462 +0900 +++ /etc/zabbix/zabbix_server.conf 2015-11-21 17:34:48.699559203 +0900 ... @@ -455,6 +456,7 @@ # Mandatory: no # Default: # ExternalScripts=${datadir}/zabbix/externalscripts +ExternalScripts=/etc/zabbix/externalscripts root@raspberrypi:~# systemctl restart zabbix-server
ExternalScripts用のフォルダを作成して、そこを指定していますね。
もともとのコメントでは何か変数が埋め込まれているのですが、その変数がどこに記述されているのかよくわからなかったのでベタで記述しました。
監視時利用シェルを取得
おそらくどこか海外の方が作成してくれているシェルを拝借していきます。
root@raspberrypi:~# cd /etc/zabbix/externalscripts
root@raspberrypi:/etc/zabbix/externalscripts# wget http://www.pixelbeat.org/scripts/timeout
root@raspberrypi:/etc/zabbix/externalscripts# wget http://prefetch.net/code/ssl-cert-check
シェルはあまり強くないのでちゃんと読んでいないのですがtimeoutスクリプトでは、実行したコマンドが無限ループしてしまったりwaitしてしまったときにjobをkillするっぽいですね。
ssl-cert-checkスクリプトではsslの状態をチェックしているのですかね。
監視用のシェルを作成
先ほど取得した2つのシェルを利用して、zabbix用のシェルを作成します。
作成しますといいますが、既に作成してくれている方がいるのでそれを利用しました。
nekoruri/ssl-cert-check.sh
こちらのリンク先にあるシェルをサーバに配置しましょう。
私はviでコピーしちゃいました。
root@raspberrypi:/etc/zabbix/externalscripts# vi ssl-cert-check.sh root@raspberrypi:/etc/zabbix/externalscripts# chmod 755 *
また最後に取得したシェルの権限を変更しています。
私は面倒だったので755としていますが、本当は以下の方がよいかと思われます。
あってるか検証はしていません。
chown www-data:www-data * chmod 700 *
ここまででファイル作成は完了です。
Zabbix管理画面から設定
こちらについては補充.infoさんの記事を参考にして行いました。
画面が少し違いますが、だいたい同じです。
zabbix管理画面のメニューから[設定] -> [ホスト]と遷移し、監視を行いたいホストを選択。
その後、ホストの管理画面にあるタブから[アイテム]のリンクを選択し、[アイテムの作成]からアイテムを作成します。
これにて完了です。
あとがき
一応忘れないように、個人のredmineにも期限は登録しているのですが監視させるのが一番安心ですよね。
ドメインの期限についてもできたらいいなぁと思うのですが、それは果たしてできるのでしょうか。