1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-07-21 18:41:03 +00:00

Merge branch 'lxc_ram-cleanup'

This commit is contained in:
Lars Kruse 2018-06-10 14:55:01 +02:00
commit db211fc72f

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/sh
# -*- sh -*-
: << =cut
@ -40,94 +40,83 @@ Unknown license
=cut
. $MUNIN_LIBDIR/plugins/plugin.sh
guest_names=`lxc-ls | sort -u`
# configurable: true/false
areastack=${areastack:-false}
# shellcheck disable=SC1090
. "$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
if lxc-info -n "$guest" 2>&1 | grep -qs RUNNING ; then
active="$active $guest"
fi
done
guest_names="$active"
f_comm='lxc-cgroup '
do_autoconf() {
if [ -r /proc/stat ]; then
echo yes
else
echo "no (no /proc/stat)"
fi
}
do_config() {
echo 'graph_title Memory '
echo 'graph_args -l 0 --base 1024'
echo 'graph_vlabel byte'
echo 'graph_category memory'
for guest_name in $guest_names; do
guest="$(clean_fieldname "$guest_name")"
echo "mem_usage_$guest.label $guest_name: Mem usage"
echo "mem_usage_$guest.type GAUGE"
if [ "$areastack" = "true" ]; then
echo "mem_usage_$guest.draw AREASTACK"
fi
echo "mem_cache_$guest.label $guest_name: Cache"
echo "mem_cache_$guest.type GAUGE"
echo "mem_active_$guest.label $guest_name: Active"
echo "mem_active_$guest.type GAUGE"
echo "mem_inactive_$guest.label $guest_name: Inactive"
echo "mem_inactive_$guest.type GAUGE"
done
}
do_fetch() {
for guest_name in $guest_names; do
guest="$(clean_fieldname "$guest_name")"
value=$($f_comm -n "$guest_name" memory.usage_in_bytes)
echo "mem_usage_$guest.value $value"
value=$($f_comm -n "$guest_name" memory.stat | grep total_cache | awk '{print($2)}')
echo "mem_cache_$guest.value $value"
value=$($f_comm -n "$guest_name" memory.stat | grep total_active_anon | awk '{print($2)}')
echo "mem_active_$guest.value $value"
value=$($f_comm -n "$guest_name" memory.stat | grep total_inactive_anon | awk '{print($2)}')
echo "mem_inactive_$guest.value $value"
done
}
if [ "$1" = "autoconf" ]; then
if [ -r /proc/stat ]; then
echo yes
exit 0
else
echo "no (no /proc/stat)"
exit 0
fi
do_autoconf
elif [ "$1" = "config" ]; then
do_config
if [ "${MUNIN_CAP_DIRTYCONFIG:-0}" = "1" ]; then do_fetch; fi
else
do_fetch
fi
if [ "$1" = "config" ]; then
echo 'graph_title Memory '
echo 'graph_args -l 0 --base 1024'
echo 'graph_vlabel byte'
echo 'graph_category memory'
if [ "$areastack" = "true" ]; then
for guest_name in $guest_names; do
guest="$(clean_fieldname $guest_name)"
echo 'mem_usage_'$guest'.label '$guest_name': Mem usage'
echo 'mem_usage_'$guest'.type GAUGE'
echo 'mem_usage_'$guest'.draw AREASTACK'
done
for guest_name in $guest_names; do
guest="$(clean_fieldname $guest_name)"
echo 'mem_cache_'$guest'.label '$guest_name': Cache'
echo 'mem_cache_'$guest'.type GAUGE'
echo 'mem_active_'$guest'.label '$guest_name': Active'
echo 'mem_active_'$guest'.type GAUGE'
echo 'mem_inactive_'$guest'.label '$guest_name': Inactive'
echo 'mem_inactive_'$guest'.type GAUGE'
done
else
for guest_name in $guest_names;
do
guest="$(clean_fieldname $guest_name)"
echo 'mem_usage_'$guest'.label '$guest_name': Mem usage'
echo 'mem_usage_'$guest'.type GAUGE'
echo 'mem_cache_'$guest'.label '$guest_name': Cache'
echo 'mem_cache_'$guest'.type GAUGE'
echo 'mem_active_'$guest'.label '$guest_name': Active'
echo 'mem_active_'$guest'.type GAUGE'
echo 'mem_inactive_'$guest'.label '$guest_name': Inactive'
echo 'mem_inactive_'$guest'.type GAUGE'
done
fi
exit 0
fi
for guest_name in $guest_names;
do
guest="$(clean_fieldname $guest_name)"
tmp_v=`$f_comm -n $guest_name memory.usage_in_bytes`
echo 'mem_usage_'$guest'.value '$tmp_v
tmp_g=`$f_comm -n $guest_name memory.stat | grep total_cache`
tmp_v=`echo $tmp_g | awk '{print($2)}'`
echo 'mem_cache_'$guest'.value '$tmp_v
tmp_g=`$f_comm -n $guest_name memory.stat | grep total_active_anon`
tmp_v=`echo $tmp_g | awk '{print($2)}'`
echo 'mem_active_'$guest'.value '$tmp_v
tmp_g=`$f_comm -n $guest_name memory.stat | grep total_inactive_anon`
tmp_v=`echo $tmp_g | awk '{print($2)}'`
echo 'mem_inactive_'$guest'.value '$tmp_v
done