removed the top-level directory
This commit is contained in:
69
sbin/codepot-mon-httpd
Normal file
69
sbin/codepot-mon-httpd
Normal file
@ -0,0 +1,69 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# This is just a sample script for httpd resource monitoring
|
||||
# While this is inside the codepot distro, it's not supposed
|
||||
# to be used without consideration of the actual environment.
|
||||
#
|
||||
|
||||
DAEMON=0
|
||||
THRESHOLD=1024
|
||||
|
||||
if [ "$1" = "-daemon" ]
|
||||
then
|
||||
shift
|
||||
($0 --daemon $@ </dev/null >/dev/null 2>&1 &) &
|
||||
#($0 --daemon &) &
|
||||
exit 0
|
||||
elif [ "$1" = "--daemon" ]
|
||||
then
|
||||
DAEMON=1
|
||||
fi
|
||||
|
||||
[ -n "$2" ] && THRESHOLD="$2"
|
||||
|
||||
exit_requested=no
|
||||
|
||||
trap 'exit_requested=yes' SIGINT SIGHUP SIGTERM
|
||||
|
||||
[ "${DAEMON}" = "1" ] && logger -t "$0" "Started (THRESHOLD=$THRESHOLD)"
|
||||
|
||||
while [ "${exit_requested}" = "no" ]
|
||||
do
|
||||
sleep 5
|
||||
|
||||
ps -ylC httpd | awk -vdaemon=$DAEMON -v"self=$0" -vthreshold=$THRESHOLD '
|
||||
/httpd/ {
|
||||
x += $8;
|
||||
y += 1;
|
||||
}
|
||||
END {
|
||||
if (y > 0)
|
||||
{
|
||||
MB = x / 1024;
|
||||
AVGMB = x / (y * 1024);
|
||||
|
||||
if (daemon <= 0)
|
||||
{
|
||||
print "Apache Memory Usage (MB): " MB;
|
||||
print "Average Proccess Size (MB): " AVGMB;
|
||||
|
||||
if (MB > int(threshold))
|
||||
{
|
||||
system ("/etc/init.d/httpd restart");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (MB > int(threshold))
|
||||
{
|
||||
system (sprintf ("logger -t \"%s\" \"Restarting httpd for excess memory usage [%s/%d]\"", self, MB, threshold));
|
||||
system ("/etc/init.d/httpd restart >/dev/null 2>&1 </dev/null");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
'
|
||||
done
|
||||
|
||||
[ "${DAEMON}" = "1" ] && logger -t "$0" "Exited"
|
Reference in New Issue
Block a user