#!/bin/sh # -*- sh -*- : << =cut =head1 NAME apache_memory - Indicate the medium size of all the apache child process =head1 CONFIGURATION [apache_*] env.apuser user_running_apache (default: "www-data") env.binname apache_binary_name (default: "apache2") =head1 AUTHOR Ricardo Fraile =head1 LICENSE GPLv2 =head1 MAGICK MARKERS #%# family=auto #%# capabilities=autoconf =cut . "$MUNIN_LIBDIR/plugins/plugin.sh" USR=${apuser:-www-data} PROCS=${binname:-apache2} if [ "$1" = "autoconf" ]; then echo yes exit 0 fi if [ "$1" = "config" ]; then echo 'graph_title Average size of apache child processes' echo 'graph_args --base 1024 -l 0 ' echo 'graph_vlabel Bytes' echo 'graph_scale no' echo 'graph_category webserver' echo 'graph_info Indicate the memdium size of all the apache child process.' echo "servers.label servers" echo "servers.type GAUGE" echo "servers.min 0" exit 0 fi matched_processes=$(ps auxf | grep -- "$PROCS" | grep "^$USR" | grep -v grep) if [ -n "$matched_processes" ]; then average_memory=$(printf '%s' "$matched_processes" | awk '{count+=1; sum+=$6} END {print sum / count * 1024}') else average_memory="U" fi echo "servers.value $average_memory"