<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openvz.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pepa</id>
	<title>OpenVZ Virtuozzo Containers Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openvz.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pepa"/>
	<link rel="alternate" type="text/html" href="https://wiki.openvz.org/Special:Contributions/Pepa"/>
	<updated>2026-06-13T19:26:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Monitoring_openvz_resources_using_munin&amp;diff=3263</id>
		<title>Monitoring openvz resources using munin</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Monitoring_openvz_resources_using_munin&amp;diff=3263"/>
		<updated>2007-07-04T23:32:56Z</updated>

		<summary type="html">&lt;p&gt;Pepa: /* munin plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== munin plugin ==&lt;br /&gt;
&lt;br /&gt;
The plugin listed below grabs all the bean counters' values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# plugin to monitor OpenVZ bean counters.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#%# family=auto&lt;br /&gt;
#%# capabilities=autoconf suggest&lt;br /&gt;
&lt;br /&gt;
ATTR=`basename $0 | sed 's/^vebc_//g'`&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;autoconf&amp;quot; ]; then&lt;br /&gt;
        if [ -r /proc/bc/0/resources ]; then&lt;br /&gt;
                echo yes&lt;br /&gt;
                exit 0&lt;br /&gt;
        else&lt;br /&gt;
                echo &amp;quot;no (/proc/bc/0/resources not found)&amp;quot;&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;suggest&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
        if [ -r /proc/bc/0/resources ]; then&lt;br /&gt;
            cat /proc/bc/0/resources |&lt;br /&gt;
            while read str; do&lt;br /&gt;
&lt;br /&gt;
                vals=($str)&lt;br /&gt;
                echo ${vals[0]}&lt;br /&gt;
            done&lt;br /&gt;
&lt;br /&gt;
                exit 0&lt;br /&gt;
        else&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;config&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
#       echo &amp;quot;graph_order down up&amp;quot;&lt;br /&gt;
        echo &amp;quot;graph_title $ATTR beancounter for VE's&amp;quot;&lt;br /&gt;
        echo 'graph_category system'&lt;br /&gt;
        echo &amp;quot;graph_info 'VE bean counters info'&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        for VEID in `ls -d1 /proc/bc/???`; do&lt;br /&gt;
            id=`basename $VEID`&lt;br /&gt;
            grep $ATTR $VEID/resources |&lt;br /&gt;
            while read str; do&lt;br /&gt;
&lt;br /&gt;
                vals=($str)&lt;br /&gt;
                name=${vals[0]}&lt;br /&gt;
                echo ${id}.label $id&lt;br /&gt;
                echo &amp;quot;${id}.warning  ${vals[3]}&amp;quot;&lt;br /&gt;
                echo &amp;quot;${id}.critical  ${vals[4]}&amp;quot;&lt;br /&gt;
            done&lt;br /&gt;
        done&lt;br /&gt;
&lt;br /&gt;
        exit 0&lt;br /&gt;
fi;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        for VEID in `ls -d1 /proc/bc/???`; do&lt;br /&gt;
            id=`basename $VEID`&lt;br /&gt;
            grep $ATTR $VEID/resources |&lt;br /&gt;
            while read str; do&lt;br /&gt;
&lt;br /&gt;
                vals=($str)&lt;br /&gt;
                name=${vals[0]}&lt;br /&gt;
                echo &amp;quot;$id.value ${vals[1]}&amp;quot;&lt;br /&gt;
            done&lt;br /&gt;
        done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note, you have to configure plugin to run as root:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[vebc*]&lt;br /&gt;
user root&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at /etc/munin/plugin-conf.d/ somewhere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Extended Version for old system using user_beancounter.&lt;br /&gt;
&lt;br /&gt;
Put it with the munin plugins and make a link for every&lt;br /&gt;
graph which should be produced named like:&lt;br /&gt;
&lt;br /&gt;
vebc_VALUENAME1_VALUENAME2_..._VEID&lt;br /&gt;
&lt;br /&gt;
e.g.: vebc_numflock_numpty_numsiginfo_101&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# plugin to monitor OpenVZ bean counters.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#%# family=auto&lt;br /&gt;
#%# capabilities=autoconf suggest&lt;br /&gt;
&lt;br /&gt;
ATTR=`basename $0 | sed -e 's/^vebc_.*_//'`&lt;br /&gt;
STATS=`basename $0 | sed -e 's/^vebc_//' -e 's/_[0-9]*$//' -e 's/_/ /g'`&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;autoconf&amp;quot; ]; then&lt;br /&gt;
        if [ -r /proc/bc/0/resources ]; then&lt;br /&gt;
                echo yes&lt;br /&gt;
                exit 0&lt;br /&gt;
        else&lt;br /&gt;
                echo &amp;quot;no (/proc/bc/0/resources not found)&amp;quot;&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;suggest&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
        if [ -r /proc/bc/0/resources ]; then&lt;br /&gt;
            cat /proc/bc/0/resources |&lt;br /&gt;
            while read str; do&lt;br /&gt;
&lt;br /&gt;
                vals=($str)&lt;br /&gt;
                echo ${vals[0]}&lt;br /&gt;
            done&lt;br /&gt;
&lt;br /&gt;
                exit 0&lt;br /&gt;
        else&lt;br /&gt;
                exit 1&lt;br /&gt;
        fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;config&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
#       echo &amp;quot;graph_order down up&amp;quot;&lt;br /&gt;
        echo &amp;quot;graph_title beancounter for VE$ATTR: $STATS&amp;quot;&lt;br /&gt;
        echo &amp;quot;graph_category VE$ATTR&amp;quot;&lt;br /&gt;
        echo &amp;quot;graph_info 'VE bean counters info'&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        readme=&amp;quot;false&amp;quot;&lt;br /&gt;
        cat /proc/user_beancounters | while read myid stuff; do&lt;br /&gt;
&lt;br /&gt;
                line=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
                if [ &amp;quot;$myid&amp;quot; == &amp;quot;$ATTR:&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
                        readme=&amp;quot;true&amp;quot;&lt;br /&gt;
                        line=&amp;quot;$stuff&amp;quot;&lt;br /&gt;
                        echo $line&lt;br /&gt;
                else&lt;br /&gt;
&lt;br /&gt;
                        loid=`echo $myid | sed -e 's/.*:/:/'`&lt;br /&gt;
&lt;br /&gt;
                        if [ &amp;quot;$loid&amp;quot; == &amp;quot;:&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
                                readme=&amp;quot;false&amp;quot;&lt;br /&gt;
                        fi&lt;br /&gt;
                        if [ &amp;quot;$readme&amp;quot; == &amp;quot;true&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
                                line=&amp;quot;$myid $stuff&amp;quot;&lt;br /&gt;
                        echo $line&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
&lt;br /&gt;
        done | while read name value top warn max; do&lt;br /&gt;
&lt;br /&gt;
                okname=&amp;quot;dummy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
                for statname in $STATS; do&lt;br /&gt;
&lt;br /&gt;
                        if [ &amp;quot;$name&amp;quot; == &amp;quot;$statname&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
                                okname=$name&lt;br /&gt;
                        fi&lt;br /&gt;
&lt;br /&gt;
                done&lt;br /&gt;
&lt;br /&gt;
                if [ &amp;quot;$okname&amp;quot; != &amp;quot;dummy&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
                        echo $okname.label $name&lt;br /&gt;
                        echo $okname.warning $warn&lt;br /&gt;
                        echo $okname.critical $max&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
&lt;br /&gt;
        exit 0&lt;br /&gt;
fi;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
readme=&amp;quot;false&amp;quot;&lt;br /&gt;
cat /proc/user_beancounters | while read myid stuff; do&lt;br /&gt;
&lt;br /&gt;
        line=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        if [ &amp;quot;$myid&amp;quot; == &amp;quot;$ATTR:&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
                readme=&amp;quot;true&amp;quot;&lt;br /&gt;
                line=&amp;quot;$stuff&amp;quot;&lt;br /&gt;
                echo $line&lt;br /&gt;
        else&lt;br /&gt;
&lt;br /&gt;
                loid=`echo $myid | sed -e 's/.*:/:/'`&lt;br /&gt;
&lt;br /&gt;
                if [ &amp;quot;$loid&amp;quot; == &amp;quot;:&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
                        readme=&amp;quot;false&amp;quot;&lt;br /&gt;
                fi&lt;br /&gt;
&lt;br /&gt;
                if [ &amp;quot;$readme&amp;quot; == &amp;quot;true&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
                        line=&amp;quot;$myid $stuff&amp;quot;&lt;br /&gt;
                echo $line&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
done | while read name value x; do&lt;br /&gt;
&lt;br /&gt;
        okname=&amp;quot;dummy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        for statname in $STATS; do&lt;br /&gt;
&lt;br /&gt;
                if [ &amp;quot;$name&amp;quot; == &amp;quot;$statname&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
                        okname=$name&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
&lt;br /&gt;
        if [ &amp;quot;$okname&amp;quot; != &amp;quot;dummy&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
                echo $okname.value $value&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is not too performant but should do and the graphs are much&lt;br /&gt;
more readable then the first solution.&lt;/div&gt;</summary>
		<author><name>Pepa</name></author>
		
	</entry>
</feed>