监控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

目录
相关文章
|
6月前
|
监控 Linux 应用服务中间件
探索Linux中的`ps`命令:进程监控与分析的利器
探索Linux中的`ps`命令:进程监控与分析的利器
130 13
|
3月前
|
监控
MASM32写的免费软件“ProcView/系统进程监控” V1.4.4003 说明和下载
MASM32写的免费软件“ProcView/系统进程监控” V1.4.4003 说明和下载
|
7月前
|
缓存 监控 调度
第六十一章 使用 ^PERFSAMPLE 监控进程 - 分析维度
第六十一章 使用 ^PERFSAMPLE 监控进程 - 分析维度
45 0
|
3月前
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
51 1
|
4月前
|
数据采集 监控 API
如何监控一个程序的运行情况,然后视情况将进程杀死并重启
这篇文章介绍了如何使用Python的psutil和subprocess库监控程序运行情况,并在程序异常时自动重启,包括多进程通信和使用日志文件进行断点重续的方法。
|
7月前
|
运维 监控 Ubuntu
Python实现ubuntu系统进程内存监控
Python实现ubuntu系统进程内存监控
77 1
|
7月前
|
监控
第六十章 使用 ^PERFSAMPLE 监控进程 - 预定义分析示例
第六十章 使用 ^PERFSAMPLE 监控进程 - 预定义分析示例
35 0
|
7月前
|
监控 Go
第五十九章 使用 ^PERFSAMPLE 监控进程 - 收集样本
第五十九章 使用 ^PERFSAMPLE 监控进程 - 收集样本
33 0
|
7月前
|
监控 Linux
linux监控指定进程
请注意,以上步骤提供了一种基本的方式来监控指定进程。根据你的需求,你可以选择使用不同的工具和参数来获取更详细的进程信息。
74 0
|
7月前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务