読者です 読者をやめる 読者になる 読者になる

望月いちろうのREADME.md

書き溜めておいた技術記事や旅行記のバックアップです。

プロセスが落ちたらSlackに通知するサーバーの死活監視スクリプトを書いた

Ubuntu Linux Slack Bash

f:id:mochizuki_p:20160924214028p:plain

サーバーのプロセスが落ちた時に通知してくれるようにしたい

こちらを参考に

qiita.com

process_watch.sh

#!/bin/sh

self=$0
processName=$1
interval=10

while true
do
    echo "$processName"
    
    isAlive=`ps ax | grep $processName | grep -v grep | grep -v $self | wc -l`
    echo "$isAlive" 
    if [ $isAlive -gt 0 ]; then
        echo "Server is running."
    else
   
        python3 slack_bot.py "$processName"
        break
    fi
    sleep $interval
done

使い方

process_nameの部分は監視したいプロセス名

nohup ./process_watch process_name > /dev/null 2>&1 &

仕組み

無限ループで10秒ごとにプロセスの状態を確認

もしプロセスが落ちていたらPythonスクリプトを起動してSlackに通知する。

slack_bot.pyの中身は以下を参照

mochizuki4.hatenablog.com