2012年9月13日木曜日

Nagiosでスワップインとスワップアウトの監視

スズキです。

いろいろと既存のプラグインを探してみたのですが、
見当たらなかったので自分で作ってみました。

下記を"check_swap-io"のような名前で、"/usr/lib64/nagios/plugins/"などの
"utils.sh"があるディレクトリに配置すれば利用できます。

#!/bin/sh

. `dirname $0`/utils.sh

WARN=0
CRIT=0

while getopts c:w: OPTNAME; do
    case "$OPTNAME" in
    w)
        WARN="$OPTARG"
        ;;
    c)
        CRIT="$OPTARG"
        ;;
    *)
        echo "USAGE"
        exit $STATE_UNKNOWN
        ;;
    esac
done

OUT=`grep pswpout /proc/vmstat | cut -d " " -f2`
IN=`grep pswpin /proc/vmstat | cut -d " " -f2`
DATA=" | in=$IN;$WARN;$CRIT;0;$IN out=$OUT;$WARN;$CRIT;0;$OUT"

if   [ $OUT -ge $CRIT ]; then
    echo "CRITICAL : Swapping Out $OUT pages" $DATA
    exit $STATE_CRITICAL
elif [ $IN  -ge $CRIT ]; then
    echo "CRITICAL : Swapping In $IN pages" $DATA
    exit $STATE_WARNING
elif [ $OUT -ge $WARN ]; then
    echo "WARNING : Swapping Out $OUT pages" $DATA
    exit $STATE_WARNING
elif [ $IN  -ge $WARN ]; then
    echo "WARNING : Swapping In $IN pages" $DATA
    exit $STATE_WARNING
elif [ $OUT -ge 0 ] && [ $IN -ge 0 ]; then
    echo "OK : Swapping In/Out $IN/$OUT pages" $DATA
    exit $STATE_OK
else
    echo "UNKNOWN : Cannot determine number of pages"
    exit $STATE_UNKNOWN
fi

閾値はページ数を指定します。また、スワップイン、スワップアウトの
どちらかの値が閾値を超えるとアラートとなるようにしています。

"check_cloudwach"も見直したいなー...
--------
http://www.suz-lab.com

0 コメント: