diff --git a/plugins/processes/proc_mem_by_user b/plugins/processes/proc_mem_by_user old mode 100644 new mode 100755 index 5e763288..567e386f --- a/plugins/processes/proc_mem_by_user +++ b/plugins/processes/proc_mem_by_user @@ -1,5 +1,6 @@ #!/bin/sh # +# (c) 2015, Raphaƫl Droz # (c) 2014, Gilles Fauvie # Based on the 'du_multidirs' plugin, written by Christian Kujau # @@ -10,33 +11,56 @@ # [proc_mem_by_user] # env.users munin-node jprod # +# see bug: +# http://munin-monitoring.org/ticket/921 +# /usr/share/munin/plugins/plugin.sh (clean_fieldname()) -. $MUNIN_LIBDIR/plugins/plugin.sh +. "$MUNIN_LIBDIR/plugins/plugin.sh" +users=${users:-munin-node} -if [ "$1" = "autoconf" ]; then - echo yes - exit 0 + +if [ "$1" = autoconf ]; then + ok=1 + [ -z "$users" ] && ok=0 + + for user in $users; do + ps u -U "$user" 1> /dev/null 2>&1 || ok=0 + done + + if [ $ok = 1 ]; then echo yes + else echo no; fi + exit 0 fi -users=${users:="munin-node"} +if [ "$1" = config ]; then + cat < 1 { sum += $6 }; END { print sum * 1024 }'` -done \ No newline at end of file + munin_safe_name=$(clean_fieldname "$user") + sum=$(ps u -U "$user" | awk 'BEGIN { sum = 0 } NR > 1 { sum += $6 }; END { print sum * 1024 }') + echo "$munin_safe_name.value ${sum:-U}" +done