added a sample httpd monitoring script
This commit is contained in:
parent
c51f44ec8c
commit
b4e5f574e5
@ -68,6 +68,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
/var/www/html/codepot
|
||||
/usr/sbin/codepot-user
|
||||
/usr/sbin/codepot-mon-httpd
|
||||
|
||||
%config(noreplace) /etc/codepot/codepot.ini
|
||||
/etc/codepot/codepot.mysql
|
||||
|
@ -1,4 +1,4 @@
|
||||
|
||||
sbin_SCRIPTS = codepot-user
|
||||
sbin_SCRIPTS = codepot-user codepot-mon-httpd
|
||||
|
||||
EXTRA_DIST = $(sbin_SCRIPTS)
|
||||
|
@ -139,7 +139,7 @@ sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
wwwdir = @wwwdir@
|
||||
sbin_SCRIPTS = codepot-user
|
||||
sbin_SCRIPTS = codepot-user codepot-mon-httpd
|
||||
EXTRA_DIST = $(sbin_SCRIPTS)
|
||||
all: all-am
|
||||
|
||||
|
56
codepot/sbin/codepot-mon-httpd
Normal file
56
codepot/sbin/codepot-mon-httpd
Normal file
@ -0,0 +1,56 @@
|
||||
#!/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
|
||||
($0 --daemon </dev/null >/dev/null 2>&1 &) &
|
||||
#($0 --daemon &) &
|
||||
exit 0
|
||||
elif [ "$1" = "--daemon" ]
|
||||
then
|
||||
DAEMON=1
|
||||
fi
|
||||
|
||||
|
||||
while true
|
||||
do
|
||||
sleep 5
|
||||
|
||||
ps -ylC httpd | awk -vdaemon=$DAEMON -v"self=$0" -vthreshold=$THRESHOLD '
|
||||
{
|
||||
x += $8;
|
||||
y += 1;
|
||||
}
|
||||
END {
|
||||
MB = x / 1024;
|
||||
AVGMB = x / ((y - 1) * 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
|
Loading…
Reference in New Issue
Block a user