リソースの使用状況を監視し、特定のしきい値を超えた場合に電子メールを送信するbashスクリプトを探しています。
これまでのところ私はこれを持っています
top -b -d1 -n2 | grep Cpu | cut -c 35-39
しかし、それは2つの値を出力しますか?すなわち
95.498.0
メールのしきい値部分を追加するにはどうすればよいですか。つまり、75%を超える場合は、メモリ使用量についても同じ機能を追加したいと思います。
で2回の繰り返しを指定しているため、2つの値を出力しています-n2
CPUのアイドル率も見ているので、値を取得するには100からそれを差し引く必要があります。これは浮動小数点であるため、使用する必要がありますbc
。
LOAD_IDLE=`top -b -n1 | grep Cpu | cut -c 35-39`; LOAD=`echo "100-$LOAD_IDLE"|bc` ; if [ "${LOAD%%.*}" -gt "74" ]; then #send email; fi
ユーザー Nagios 監視プラグインをお勧めします。これにより、より多くの制御が可能になります。
http://exchange.nagios.org/directory/Plugins/Operating-Systems/Linux/Check-cpu/details