- Repository
- Munin (master)
- Last change
- 2018-08-17
- Graph Categories
- Family
- auto
- Capabilities
- Keywords
- Language
- Shell
- License
- GPL-2.0-only
df_inode
Name
df_inode - Plugin to monitor disk usage (measuring inode usage in percent)
Configuration
This shows the default configuration
[df*]
env.df /usr/sbin/df
env.warning 92
env.critical 98
A device specific warning/critical level is also supported. Append the munin label (shown in the plugin display page) and append _warning or _critical respectively to get the (environment variable) name.
To limit the monitored filesystems, configure the “only” environment variable. For example, to only monitor /, one would add to plugin-conf.d:
[df*]
env.only /
Author
Unknown author
License
GPLv2
Magic Markers
#%# family=auto
#%# capabilities=autoconf
Pod Errors
Hey! The above document had some coding errors, which are explained below:
Around line 31:
=back without =over
#!/bin/sh
: << =cut
=head1 NAME
df_inode - Plugin to monitor disk usage (measuring inode usage in percent)
=head1 CONFIGURATION
This shows the default configuration
[df*]
env.df /usr/sbin/df
env.warning 92
env.critical 98
A device specific warning/critical level is also supported. Append
the munin label (shown in the plugin display page) and append _warning
or _critical respectively to get the (environment variable) name.
To limit the monitored filesystems, configure the "only" environment variable.
For example, to only monitor /, one would add to plugin-conf.d:
[df*]
env.only /
=back
=head1 AUTHOR
Unknown author
=head1 LICENSE
GPLv2
=head1 MAGIC MARKERS
#%# family=auto
#%# capabilities=autoconf
=cut
. "$MUNIN_LIBDIR/plugins/plugin.sh"
DF=${df:-/usr/sbin/df}
TAIL=/usr/bin/tail
warning=${warning:-92}
critical=${critical:-98}
# Figure out correct way to invoke df and what output to use
if $DF -P -l -i $only >/dev/null 2>&1; then
DF="$DF -P -l -i $only"
FSNAME=6
else
DF="$DF -F ufs -oi $only 2>/dev/null"
FSNAME=5
PCNT=4
fi
if [ "$1" = 'autoconf' ]; then
echo yes
exit 0
fi
if [ "$1" = "config" ]; then
echo 'graph_title Inode usage in percent'
echo 'graph_args --upper-limit 100'
echo 'graph_category disk'
echo 'graph_scale no'
echo 'graph_info This graph shows the number of free inodes on the systems filesystem. Please note that with ZFS there is no limit on the number of inodes and the df included in Solaris will not report any numbers to graph. On ZFS only filesystems there will be no graph. GNU df will report numbers and result in a graph but for ZFS filesystems the numbers will have limited usability.'
# Using the mount point as name is silly as / becomes '' after
# the needed substitutions. So in this incarnation we use the
# device name. Since the plugin already changed names this
# should be ok.
eval $DF | $TAIL +2 | while read dev two three four five six; do
case $FSNAME in
5) mnt=$five;;
6) mnt=$six;;
esac
case $dev:$mnt in
/usr/lib*|ctfs:*|objfs:*|mnttab:*|sharefs:*|*:/cdrom/*|*:/media/*) continue;;
swap:*) name=$(clean_fieldname $mnt);;
*) name=$(clean_fieldname $dev);;
esac
echo "$name.label $mnt"
print_warning "$name"
print_critical "$name"
done
exit 0
fi
eval $DF | $TAIL +2 | while read dev two three four five six; do
case $PCNT in
5) pct=$five;;
4) pct=$four;;
esac
case $FSNAME in
5) mnt=$five;;
6) mnt=$six;;
esac
case $dev in
/usr/lib*|ctfs:*|objfs:*|mnttab:*|sharefs:*|*:/cdrom/*|*:/media/*) continue;;
swap:*) name=$(clean_fieldname $mnt);;
*) name=$(clean_fieldname $dev);;
esac
echo "$name.value $pct" | cut -f1 -d%
done