munin-contrib/plugins/php/php_sessions

72 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
#
# Copyright (C) 2006-2008 Benjamin Schweizer. All rights reserved.
#
#
# Abstract
# ~~~~~~~~
# munin plugin that logs active apache sessions
#
# Authors
# ~~~~~~~
# Benjamin Schweizer <code at benjamin-schweizer dot de>
# Ronan Guilloux <ronan at coolforest dot net>
# Andras Kemeny <subpardaemon at gmail dot com>
# 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.