ロードアベレージの監視シェルスクリプトについて
使用コマンド
uptime
システムにどれくらい負荷がかかっているかを平均的にみることができます。
/proc/cpuinfo
コマンドではないですが、認識しているCPU数をみるのに必要なファイルです。
Open Groove LinuxでCPUの搭載数を調べる
Linux上で認識されるCPU(物理CPU/物理コア/論理CPU)の数の確認について
bc
数値計算を行うコマンドです。シェルスクリプト内だと基本的にすべてを文字として判断するので(超単純な計算以外は)これを使わないとほとんど計算はできないっぽいです。
日経XTECH 【 bc 】 数値計算を行う
Linux入門 bc – シェルで数値計算を実行 – Linuxコマンド
ソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#メール送信スクリプトの読み込み . sendMail.sh #スクリプトのおいてある場所に移動 cd /home/hoge/script/ #現在のLロードアベレージの取得 NOW_LOADAVERAGE=`uptime | awk '{print $11}' | sed -e "s/,//g"` echo ${NOW_LOADAVERAGE} #閾値の取得 LIMIT_LOADAVERAGE=`grep 'processor' /proc/cpuinfo | wc -l` echo ${LIMIT_LOADAVERAGE} #敷地の数値判定 COMPARE=`echo "${NOW_LOADAVERAGE} > ${LIMIT_LOADAVERAGE}" | bc ` 判定超えたらアラートメール if [ ${COMPARE} = 1 ]; then ALERT_MESSAGE=`cat << EOS ロードアベレージが閾値を超えています。 現在のロードアベレージ:$NOW_LOADAVERAGE 閾値 :$LIMIT_LOADAVERAGE EOS ` #メール送信のスクリプト sendMailShell "sample@hoge.jp" "sample@hoge.jp" "【警告】ロードアベレージ値閾値オーバー" "${ALERT_MESSAGE}" fi |
他参考リンク
ヒアドキュメントの使い方など
bashのヒアドキュメントを活用する