nagios/btrfs: quick patch
This commit is contained in:
parent
eabe6084fb
commit
d2ee68217e
2 changed files with 6 additions and 4 deletions
|
@ -109,6 +109,7 @@ check_freespace_is_above_threshold() {
|
||||||
# 4: EXCL
|
# 4: EXCL
|
||||||
# 5: MAXRFER
|
# 5: MAXRFER
|
||||||
# 6: MAXEXCL
|
# 6: MAXEXCL
|
||||||
|
# 7: SUBVOLUMEPATH
|
||||||
format_output_item() {
|
format_output_item() {
|
||||||
local LOCAL_OUTPUT=""
|
local LOCAL_OUTPUT=""
|
||||||
if [ "$5" != "none" ]; then
|
if [ "$5" != "none" ]; then
|
||||||
|
@ -125,7 +126,7 @@ format_output_item() {
|
||||||
)"
|
)"
|
||||||
fi
|
fi
|
||||||
if [ -n "$LOCAL_OUTPUT" ]; then
|
if [ -n "$LOCAL_OUTPUT" ]; then
|
||||||
printf "%s:%s (%s)" "$1" "$2" "$LOCAL_OUTPUT"
|
printf "%s:%s (%s)" "$1" "$2$( test -n "$7" && echo ":$7" )" "$LOCAL_OUTPUT"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,7 +176,7 @@ while getopts hw:c:V: f; do
|
||||||
# Loop on each qgroup
|
# Loop on each qgroup
|
||||||
# (the kinda weird <<EOF at the end is to avoid entering a sub-shell, so we can keep
|
# (the kinda weird <<EOF at the end is to avoid entering a sub-shell, so we can keep
|
||||||
# our precious vars even with prosix-strict dash)
|
# our precious vars even with prosix-strict dash)
|
||||||
while read QGROUPID RFER EXCL MAXRFER MAXEXCL; do
|
while read QGROUPID RFER EXCL MAXRFER MAXEXCL SUBVOLUMEPATH; do
|
||||||
LOOP_OUTPUT_STATUS=$STATE_OK
|
LOOP_OUTPUT_STATUS=$STATE_OK
|
||||||
if [ "$MAXRFER" != "none" ]; then
|
if [ "$MAXRFER" != "none" ]; then
|
||||||
FREERFER="$(( $MAXRFER - $RFER ))"
|
FREERFER="$(( $MAXRFER - $RFER ))"
|
||||||
|
@ -201,7 +202,7 @@ while getopts hw:c:V: f; do
|
||||||
# Depending on the alerts raised during this loop, we store
|
# Depending on the alerts raised during this loop, we store
|
||||||
# the output in ok/warning/critical. This way, in case of critical
|
# the output in ok/warning/critical. This way, in case of critical
|
||||||
# alert, we don't list all the ok data.
|
# alert, we don't list all the ok data.
|
||||||
TMP="$( format_output_item "$VOLUME" "$QGROUPID" "$RFER" "$EXCL" "$MAXRFER" "$MAXEXCL" )"
|
TMP="$( format_output_item "$VOLUME" "$QGROUPID" "$RFER" "$EXCL" "$MAXRFER" "$MAXEXCL" "$SUBVOLUMEPATH" )"
|
||||||
case "$LOOP_OUTPUT_STATUS" in
|
case "$LOOP_OUTPUT_STATUS" in
|
||||||
"$STATE_OK")
|
"$STATE_OK")
|
||||||
OUTPUT_DETAIL_OK="$OUTPUT_DETAIL_OK $TMP" ;;
|
OUTPUT_DETAIL_OK="$OUTPUT_DETAIL_OK $TMP" ;;
|
||||||
|
@ -211,7 +212,7 @@ while getopts hw:c:V: f; do
|
||||||
OUTPUT_DETAIL_CRITICAL="$OUTPUT_DETAIL_CRITICAL $TMP" ;;
|
OUTPUT_DETAIL_CRITICAL="$OUTPUT_DETAIL_CRITICAL $TMP" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
OUTPUT_PERFDATA="$( printf "%s\n%s\n%s" "$OUTPUT_PERFDATA" "$VOLUME:$QGROUPID:rfer=$RFER" "$VOLUME:$QGROUPID:excl=$EXCL" )"
|
OUTPUT_PERFDATA="$( printf "%s\n%s\n%s" "$OUTPUT_PERFDATA" "$VOLUME:$QGROUPID:$SUBVOLUMEPATH:rfer=$RFER" "$VOLUME:$QGROUPID:$SUBVOLUMEPATH:excl=$EXCL" )"
|
||||||
done <<EOF
|
done <<EOF
|
||||||
$( btrfs qgroup show -re --raw "$VOLUME" | tail -n +3 )
|
$( btrfs qgroup show -re --raw "$VOLUME" | tail -n +3 )
|
||||||
EOF
|
EOF
|
||||||
|
|
1
nagios/etc/35_btrfs-checks.cfg
Normal file
1
nagios/etc/35_btrfs-checks.cfg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
command[check_btrfs_quota]=sudo /usr/local/share/scripts-admin/nagios/check_btrfs_quota.sh -w 30% -c 10% -V /srv
|
Loading…
Reference in a new issue