#!/bin/bash # -*- sh -*- : << =cut =head1 NAME lxc_cpu_time - Plugin to monitor LXC CPU time usage =head1 CONFIGURATION [lxc_*] user root =head1 INTERPRETATION This plugin needs root privilege. =head1 AUTHOR vajtsz vajtsz@gmail.com mitty mitty@mitty.jp =head1 LICENSE Unknown license =head1 MAGIC MARKERS #%# family=auto #%# capabilities=autoconf =cut . $MUNIN_LIBDIR/plugins/plugin.sh guest_names=`lxc-ls | sort -u` for guest in $guest_names; do if lxc-info -n $guest 2>&1 | grep -qs RUNNING ; then active="$active $guest" fi done guest_names="$active" f_comm='lxc-cgroup ' if [ "$1" = "autoconf" ]; then if [ -r /proc/stat ]; then echo yes exit 0 else echo "no (no /proc/stat)" exit 0 fi fi if [ "$1" = "config" ]; then echo 'graph_title CPU time ' echo 'graph_args -l 0 --base 1000' echo 'graph_vlabel nanosec' echo 'graph_category cpu' for guest_name in $guest_names; do guest="$(clean_fieldname $guest_name)" echo 'cpu_time_'$guest'.label '$guest_name': CPU time' echo 'cpu_time_'$guest'.type DERIVE' echo 'cpu_time_'$guest'.min 0' done exit 0 fi for guest_name in $guest_names; do guest="$(clean_fieldname $guest_name)" tmp_g=`$f_comm -n $guest_name cpuacct.usage ` echo 'cpu_time_'$guest'.value '$tmp_g done