73 lines
3.0 KiB
Bash
73 lines
3.0 KiB
Bash
#!/bin/bash
|
|
# Script to get lighttpd stats
|
|
|
|
# This script needs the mod_status module enabled in lighttpd.conf
|
|
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModStatus
|
|
|
|
# lighttpd.conf
|
|
# server.modules = ( ..., "mod_status", ... )
|
|
#
|
|
# $HTTP["remoteip"] == "127.0.0.1" {
|
|
# status.status-url = "/server-status"
|
|
# }
|
|
|
|
#Legenda:
|
|
#
|
|
# connectionsp = connect | connectionsC = Close | connectionsE = hard error | connectionsk = keep-alive
|
|
# connectionsr = read | connectionsR = read-POST | connectionsW = = write | connectionsh = handle-request
|
|
# connectionsq = request-start | connectionsQ = request-end
|
|
# connectionss = response-start | connectionsS = response-end
|
|
|
|
WGET="/usr/bin/wget"
|
|
|
|
STATUS_URL="http://127.0.0.1/server-status"
|
|
LIGHTTPD_TEMPFILE="/tmp/lighttpd_statistics"
|
|
ERRORS_TEMPFILE="/tmp/lighttpd_errors"
|
|
|
|
USER=""
|
|
PASSWORD=""
|
|
|
|
$WGET --user=$USER --password=$PASSWORD -q -O - $STATUS_URL?auto > $LIGHTTPD_TEMPFILE
|
|
if [ -s $LIGHTTPD_TEMPFILE ]; then
|
|
totalaccesses=$(grep 'Total Accesses' $LIGHTTPD_TEMPFILE | cut -d' ' -f3)
|
|
totalkbytes=$(grep 'Total kBytes' $LIGHTTPD_TEMPFILE | cut -d' ' -f3)
|
|
uptime=$(grep 'Uptime' $LIGHTTPD_TEMPFILE | cut -d' ' -f2)
|
|
busyservers=$(grep 'BusyServers' $LIGHTTPD_TEMPFILE | cut -d' ' -f2)
|
|
idleservers=$(grep 'IdleServers' $LIGHTTPD_TEMPFILE | cut -d' ' -f2)
|
|
connectionsp=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o '\.' | wc -w)
|
|
connectionsC=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 'C' | wc -w)
|
|
connectionsE=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 'E' | wc -w)
|
|
connectionsk=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 'k' | wc -w)
|
|
connectionsr=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 'r' | wc -w)
|
|
connectionsR=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 'R' | wc -w)
|
|
connectionsW=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 'W' | wc -w)
|
|
connectionsh=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 'h' | wc -w)
|
|
connectionsq=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 'q' | wc -w)
|
|
connectionsQ=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 'Q' | wc -w)
|
|
connectionss=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 's' | wc -w)
|
|
connectionsS=$(grep 'Scoreboard' $LIGHTTPD_TEMPFILE | cut -d' ' -f2 | grep -o 'S' | wc -w)
|
|
|
|
echo "<<<app-lighttpd>>>"
|
|
echo "totalaccesses:$totalaccesses"
|
|
echo "totalkbytes:$totalkbytes"
|
|
echo "uptime:$uptime"
|
|
echo "busyservers:$busyservers"
|
|
echo "idleservers:$idleservers"
|
|
echo "connectionsp:$connectionsp"
|
|
echo "connectionsC:$connectionsC"
|
|
echo "connectionsE:$connectionsE"
|
|
echo "connectionsk:$connectionsk"
|
|
echo "connectionsr:$connectionsr"
|
|
echo "connectionsR:$connectionsR"
|
|
echo "connectionsW:$connectionsW"
|
|
echo "connectionsh:$connectionsh"
|
|
echo "connectionsq:$connectionsq"
|
|
echo "connectionsQ:$connectionsQ"
|
|
echo "connectionss:$connectionss"
|
|
echo "connectionsS:$connectionsS"
|
|
|
|
else
|
|
echo "Can't connect to $STATUS_URL" > $ERRORS_TEMPFILE
|
|
fi
|
|
rm -f $LIGHTTPD_TEMPFILE
|