Build precise queries to find exactly what you need
Press ESC to close
Hi, here’s my version that works on my config, i changed some deprecated commands:
#!/bin/bash # # Created by Sebastian Grewe, Jammicron Technology #
# Get count of raid arrays RAID_DEVICES=$(grep ^md -c /proc/mdstat)
# Get count of degraded arrays #RAID_STATUS=`grep “[.*_.*]” /proc/mdstat -c` RAID_STATUS=$(grep -E “[.*(=|>|.).*]” /proc/mdstat -c)
# Is an array currently recovering, get percentage of recovery RAID_RECOVER=$(grep recovery /proc/mdstat | awk ‘{print $4}’) RAID_RESYNC=$(grep resync /proc/mdstat | awk ‘{print $4}’) RAID_CHECK=$(grep check /proc/mdstat | awk ‘{print $4}’)
# Check raid status # RAID recovers –> Warning if [ -n “${RAID_RECOVER}” ]; then #if [[ $RAID_RECOVER ]]; then STATUS=”WARNING – Checked $RAID_DEVICES arrays, recovering : $RAID_RECOVER” EXIT=1 elif [ -n “${RAID_RESYNC}” ]; then STATUS=”WARNING – Checked $RAID_DEVICES arrays, resync : $RAID_RESYNC” EXIT=1 elif [ -n “${RAID_CHECK}” ]; then STATUS=”OK – Checked $RAID_DEVICES arrays, check : $RAID_CHECK” EXIT=0 # RAID ok elif [ -n “${RAID_STATUS}” = “0” ]; then STATUS=”OK – Checked $RAID_DEVICES arrays.” EXIT=0 # All else critical, better save than sorry else EXTEND_RAID_STATUS=$(grep -E “[.*(=|>|.|_).*]” /proc/mdstat | awk ‘{print $2}’ | uniq -c | xargs echo) STATUS=”WARNING- Checked $RAID_DEVICES arrays, $RAID_STATUS have failed check: $EXTEND_RAID_STATUS ” EXIT=1 fi
# Status and quit echo “$STATUS” exit $EXIT
We’ve completely redesigned the world’s largest repository of Nagios plugins and monitoring tools. Join thousands of users sharing monitoring solutions for servers, applications, and everything in between.
Due to our redesign, all existing accounts require a password reset to access your account again.
Ready to explore 6,100+ projects and contribute to the community?
Reset Password Create Account
Happy Monitoring!