gpt4 book ai didi

apache - Monit:在满足服务测试操作条件后延迟下一个监控周期

转载 作者:行者123 更新时间:2023-12-02 02:25:40 25 4
gpt4 key购买 nike

当我的服务器进入高负载时,Apache 的优雅重启似乎使事情恢复了控制。所以我使用以下配置设置了 monit:

set daemon 10
check system localhost
if loadavg (1min) > 5 then exec "/etc/init.d/apache2 graceful"

因此,我每隔 10 秒轮询一次服务器负载,当它超过 5 时,我会优雅地重启 Apache。但是,这会暂时增加负载,因此我们会陷入死亡漩涡。我想要的是让它在 10 秒后注意到负载为 5 或更多,并优雅地重新启动 Apache,然后等待 5 分钟左右,然后再次检查该特定指标。

有没有办法用 monit 做到这一点?

最佳答案

虽然不完全在monit之内,但也足够接近了

set daemon 10
check system localhost
if loadavg (1min) > 5 then unmonitor
if loadavg (1min) > 5 then exec "/etc/init.d/apache2 graceful"
if loadavg (1min) > 5 then exec "python /scripts/remonitor.py"

然后你有一个 python 脚本,如下所示:

import time, os

time.sleep(5*60)
os.system("monit monitor system")

所以这将:
1.当“系统”达到过多负载时取消监控,以防止死亡螺旋
2. 优雅地重启apache
3.启动将在5分钟后重新监控“系统”的脚本

关于apache - Monit:在满足服务测试操作条件后延迟下一个监控周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com