ディスク使用率の閾値監視スクリプト作成と運用
概要
監視の方針
df の Use% を利用してディスクの使用率を監視
閾値は 75%
閾値を超えたときは、syslog に user.warn でメッセージを出力
監視対象は /dev/sda
スクリプトの主な変数
ディスク使用率の閾値 | NUM_LIMIT=75 |
Cronの実行条件
- 毎時5分に root で実行
スクリプトの作成と確認
構築される環境に応じて、適宜読み替えてください。
閾値監視スクリプト
cd /hogehoge/bin
vi DiskUsage.sh
#!/bin/sh cd `dirname $0` NUM_LIMIT=75 ################################################################################ # Disk Usage Monitoring ################################################################################ while read LINE do USAGE=`echo $LINE | awk '{print $1}'` if [ $USAGE -gt $LIMIT ]; then logger -p user.warn "Disk usage exceeds threshold: `echo $LINE | awk '{printf "[%3d%] %s",$1,$2}'`" fi done << END $(df | grep -v Filesystem | grep /dev/sda | awk '{printf "%3d %s\n",$5,$1}' | sort -hr) ENDchmod 755 ./DiskUsage.sh
確認
./DiskUsage.sh
使用率が 75% を超えないと syslog にメッセージが出力されないので、NUM_LIMIT の値を変更する
syslog にメッセージが出力されたこと
Cron の設定
/etc/cron.d 配下に定義ファイルを作成
vi /etc/cron.d/DiskUsage
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # min hr. dom mon dow user command 5 * * * * root /hogehoge/bin/DiskUsage.shsystemctl restart cron
確認
syslog で確認すること
コメント