#!/bin/sh # # Plugin to plot OpenVZ VE Stats # # by Rene Weselowski # http://www.dead.at # # Parameters: # # config (required) # autoconf (optional - used by munin-config) # # $Log$ # #%# family=auto #%# capabilities=autoconf suggest ATTRIBUTE=$(basename "$0" | sed 's/^openvz_//g') if [ "$1" = "autoconf" ]; then if which vzlist >/dev/null; then echo yes else echo "no (missing 'vzlist' executable)" fi exit 0 fi if [ "$1" = "suggest" ]; then echo "laverage" echo "status" exit 0 fi if [ "$1" = "config" ]; then echo "graph_title $ATTRIBUTE" echo "graph_args --base 1000 -l 0" echo "graph_scale yes" echo "graph_vlabel $ATTRIBUTE Value" echo "graph_category virtualization" echo "graph_info This graph shows OpenVZ: $ATTRIBUTE" vzlist -a -H --no-trim -o hostname | awk '{gsub(/\./,"_",$1) print("'$ATTRIBUTE'"$1".label "$1"\n" \ "'$ATTRIBUTE'"$1".info '$ATTRIBUTE' for VE"$1)}' exit 0 fi filter() { cat; } [ "$ATTRIBUTE" = 'laverage' ] && filter() { sed -e 's/[0-9\.]*\/\(.*\)\/.*$/\1/g'; } [ "$ATTRIBUTE" = 'status' ] && filter() { sed -e 's/running/10/g;s/stopped/0/g'; } #TODO: filter for uptime vzlist -a -H --no-trim -o "hostname,$ATTRIBUTE" | filter | awk '{gsub(/\./,"_",$1) print("'$ATTRIBUTE'"$1".value "$2)}' exit 0