From 8a5b34c9c8e78388cf31b56cfdab76799feebd72 Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Sun, 10 Jun 2018 14:35:12 +0200 Subject: [PATCH 1/7] lxc_ram: simplify quoting --- plugins/lxc/lxc_ram | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/plugins/lxc/lxc_ram b/plugins/lxc/lxc_ram index 4208f875..0e9f6d4d 100755 --- a/plugins/lxc/lxc_ram +++ b/plugins/lxc/lxc_ram @@ -74,20 +74,20 @@ if [ "$1" = "config" ]; 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' + 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' + 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 @@ -95,14 +95,14 @@ if [ "$1" = "config" ]; then 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' + 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 @@ -116,18 +116,18 @@ fi guest="$(clean_fieldname $guest_name)" tmp_v=`$f_comm -n $guest_name memory.usage_in_bytes` - echo 'mem_usage_'$guest'.value '$tmp_v + 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 + 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 + 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 + echo "mem_inactive_$guest.value $tmp_v" done From aaee0699710c23de10db0044ca7e905750e9d27b Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Sun, 10 Jun 2018 14:41:53 +0200 Subject: [PATCH 2/7] lxc_ram: fix shellcheck issues --- plugins/lxc/lxc_ram | 49 +++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/plugins/lxc/lxc_ram b/plugins/lxc/lxc_ram index 0e9f6d4d..fe023963 100755 --- a/plugins/lxc/lxc_ram +++ b/plugins/lxc/lxc_ram @@ -40,11 +40,18 @@ 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 + if lxc-info -n "$guest" 2>&1 | grep -qs RUNNING ; then active="$active $guest" fi done @@ -56,11 +63,10 @@ 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 + exit 0 fi if [ "$1" = "config" ]; then @@ -72,7 +78,7 @@ if [ "$1" = "config" ]; then if [ "$areastack" = "true" ]; then for guest_name in $guest_names; do - guest="$(clean_fieldname $guest_name)" + guest="$(clean_fieldname "$guest_name")" echo "mem_usage_$guest.label $guest_name: Mem usage" echo "mem_usage_$guest.type GAUGE" @@ -80,7 +86,7 @@ if [ "$1" = "config" ]; then done for guest_name in $guest_names; do - guest="$(clean_fieldname $guest_name)" + guest="$(clean_fieldname "$guest_name")" echo "mem_cache_$guest.label $guest_name: Cache" echo "mem_cache_$guest.type GAUGE" @@ -93,7 +99,7 @@ if [ "$1" = "config" ]; then else for guest_name in $guest_names; do - guest="$(clean_fieldname $guest_name)" + guest="$(clean_fieldname "$guest_name")" echo "mem_usage_$guest.label $guest_name: Mem usage" echo "mem_usage_$guest.type GAUGE" @@ -111,23 +117,18 @@ if [ "$1" = "config" ]; then fi - for guest_name in $guest_names; - do - guest="$(clean_fieldname $guest_name)" +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" + value=$($f_comm -n "$guest_name" memory.usage_in_bytes) + echo "mem_usage_$guest.value $value" - 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" + value=$($f_comm -n "$guest_name" memory.stat | grep total_cache | awk '{print($2)}') + echo "mem_cache_$guest.value $value" - 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" + value=$($f_comm -n "$guest_name" memory.stat | grep total_active_anon | awk '{print($2)}') + echo "mem_active_$guest.value $value" - 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 + value=$($f_comm -n "$guest_name" memory.stat | grep total_inactive_anon | awk '{print($2)}') + echo "mem_inactive_$guest.value $value" +done From a49b362e35779e143daf2f6d6f022b847f73f0e1 Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Sun, 10 Jun 2018 14:42:10 +0200 Subject: [PATCH 3/7] lxc_ram: change from bash to sh --- plugins/lxc/lxc_ram | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/lxc/lxc_ram b/plugins/lxc/lxc_ram index fe023963..f01186ed 100755 --- a/plugins/lxc/lxc_ram +++ b/plugins/lxc/lxc_ram @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # -*- sh -*- : << =cut From 937ed37daee9275bb115760e5688f9a0cb24f371 Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Sun, 10 Jun 2018 14:47:00 +0200 Subject: [PATCH 4/7] lxc_ram: unify whitespace --- plugins/lxc/lxc_ram | 120 +++++++++++++++++++++----------------------- 1 file changed, 56 insertions(+), 64 deletions(-) diff --git a/plugins/lxc/lxc_ram b/plugins/lxc/lxc_ram index f01186ed..f07a2aac 100755 --- a/plugins/lxc/lxc_ram +++ b/plugins/lxc/lxc_ram @@ -51,84 +51,76 @@ areastack=${areastack:-false} 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 ' if [ "$1" = "autoconf" ]; then - if [ -r /proc/stat ]; then - echo yes - else - echo "no (no /proc/stat)" - fi - exit 0 + if [ -r /proc/stat ]; then + echo yes + else + echo "no (no /proc/stat)" + fi + exit 0 fi if [ "$1" = "config" ]; then + echo 'graph_title Memory ' + echo 'graph_args -l 0 --base 1024' + echo 'graph_vlabel byte' + echo 'graph_category memory' - 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 - 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 + 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")" + 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" + 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 From 2ce1b3211a21cd6cefaefd25c374d30f70257a5e Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Sun, 10 Jun 2018 14:49:53 +0200 Subject: [PATCH 5/7] lxc_ram: use functions for actions --- plugins/lxc/lxc_ram | 55 +++++++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/plugins/lxc/lxc_ram b/plugins/lxc/lxc_ram index f07a2aac..2deb1a1e 100755 --- a/plugins/lxc/lxc_ram +++ b/plugins/lxc/lxc_ram @@ -60,16 +60,17 @@ guest_names="$active" f_comm='lxc-cgroup ' -if [ "$1" = "autoconf" ]; then + +do_autoconf() { if [ -r /proc/stat ]; then echo yes else echo "no (no /proc/stat)" fi - exit 0 -fi +} -if [ "$1" = "config" ]; then + +do_config() { echo 'graph_title Memory ' echo 'graph_args -l 0 --base 1024' echo 'graph_vlabel byte' @@ -105,22 +106,32 @@ if [ "$1" = "config" ]; then echo "mem_inactive_$guest.type GAUGE" done fi - exit 0 +} + + +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 + do_autoconf +elif [ "$1" = "config" ]; then + do_config +else + do_fetch fi - - -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 From a0cafdcf1f296d8c4c30f6507fcc641aac0c483b Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Sun, 10 Jun 2018 14:50:32 +0200 Subject: [PATCH 6/7] lxc_ram: add support for DIRTYCONFIG --- plugins/lxc/lxc_ram | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/lxc/lxc_ram b/plugins/lxc/lxc_ram index 2deb1a1e..6ab81b44 100755 --- a/plugins/lxc/lxc_ram +++ b/plugins/lxc/lxc_ram @@ -132,6 +132,7 @@ if [ "$1" = "autoconf" ]; then do_autoconf elif [ "$1" = "config" ]; then do_config + if [ "${MUNIN_CAP_DIRTYCONFIG:-0}" = "1" ]; then do_fetch; fi else do_fetch fi From 196c0572019643272d9a263598e6c4be11602b56 Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Sun, 10 Jun 2018 14:54:15 +0200 Subject: [PATCH 7/7] lxc_ram: simplify config with/without 'areastack' --- plugins/lxc/lxc_ram | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) diff --git a/plugins/lxc/lxc_ram b/plugins/lxc/lxc_ram index 6ab81b44..6bb765e6 100755 --- a/plugins/lxc/lxc_ram +++ b/plugins/lxc/lxc_ram @@ -76,36 +76,20 @@ do_config() { 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" + 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" - 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 + 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 }