67 lines
1.2 KiB
Bash
Executable File
67 lines
1.2 KiB
Bash
Executable File
#!/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 <rfrail3@yahoo.es>
|
|
|
|
=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"
|