监控httpd的进程数,根据监控情况做相应处理

简介: 监控httpd的进程数,根据监控情况做相应处理

!/bin/bash

#

需求:

1.每隔10s监控httpd的进程数,若进程数大于等于500,则自动重启Apache服务,并检测服务是否重启成功

2.若未成功则需要再次启动,若重启5次依旧没有成功,则向管理员发送告警邮件,并退出检测

3.如果启动成功,则等待1分钟后再次检测httpd进程数,若进程数正常,则恢复正常检测(10s一次),否则放弃重启并向管理员发送告警邮件,并退出检测

#

计数器函数

check_service()
{
j=0
for i in seq 1 5
do

重启Apache的命令

/usr/local/apache2/bin/apachectl restart 2> /var/log/httpderr.log

判断服务是否重启成功

if [ $? -eq 0 ]
then
break
else
j=$[$j+1]
fi

判断服务是否已尝试重启5次

if [ $j -eq 5 ]
then
mail.py
exit
fi
done
}
while :
do
n=pgrep -l httpd|wc -l

判断httpd服务进程数是否超过500

if [ $n -gt 500 ]
then
/usr/local/apache2/bin/apachectl restart
if [ $? -ne 0 ]
then
check_service
else
sleep 60
n2=pgrep -l httpd|wc -l

判断重启后是否依旧超过500

   if [ $n2 -gt 500 ]

then
mail.py
exit
fi
fi
fi

每隔10s检测一次

sleep 10
done

目录
相关文章
|
3天前
|
运维 监控 Ubuntu
Python实现ubuntu系统进程内存监控
Python实现ubuntu系统进程内存监控
17 1
|
3天前
|
监控 Linux
linux监控指定进程
请注意,以上步骤提供了一种基本的方式来监控指定进程。根据你的需求,你可以选择使用不同的工具和参数来获取更详细的进程信息。
17 0
|
3天前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
|
3天前
|
监控
用c实现进程监控,如果某一进程退出则重启
用c实现进程监控,如果某一进程退出则重启
15 0
|
3天前
|
监控
一个进程监控脚本程序
一个进程监控脚本程序
10 0
|
3天前
|
监控 Python Windows
使用python脚本来监控进程
使用python脚本来监控进程
|
3天前
|
监控 Unix Linux
socket监控进程,并对程序执行有关操作。
socket监控进程,并对程序执行有关操作。
|
3天前
|
监控 Shell
Shell脚本进程监控
Shell脚本进程监控
32 2
|
3天前
|
监控 Shell
在Shell脚本中实现进程监控
在Shell脚本中实现进程监控
114 5
|
5月前
|
监控 安全 API
7.1 Windows驱动开发:内核监控进程与线程回调
在前面的文章中`LyShark`一直在重复的实现对系统底层模块的枚举,今天我们将展开一个新的话题,内核监控,我们以`监控进程线程`创建为例,在`Win10`系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回调机制将该进程相关信息优先返回给我们自己的函数待处理结束后再转向系统层。
64 0
7.1 Windows驱动开发:内核监控进程与线程回调