#!/bin/sh # -*- sh -*- : << EOF =head1 NAME lvm_ - Wildcard plugin for monitoring disk usage on LVM. Each Volume Group is graphed separately. =head1 CONFIGURATION This plugin needs to run as the root user in order to have permission to run sudo lvs and vgs [lvm_*] user root =head1 AUTHOR =over 4 =item * PatrickDK (Original Author) =item * Niall Donegan =back =head1 LICENSE Unknown license =head1 MAGIC MARKERS =begin comment These magic markers are used by munin-node-configure when installing munin-node. =end comment #%# family=auto #%# capabilities=autoconf suggest =cut EOF . $MUNIN_LIBDIR/plugins/plugin.sh if [ "$1" = "autoconf" ]; then if ! command -v sudo lvs >/dev/null; then echo "no (sudo lvs not found)" elif ! command -v vgs >/dev/null; then echo "no (vgs not found)" else echo "yes" fi exit 0 fi if [ "$1" = "suggest" ]; then sudo vgs -o vg_name --noheadings | sed -e 's/\ *//' exit 0 fi vg=`echo $0 | awk '{ sub(".*lvm_","",\$1); print \$1; }'` clean_name() { echo "$(clean_fieldname "$1")" } if [ "$1" = "config" ]; then echo "graph_title Logical Volume Usage($vg)" echo 'graph_args --base 1024 -l 0' echo 'graph_category disk' echo 'graph_info This graph shows disk usage on the machine.' echo "free.label free" echo "free.draw AREA" sudo lvs --units b --nosuffix --noheadings | grep "$vg" | while read i; do name=`clean_name $i` echo -n "$name.label " echo $i | awk '{ print $1 }' echo "$name.draw STACK" done exit 0 fi i=`sudo vgs --units b --nosuffix --noheadings | grep "$vg"` echo -n "free.value " echo $i | awk '{ print $7 }' sudo lvs --units b --nosuffix --noheadings | grep "$vg" | while read i; do name=`clean_name $i` echo -n "$name.value " echo $i | awk '{ print $4 }' done