From 0283dce0ab0bf94ce50557b09286baad19a1c693 Mon Sep 17 00:00:00 2001 From: Gilles Fauvie Date: Wed, 5 Mar 2014 12:33:10 +0100 Subject: [PATCH 1/2] New plugin: check memory usage by user --- plugins/processes/proc_mem_by_user | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 plugins/processes/proc_mem_by_user diff --git a/plugins/processes/proc_mem_by_user b/plugins/processes/proc_mem_by_user new file mode 100644 index 00000000..c199551a --- /dev/null +++ b/plugins/processes/proc_mem_by_user @@ -0,0 +1,40 @@ +#!/bin/sh +# +# (c) 2014, Gilles Fauvie +# Based on the 'du_multidirs' plugin, written by Christian Kujau +# +# Configure it by using the processes env var, i.e.: +# +# [proc_mem_by_user] +# env.processes munin-node jprod +# + +. $MUNIN_LIBDIR/plugins/plugin.sh + +if [ "$1" = "autoconf" ]; then + echo yes + exit 0 +fi + +users=${processes:="munin-node"} + +if [ "$1" = "config" ]; then + echo 'graph_title Memory usage by process by user' + echo 'graph_args --base 1024 -l 0' + echo 'graph_vlabel Bytes' + echo 'graph_category processes' + echo 'graph_info This graph shows the memory usage of several processes of one user' + + for user in $users; do + echo "$user.label $user" + done + +# echo "$u".warning 0 +# echo "$u".critical 0 + + exit 0 +fi + +for user in $users; do + echo "$user.value " `ps u -U $user | awk 'BEGIN { sum = 0 } NR > 1 { sum += $6 }; END { print sum * 1024 }'` +done From ee4950cb87786a2f871720f98a16f81cd92dc972 Mon Sep 17 00:00:00 2001 From: Gilles Fauvie Date: Wed, 5 Mar 2014 16:37:06 +0100 Subject: [PATCH 2/2] fix bug --- plugins/processes/proc_mem_by_user | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/processes/proc_mem_by_user b/plugins/processes/proc_mem_by_user index c199551a..5e763288 100644 --- a/plugins/processes/proc_mem_by_user +++ b/plugins/processes/proc_mem_by_user @@ -5,8 +5,10 @@ # # Configure it by using the processes env var, i.e.: # +# WARNING: SELINUX can block this plugin +# # [proc_mem_by_user] -# env.processes munin-node jprod +# env.users munin-node jprod # . $MUNIN_LIBDIR/plugins/plugin.sh @@ -16,7 +18,7 @@ if [ "$1" = "autoconf" ]; then exit 0 fi -users=${processes:="munin-node"} +users=${users:="munin-node"} if [ "$1" = "config" ]; then echo 'graph_title Memory usage by process by user' @@ -37,4 +39,4 @@ fi for user in $users; do echo "$user.value " `ps u -U $user | awk 'BEGIN { sum = 0 } NR > 1 { sum += $6 }; END { print sum * 1024 }'` -done +done \ No newline at end of file