munin-contrib/plugins/php/php_apc_

126 lines
2.5 KiB
Bash
Executable File

#!/bin/sh
#################################################################
#
# Script to monitor apc usage
#
#################################################################
#
# Parameters understood: config, autoconf and suggest
#
#################################################################
#
# Configuration section
#
# Configuration example
#
# [php_apc_*]
# user root
# env.URL http://localhost/php_apc.php # URL to fetch APC status
#
# (php_apc.php file included in package)
#
#################################################################
#
# Changelog:
# - First Release, Enjoy.
#
#################################################################
#################################################################
# Settings required for autoconf
#%# family=auto
#%# capabilities=autoconf suggest
# URL to the script to check APC status (defaults to
# 'http://localhost/php_apc.php' if not configured)
URL=${URL:-'http://localhost/php_apc.php'}
WGET=`which wget`;
WGET_FLAGS="-Yoff"; # refer to wget manual, you may set extra parameters like disable proxy
act=`basename $0 | sed 's/^php_apc_//g'`
if [ "$1" = "autoconf" ]; then
if [ -z "$URL" ]; then
echo "no (missing URL config in header file)"
else
echo "yes"
fi
exit 0
fi
if [ "$1" = "suggest" ]; then
echo "memory"
echo "hits"
echo "percents"
exit 0
fi
if [ "$1" = "config" ] && [ "$act" = "memory" ]; then
cat <<'EOM'
graph_title APC Memory usage
graph_args -l 0 --base 1024
graph_vlabel Memory usage
graph_category memory
graph_order mem_used mem_avail
graph_total Total
mem_avail.label Memory available
mem_avail.draw STACK
mem_avail.min 0
mem_used.label Memory used
mem_used.draw AREA
mem_used.min 0
EOM
exit 0
fi
if [ "$1" = "config" ] && [ "$act" = "hits" ]; then
cat <<'EOM'
graph_title APC Hits
graph_args -l 0
graph_vlabel Cache hits
graph_category memory
graph_total Total
num_misses.label Misses
num_misses.draw AREA
num_misses.min 0
num_hits.label Hits
num_hits.draw STACK
num_hits.min 0
EOM
exit 0
fi
if [ "$1" = "config" ] && [ "$act" = "percents" ]; then
cat <<'EOM'
graph_title APC Percents
graph_args -l 0 --upper-limit 100
graph_scale no
graph_vlabel Cache Percents %
graph_category memory
hits.label Hits
hits.draw AREA
hits.min 0
misses.label Misses
misses.draw STACK
misses.min 0
misses.warning 50
memory.label Memory
memory.draw LINE
memory.warning 95
memory.critical 98
EOM
exit 0
fi
#################################################################
# run the script
[ -x $WGET ] && $WGET -q $WGET_FLAGS "$URL?act=$act" -O - && exit 0
exit 1