From c92be7823ce1ab851126b347d7180dda549ba5a6 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 6 Sep 2016 15:02:15 +0200 Subject: Monitoring: Add check_fs_ro.sh plugin. --- usr-lib-nagios-plugins/check_fs_ro.sh | 67 +++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 usr-lib-nagios-plugins/check_fs_ro.sh (limited to 'usr-lib-nagios-plugins/check_fs_ro.sh') 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 -- cgit v1.2.3