Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Monitoring openvz resources using munin

3,415 bytes added, 23:32, 4 July 2007
munin plugin
at /etc/munin/plugin-conf.d/ somewhere.
 
 
Extended Version for old system using user_beancounter.
 
Put it with the munin plugins and make a link for every
graph which should be produced named like:
 
vebc_VALUENAME1_VALUENAME2_..._VEID
 
e.g.: vebc_numflock_numpty_numsiginfo_101
 
<pre>
#!/bin/sh
#
# plugin to monitor OpenVZ bean counters.
#
#
#%# family=auto
#%# capabilities=autoconf suggest
 
ATTR=`basename $0 | sed -e 's/^vebc_.*_//'`
STATS=`basename $0 | sed -e 's/^vebc_//' -e 's/_[0-9]*$//' -e 's/_/ /g'`
 
if [ "$1" = "autoconf" ]; then
if [ -r /proc/bc/0/resources ]; then
echo yes
exit 0
else
echo "no (/proc/bc/0/resources not found)"
exit 1
fi
fi
 
if [ "$1" = "suggest" ]; then
 
if [ -r /proc/bc/0/resources ]; then
cat /proc/bc/0/resources |
while read str; do
 
vals=($str)
echo ${vals[0]}
done
 
exit 0
else
exit 1
fi
fi
 
if [ "$1" = "config" ]; then
 
# echo "graph_order down up"
echo "graph_title beancounter for VE$ATTR: $STATS"
echo "graph_category VE$ATTR"
echo "graph_info 'VE bean counters info'"
 
readme="false"
cat /proc/user_beancounters | while read myid stuff; do
 
line=""
 
if [ "$myid" == "$ATTR:" ]; then
 
readme="true"
line="$stuff"
echo $line
else
 
loid=`echo $myid | sed -e 's/.*:/:/'`
 
if [ "$loid" == ":" ]; then
 
readme="false"
fi
if [ "$readme" == "true" ]; then
 
line="$myid $stuff"
echo $line
fi
fi
 
done | while read name value top warn max; do
 
okname="dummy"
 
for statname in $STATS; do
 
if [ "$name" == "$statname" ]; then
 
okname=$name
fi
 
done
 
if [ "$okname" != "dummy" ]; then
 
echo $okname.label $name
echo $okname.warning $warn
echo $okname.critical $max
fi
done
 
exit 0
fi;
 
 
readme="false"
cat /proc/user_beancounters | while read myid stuff; do
 
line=""
 
if [ "$myid" == "$ATTR:" ]; then
 
readme="true"
line="$stuff"
echo $line
else
 
loid=`echo $myid | sed -e 's/.*:/:/'`
 
if [ "$loid" == ":" ]; then
 
readme="false"
fi
 
if [ "$readme" == "true" ]; then
 
line="$myid $stuff"
echo $line
fi
fi
done | while read name value x; do
 
okname="dummy"
 
for statname in $STATS; do
 
if [ "$name" == "$statname" ]; then
 
okname=$name
fi
done
 
if [ "$okname" != "dummy" ]; then
 
echo $okname.value $value
fi
 
done
 
</pre>
 
This is not too performant but should do and the graphs are much
more readable then the first solution.
1
edit