From cde616b8d0e6e06310242afdc346e512b1d6d7fc Mon Sep 17 00:00:00 2001 From: Daniel Lo Nigro Date: Mon, 24 Jun 2013 22:11:49 +1000 Subject: [PATCH] Add PHP OPcache plugin --- plugins/php/php_opcache | 58 +++++++++++++++++++++++++++++++++++++ plugins/php/php_opcache.php | 28 ++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 plugins/php/php_opcache create mode 100644 plugins/php/php_opcache.php diff --git a/plugins/php/php_opcache b/plugins/php/php_opcache new file mode 100644 index 00000000..252cd110 --- /dev/null +++ b/plugins/php/php_opcache @@ -0,0 +1,58 @@ +#!/bin/sh +############################################################################### +# +# Munin plugin to monitor Zend OPCache +# By Daniel Lo Nigro +# +# Installation: +# 1. Copy php_opcache.php file onto server and verify you can hit it in a browser +# 2. Add to Munin config: +# [php_opcache] +# env.URL http://example/php_opcache.php +############################################################################### +# Settigs required for autoconf +#%# family=auto +#%# capabilities=autoconf suggest + +URL=${URL:-'http://localhost/php_opcache.php'} + +WGET=`which wget`; +WGET_FLAGS="-Yoff"; # refer to wget manual, you may set extra parameters like disable proxy +act=memory + +if [ "$1" = "autoconf" ]; then + [ -z "$URL" ] && echo "no (edit URL config in header file !)" && exit 1 + [ -n "$URL" ] && echo "yes" && exit 0 +fi + +if [ "$1" = "suggest" ]; then + echo "memory" + exit 0 +fi + +if [ "$1" = "config" ] && [ "$act" = "memory" ]; then + +cat <<'EOM' +graph_title OPCache Memory usage +graph_args -l 0 --base 1024 +graph_vlabel Memory usage +graph_category nginx +graph_order mem_used mem_free +graph_total Total +mem_free.label Memory Free +mem_free.draw STACK +mem_free.min 0 +mem_used.label Memory Used +mem_used.draw AREA +mem_used.min 0 +EOM + +exit 0 +fi + +############################################################################### + +[ -x $WGET ] && $WGET -q $WGET_FLAGS "$URL?act=$act" -O - && exit 0 + +exit 1 + diff --git a/plugins/php/php_opcache.php b/plugins/php/php_opcache.php new file mode 100644 index 00000000..a869ef2c --- /dev/null +++ b/plugins/php/php_opcache.php @@ -0,0 +1,28 @@ + $data['memory_usage']['used_memory'], + 'mem_free.value' => $data['memory_usage']['free_memory'], + ); +} +else +{ + // OPCache not installed :( + $output = array( + 'mem_used.value' => 0, + 'mem_free.value' => 0, + ); +} + +header('Content-Type: text/plain'); +foreach ($output as $key => $value) +{ + echo $key, ' ', $value, "\n"; +} +?>