お手軽WEBサーバ監視をslackで通知設定する

お手軽WEBサーバ監視をslackで通知設定する方法です。

WebhookURLの作成

まず、Configure Appsを押下します。

[Custom Integrations]⇒[Incoming WebHooks]を押下します。

[Add Configuration]を押下します。

Post to Channel
監視の通知先のチャンネルを選択します。

[Add Incoming WebHooks integration]を押下します。

以下、Webhook URLが発行されますので、控えておきます。

Webhook URLを使用して、以下コマンドで、正常に#test-hogeチャンネルにメッセージが飛ぶか、サンプルメッセージを投げてみます。

curl -X POST --data-urlencode 'payload={"channel": "#test-hoge", "username": "webhookbot", "text": "This is posted to #test-hoge and comes from a bot named webhookbot.", "icon_emoji": ":ghost:"}' https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


以下のメッセージがslackに通知されれば、動作確認OKです。

監視ツール作成

5分毎にhttpのステータスコードを確認し、200ではない場合は、slackに通知するようにします。

vim url_check.sh
#!/bin/bash

curl -I "https://hoge-hoge.com/healthcheck" > check
STATUS_CODE=`grep HTTP check  | awk '{print $2}'`
echo $STATUS_CODE
# check
if [ 200 = $STATUS_CODE ];then
   echo "ok"
   break;
else
   curl -X POST --data-urlencode 'payload={"channel": "#test-hoge", "username": "監視さん", "text": "httpsアクセスできません。\n\nhttps://hoge-hoge.com/healthcheck "}' https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
fi

cronの設定

vim /etc/crontab

# url_check 5分毎にチェック
*/5 * * * *   root    /root/tools/kanshi/url_check.sh

サーバがダウンしたら、そもそも監視もできないので、あくまでも簡易的な監視ですね!

コメントは停止中です。