pandorafms/pandora_agents/linux/plugins/apache_status

43 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# THIS PLUGIN needs netcat (nc) and have the status extension enabled in your Apache2.
# Also need to setup advanced status in your apache setup (ExtendedStatus On)
ASTAT="`echo -e 'GET /server-status?auto HTTP/1.0\n\n' | nc -w 10 localhost 80`"
AP_CPULOAD=`echo $ASTAT | grep -o "CPULoad: [0-9.]*" | awk '{ print $2}'`
AP_REQSEC=`echo $ASTAT | grep -o "ReqPerSec: [0-9.]*" | awk '{ print $2}'`
AP_TOTACC=`echo $ASTAT | grep -o "Total Accesses: [0-9]*" | awk '{ print $3}'`
AP_BUSY=`echo $ASTAT | grep -o "BusyWorkers: [0-9]*" | awk '{ print $2}'`
AP_BPS=`echo $ASTAT | grep -o "BytesPerSec: [0-9]*" | awk '{ print $2}'`
echo "<module>"
echo "<name>Apache Total Accesses</name>"
echo "<type>generic_data_inc</type>"
echo "<data>$AP_TOTACC</data>"
echo "</module>"
echo "<module>"
echo "<name>Apache Request per second</name>"
echo "<type>generic_data</type>"
echo "<data>0$AP_REQSEC</data>"
echo "</module>"
echo "<module>"
echo "<name>Apache Busy Workers</name>"
echo "<type>generic_data</type>"
echo "<data>$AP_BUSY</data>"
echo "</module>"
echo "<module>"
echo "<name>Apache BytesPerSecond Served</name>"
echo "<type>generic_data</type>"
echo "<data>$AP_BPS</data>"
echo "</module>"
echo "<module>"
echo "<name>Apache CPULoad</name>"
echo "<type>generic_data</type>"
echo "<data>$AP_CPULOAD</data>"
echo "</module>"