2
0
mirror of https://github.com/munin-monitoring/contrib.git synced 2018-11-08 00:59:34 +01:00
contrib-munin/plugins/php/php-cgi
Jens Jahnke d0d36f4926 Use ${CMD_...} only to check if command exists
and use the real command e.g. grep, sed, etc. in the command line.
2012-08-24 17:33:41 +02:00

70 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
# -*- sh -*-
#
# Plugin to monitor the number of PHP processes on the machine.
#
# Copyright Khalid Baheyeldin 2009 http://2bits.com
#
# Parameters:
#
# config (required)
# autoconf (optional - used by munin-config)
#
# Magick markers (optional - used by munin-config and som installation
# scripts):
#%# family=manual
#%# capabilities=autoconf
if [ "$1" = "autoconf" ]; then
echo yes
exit 0
fi
if [ "$1" = "config" ]; then
echo "graph_title PHP CGI Memory";
echo "graph_vlabel PHP CGI Memory usage in GB";
echo "graph_category apache";
echo "graph_args -l 0";
echo "php_cgi_ram.label PHP CGI Used RAM";
echo "php_cgi_ram.draw LINE2";
echo "php_cgi_processes.info Number of PHP CGI processes";
echo "php_cgi_processes.label processes";
exit 0
fi
CMD_GREP=`which grep`
if [ ! -e ${CMD_GREP} ]; then
echo "Command grep not found!"
exit 1
fi
CMD_SED=`which sed`
if [ ! -e ${CMD_SED} ]; then
echo "Command sed not found!"
exit 1
fi
CMD_WC=`which wc`
if [ ! -e ${CMD_WC} ]; then
echo "Command wc not found!"
exit 1
fi
CMD_AWK=`which awk`
if [ ! -e ${CMD_AWK} ]; then
echo "Command awk not found!"
exit 1
fi
CMD_BC=`which bc`
if [ ! -e ${CMD_BC} ]; then
echo "Command bc not found!"
exit 1
fi
echo -n "php_cgi_processes.value "
ps ax | grep -i php-cgi | grep -v grep | wc -l | sed 's/\t +//' | sed 's/ *//'
MEMORY=0
for mem in `ps avx | grep -i php-cgi | grep -v grep | grep "Ss" | awk '{ print $7 }'`; do
MEMORY=$(($MEMORY + $mem))
done
echo -n "php_cgi_ram.value "
echo "scale=4;${MEMORY}/1024/1024" | bc