#!/bin/sh : << =cut =encoding utf8 =head1 NAME df - Script to monitor disk usage =head1 APPLICABLE SYSTEMS Cygwin 1.7.x or higher systems with coreutils installed. =head1 USAGE Link this plugin to /etc/munin/plugins/ and restart the munin-node. The plugin excludes per default the following special, read-only or dynamically allocating file systems from graphing: iso9660 =head1 CONFIGURATION The following environment variables are used by this plugin: warning - Warning percentage (Default: 92) critical - Critical percentage (Default: 98) =head1 BUGS/TODO Check smb/cifs remote mounts. (Cygwin bug, 2002 vintage, still unfixed: -l switch to df is reversed.) =head1 AUTHOR Erik Inge Bolsø =head1 LICENSE GPLv2 =head1 MAGIC MARKERS #%# family=auto #%# capabilities=autoconf =cut . "$MUNIN_LIBDIR/plugins/plugin.sh" print_values () { df -P -x iso9660 2>/dev/null | sed -e 1d -e '/\/\//d' -e 's/%//' | while read -r dev size used free pct fs; do echo "$(clean_fieldname "$dev").value $pct" done } if [ "$1" = "autoconf" ]; then if [ -z "$(print_values)" ] ; then echo no else echo yes fi exit 0 fi if [ "$1" = "config" ]; then echo 'graph_title Disk usage in percent' echo 'graph_args --upper-limit 100 -l 0' echo 'graph_vlabel %' echo 'graph_scale no' echo 'graph_category disk' # shellcheck disable=SC2034 df -P -x iso9660 | sed -e 1d -e '/\/\//d' -e 's/%//' | sort \ | while read -r dev size used free pct fs; do name=$(clean_fieldname "$dev") echo "$name.label $fs" print_warning "$name" print_critical "$name" done exit 0 fi print_values