diff options
-rw-r--r-- | debian/changelog | 10 | ||||
-rw-r--r-- | usr-lib-nagios-plugins/check_fs_ro.sh | 67 |
2 files changed, 75 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog index 38b0256..8a25069 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,16 @@ -itzks-systems (2016.07.27.2) UNRELEASED; urgency=medium +itzks-systems (2016.07.27.3) UNRELEASED; urgency=medium + + * Monitoring: Add check_fs_ro.sh plugin. + + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 06 Sep 2016 15:01:51 +0200 + +itzks-systems (2016.07.27.2) unstable; urgency=medium * debian/control: + Prepare for diskless chroots being amd64 systems. Use linux-image or linux-image-amd64 alternatively. - -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 27 Jul 2016 12:44:32 +0200 + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 27 Jul 2016 12:45:31 +0200 itzks-systems (2016.07.27.1) unstable; urgency=medium diff --git a/usr-lib-nagios-plugins/check_fs_ro.sh b/usr-lib-nagios-plugins/check_fs_ro.sh new file mode 100644 index 0000000..bed8083 --- /dev/null +++ b/usr-lib-nagios-plugins/check_fs_ro.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# Copyright (C) 2016 Mike Gabriel +# +# File: check_fs_ro.sh +# Author: Mike Gabriel +# Date: 06 Sep 2016 +# Version: 0.11 + +# LICENSE: MIT/Expat + +set -f +shopt -u extglob + +# Program args +ME="$0" +CMDLINE="$@" + +NAGOK=0 +NAGWARN=1 +NAGCRIT=2 +NAGUNKN=3 + +usage() +{ + echo "Check that ext[2|3|4], btrfs or xfs filesystems are not read-only." +} + +parse_options() +{ + local new + + set -- $CMDLINE + while true + do + case $1 in + #-v) shift ; gVersion=$1 + #;; + -h) usage ; exit 0 + ;; + ?*) echo "Syntax error." ; exit 1 + ;; + esac + shift 1 || break + done +} + +main() +{ + parse_options + + retval=$NAGOK + + grep -E '^.*\ .*\ (ext.*|btrfs|xfs)\ ro,.*$' /proc/mounts | while read fs; do + rofs=`echo $fs | awk '{ print $2; }'` + echo "CRITICAL: $rofs is a read-only filesystem." + done + + if ! grep -E '^.*\ .*\ (ext.*|btrfs|xfs)\ ro,.*$' /proc/mounts 1>/dev/null; then + echo "OK." + else + retval=$NAGCRIT + fi + + exit $retval +} + +main |