サバとエンガワ

サーバーエンジニアしてます、地方に住んでます、、、

【スポンサーリンク】

気軽にサーバ監視 サービス編 【CentOS7】

サーバ監視ツールを使うのではなく、気軽にサーバ監視ということで 自作でシェルスクリプトを作ってみました。
f:id:adakkuma:20181018002539j:plain

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で指定したメールアドレス宛に送信されるようになります