サーバ監視ツールを使うのではなく、気軽にサーバ監視ということで 自作でシェルスクリプトを作ってみました。
Apache と MariaDB のサービスを監視するシェルスクリプトです。
※履歴をファイルに出力します。
cat /root/check/check_service.sh
#!/bin/sh #ログ出力先 LOGFILE=/root/check/result_check_service.txt #サービスの状態を取得 ApacheSts=`systemctl status httpd | grep Active | awk '{print $2}'` MariaDBSts=`systemctl status mariadb | grep Active | awk '{print $2}'` #結果をログに出力 echo "`date` apache status = ${ApacheSts}" >> $LOGFILE echo "`date` mariadb status = ${MariaDBSts}" >> $LOGFILE #エラー時のみ標準出力 if [ ${ApacheSts} != 'active' ]; then echo "$(date '+%Y/%m/%d %H:%M:%S') apache status error : ${ApacheSts}" fi if [ ${MariaDBSts} != 'active' ]; then echo "$(date '+%Y/%m/%d %H:%M:%S') mariadb status error : ${MariaDBSts}" fi
上記シェルスクリプトを定期実行する設定を行います
cat /etc/cron.d/server_check
※5分毎に監視する設定にしています
MAILTO=root */5 * * * * root /root/check/check_service.sh
これで設定は終わりです。
エラー時のみ標準出力されるので、その出力結果はMAILTOで指定したメールアドレス宛に送信されるようになります