#!/bin/sh # # Copyright (C) 2006-2008 Benjamin Schweizer. All rights reserved. # # # Abstract # ~~~~~~~~ # munin plugin that logs active apache sessions # # Authors # ~~~~~~~ # Benjamin Schweizer # Ronan Guilloux # Andras Kemeny # Copy this to your node's config file (default: plugin-conf.d/munin-node): # [php_sessions] # user root # env.sessiondir /var/lib/php/session # # Modify env.sessiondir to match your system's setting. This should be fine # on most systems. # # Changes # ~~~~~~~ # 2011-02-13, subpardaemon: add env.sessiondir, make sure find uses # the given path (it hadn't before) # 2011-01-01, guilloux : find commands & plugin conf improvements # 2008-10-15, schweizer: added active sessions # 2008-10-10, schweizer: forked from munin_squid_efficiency # 2006-10-11, schweizer: initial release. # # Todo # ~~~~ # - we'll see # #%# family=auto #%# capabilities=autoconf SESSDIR=${sessiondir:-"/var/lib/php/session"} if [ "$1" = "autoconf" ]; then test -d "$SESSDIR" > /dev/null 2>&1 if [ $? ]; then echo yes else echo "no (session directory not found)" fi exit 0 fi if [ "$1" = "config" ]; then echo 'graph_title Apache/PHP Sessions' echo 'graph_info This graph shows active Apache/PHP sessions.' echo 'graph_category webserver' echo "graph_args --lower-limit 0" echo 'graph_vlabel n' echo 'sessions.label total sessions' echo 'asessions.label active sessions' exit 0 fi ACTIVE_SESSIONS_NUM=`find $SESSDIR/ -type f -iname "sess_*" -amin -5 | wc -l` TOTAL_SESSIONS_NUM=`find $SESSDIR/ -type f -iname "sess_*" | wc -l` echo "sessions.value ${TOTAL_SESSIONS_NUM}" echo "asessions.value ${ACTIVE_SESSIONS_NUM}" # eof.