加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 基于加载平均执行操作

发布时间:2020-12-14 02:30:55 所属栏目:Linux 来源:网络整理
导读:我在debian服务器上运行一些Web应用程序,有时候不得不与ddos攻击斗争.它占用了我所有的资源,我不能再ssh到服务器了. 如果负载平均值太高,一个想法是放弃所有连接,因此如果负载平均值足够低,我仍然有资源并接受新连接. 由于这必须在高负荷下工作,我担心cronjo
我在debian服务器上运行一些Web应用程序,有时候不得不与ddos攻击斗争.它占用了我所有的资源,我不能再ssh到服务器了.
如果负载平均值太高,一个想法是放弃所有连接,因此如果负载平均值足够低,我仍然有资源并接受新连接.
由于这必须在高负荷下工作,我担心cronjob不够快或占用太多资源.

tl; dr:如果负载平均值高于特定阈值,有没有办法配置行为?

解决方法

虽然我认为您应该尝试解决防火墙或网络级别的实际问题,但基于资源的操作的快速而肮脏的方法是使用 Monit utility.

具体而言,Monit can perform resource tests,提醒您并根据这些条件采取行动.

IF资源操作符值[[< X>]< Y> [循环]那么动作[如果成功[[< X>]< Y>周期]那么行动]

所以…

check system example.com
    if loadavg (1min) > 10 then alert

或者针对Apache的特定内容:

check process apache with pidfile /var/run/httpd.pid
start program = “/sbin/service httpd start”
stop program = “/sbin/service httpd stop”
if children > 250 then restart
if loadavg(5min) greater than 10 for 8 cycles then stop
if 3 restarts within 5 cycles then timeout

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读