1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-07-22 02:51:03 +00:00

Add support for ZFS On Linux

This commit is contained in:
Tuxis Internet Engineering 2013-12-16 10:55:35 +01:00
parent 84d972d71f
commit 1bf1090901

View file

@ -6,10 +6,12 @@
#%# capabilities=autoconf #%# capabilities=autoconf
sysctl='/sbin/sysctl' sysctl='/sbin/sysctl'
ostype=`uname -s`
procfile='/proc/spl/kstat/zfs/arcstats'
case $1 in case $1 in
config) config)
cat <<EOF cat <<EOF
graph_title ZFS ARC efficiency graph_title ZFS ARC efficiency
graph_vlabel % graph_vlabel %
graph_scale no graph_scale no
@ -209,23 +211,37 @@ EOF
# mru_ghost_hits_perc.cdef mru_ghost_hits,100,*,hits,/ # mru_ghost_hits_perc.cdef mru_ghost_hits,100,*,hits,/
# mru_ghost_hits_perc.label Most recently used ghost hits # mru_ghost_hits_perc.label Most recently used ghost hits
# mru_ghost_hits_perc.graph no # mru_ghost_hits_perc.graph no
exit 0 exit 0
;; ;;
autoconf) autoconf)
if [ ! -x ${sysctl} ]; then if [ ! -x ${sysctl} ]; then
echo "no (${sysctl} is not executable)" echo "no (${sysctl} is not executable)"
exit 1 exit 1
fi fi
ostype=`uname -s` if [ ${ostype} = "FreeBSD" ]; then
if [ ${ostype} = "FreeBSD" ]; then echo "yes"
echo "yes" exit 0
exit 0 fi
fi if [ ${ostype} = "Linux" ]; then
echo "no (You're OS is not supported by this plugin)" if [ -f ${procfile} ]; then
exit 1 echo "yes"
;; exit 0
fi
echo "no (The statsfile does not exist: ${procfile})"
exit 1
fi
echo "no (You're OS is not supported by this plugin)"
exit 1
;;
suggest) suggest)
exit 0 exit 0
;; ;;
esac
case ${ostype} in
"FreeBSD")
$sysctl kstat.zfs.misc.arcstats | sed -e 's/^kstat.zfs.misc.arcstats.//' -e 's/:/.value/'
;;
"Linux")
cat ${procfile} | tail -n +3 | sed -e 's/ \+/ /g' | cut -f 1,3 -d ' ' | sed -e 's/ /.value /'
;;
esac esac
$sysctl kstat.zfs.misc.arcstats | sed -e 's/^kstat.zfs.misc.arcstats.//' -e 's/:/.value/'