はじめに

cloudpackくどう です。

お気軽に Slack で死活監視。
疎通確認が行えなくなったらSlackにポストするだけのbatchっす。

設定

事前設定としてIncoming Webhookをチャンネルで有効にする必要があります。

https://xxxxx.slack.com/services/new/incoming-webhook
お気軽にSlackで死活監視:Incoming Webhook チャンネルで有効に設定

有効にした後、アドレスが配布されるので埋め込むのでコピーしておきましょう。
お気軽にSlackで死活監視:配布されるURLを控える

以下は監視用のサーバーへ ping.sh など適当なファイル名で保存します。

チャンネル名、アイコン名、アドレスは変更しましょう。ping のタイムアウトなどは環境で変更してください。5秒間隔で監視しています。

#!/bin/bash

#usage
#sh ping.sh &

HOST=xxx.xxxx.xxx.xxx
DT=`date "+%Y年%m月%d日%H時%M分%S秒"`

while :
do
    ping -w 5 -n -c 1 $HOST >> /dev/null
    if [ $? -eq 0 ]
    then
      sleep 5
    else
      curl -X POST --data-urlencode 'payload={"channel": "[チャンネル名]", "username": "PINGさん", "text": "'$DT' ホスト['$HOST']が落ちたよ", "icon_emoji": ":[アイコン名]:"}' https://hooks.slack.com/services/xxxxxxxxxx/xxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxx
      break
    fi
done

使い方

sh ping.sh &

こんな感じ

お気軽にSlackで死活監視:動作確認

まとめ

Slackを利用して開発とかやってると意外と便利かも。

元記事はこちらです。
お気軽にSlackで死活監視してみる