mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-25 02:18:08 +00:00
Initial version
This commit is contained in:
parent
81a80fba98
commit
214407caa0
1 changed files with 50 additions and 0 deletions
50
plugins/other/smart-by-id_
Executable file
50
plugins/other/smart-by-id_
Executable file
|
@ -0,0 +1,50 @@
|
|||
#!/bin/bash
|
||||
|
||||
DISK=${0/*smart-by-id_/}
|
||||
|
||||
echo "# $DISK"
|
||||
|
||||
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
|
||||
case $1 in
|
||||
config)
|
||||
echo 'graph_title S.M.A.R.T values for drive '`readlink -f /dev/disk/by-id/$DISK`
|
||||
echo 'graph_vlabel Attribute S.M.A.R.T value'
|
||||
echo 'graph_args --base 1000 --lower-limit 0'
|
||||
echo 'graph_category disk'
|
||||
echo 'graph_info This graph shows the value of all S.M.A.R.T attributes of drive '`smartctl -i /dev/disk/by-id/$DISK | grep -Ei 'model|serial|firmware' | sed -re 's/.+?: +//gm' | tr '\n' ' '`
|
||||
echo 'smartctl_exit_status.label smartctl exit value'
|
||||
echo 'smartctl_exit_status.draw LINE2'
|
||||
echo 'smartctl_exit_class.label smartctl exit status'
|
||||
echo 'smartctl_exit_class.draw AREA'
|
||||
echo 'smartctl_exit_class.warning :0'
|
||||
echo 'smartctl_exit_class.critical :1'
|
||||
|
||||
smartctl -A /dev/disk/by-id/$DISK | grep 0x | while read
|
||||
do
|
||||
OP=($REPLY)
|
||||
ON=`echo ${OP[1]} | sed -e 's/-/_/g'`
|
||||
OL=`echo ${OP[1]} | sed -e 's/_/ /g'`
|
||||
echo ${ON}.label ${OL}
|
||||
echo ${ON}.draw LINE2 | sed -e 's/-/_/g'
|
||||
echo ${ON}.critical ${OP[5]}: | sed -e 's/-/_/g'
|
||||
done
|
||||
;;
|
||||
suggest)
|
||||
ls -1 /dev/disk/by-id/scsi-* | grep -v part | grep -o scsi.*
|
||||
;;
|
||||
"")
|
||||
smartctl -a /dev/disk/by-id/$DISK &> /dev/null
|
||||
SES=$?
|
||||
echo "smartctl_exit_status.value $SES"
|
||||
if [ $SES -gt 0 ]
|
||||
then
|
||||
if [ $((SES & 7)) -gt 0 ] ; then exit 1 ; fi
|
||||
if [ $((SES & 24)) -gt 0 ] ; then SES=2 ; fi
|
||||
if [ $((SES & 224)) -gt 0 ] ; then SES=1 ; fi
|
||||
fi
|
||||
echo "smartctl_exit_class.value $SES"
|
||||
smartctl -A /dev/disk/by-id/$DISK | grep 0x | awk '{ print $2.".value",$4; }' | sed -e 's/-/_/g'
|
||||
;;
|
||||
esac
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue