diff --git a/plugins/other/vpsmem b/plugins/other/vpsmem new file mode 100755 index 00000000..60072328 --- /dev/null +++ b/plugins/other/vpsmem @@ -0,0 +1,61 @@ +#!/bin/bash +# +# Monitors memory usage in openVZ or Virtuozzo +# based on http://www.huschi.net/archiv/speicher-anzeigen-mit-vzfree.html +# Author: Michael Richter, http://osor.de/ +# +#%# capabilities=autoconf + +if [ "$1" == "autoconf" ]; then + if [ -e /proc/user_beancounters ]; then + echo yes + exit 0 + else + echo no + exit 1 + fi +fi + +x=$(cat /proc/user_beancounters | grep privvmpages| awk 'BEGIN{ cur=max=bar=lim=fail=0; }{ cur+=$2; max+=$3;bar+=$4;lim+=$5;fail+=$6 } END {print cur*4*1024,max*4*1024,bar*4*1024,lim*4*1024,fail}') + + momentan=$(echo $x| awk '{print $1}') +maximalgenutzt=$(echo $x| awk '{print $2}') + barriere=$(echo $x| awk '{print $3}') +maximalnutzbar=$(echo $x| awk '{print $4}') + fehler=$(echo $x| awk '{print $5}') + +zu=$(cat /proc/user_beancounters | grep oomguarpages | awk 'BEGIN{ bar=0; }{ bar+=$4 } END { print bar*4*1024}') + +zugesichert=$(echo $zu| awk '{print $1}') + +if [ "$1" == "config" ]; then + echo "graph_args --base 1024 -l 0 --vertical-label Speicher --upper-limit $maximalnutzbar"; + echo "graph_title VPS Speichernutzung" + echo "graph_category system" + echo "graph_info Diese Grafik zeigt die Speichernutzung." + echo "graph_order maximal momentan zugesichert barriere limit" + + echo "momentan.label Momentan" + echo "momentan.draw AREA" + echo "momentan.info Aktueller Speicherverbrauch" + echo "maximal.label Maximal" + echo "maximal.draw AREA" + echo "maximal.info Maximaler Speicherverbrauch" + echo "zugesichert.label Zugesichert" + echo "zugesichert.draw LINE2" + echo "zugesichert.info Zugesicherter Speicher" + echo "barriere.label Barriere" + echo "barriere.draw LINE2" + echo "barriere.info Maximal erlaubter Speicher" + echo "limit.label Limit" + echo "limit.draw LINE2" + echo "limit.info Maximal nutzbarer Speicher" + exit 0 +fi + +echo "momentan.value $momentan" +echo "maximal.value $maximalgenutzt" +echo "zugesichert.value $zugesichert" +echo "barriere.value $barriere" +echo "limit.value $maximalnutzbar" +