お気軽にSlackで死活監視してみる

はじめに

くどうです

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

設定

事前設定としてIncoming Webhookをチャンネルで有効に必要があります。
https://xxxxx.slack.com/services/new/incoming-webhook

inwebhook

有効にした後、アドレスが配布されるので埋め込むのでコピーしておきましょう。
inwebhook2

以下は監視用のサーバーへping.shなど適当なファイル名で保存します。
チャンネル名、アイコン名、アドレスは変更しましょう。
ping のタイムアウトなどは環境で変更してください。
5秒間隔で監視しています。

#!/bin/bash

#usage
#sh ping.sh & 

HOST=xxx.xxxx.xxx.xxx

while :
do
    ping -w 5 -n -c 1 $HOST >> /dev/null
    if [ $? -eq 0 ]
    then
      sleep 5
    else
      DT=`date "+%Y年%m月%d日%H時%M分%S秒"`
      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 &

こんな感じ

inwebhook3

まとめ

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

AWS,Azure,Linux,監視,運用slack

Posted by jkudo