美文网首页
过载保护脚本

过载保护脚本

作者: 乔伊斯 | 来源:发表于2017-05-20 18:12 被阅读0次

#!/bin/bash

##create date 20170518

##write by swx420528

##version 1.0

##overload_protection.sh

##use for GenexCloud Riak-CS proxy(nginx)

##Nginx 部署路径

nginx_home_path=/opt/nginx

##限制阀值和解除限制阀值

limit_threshold=95

open_threshold=85

##riak-cs node 存储挂载目录

riak_mount_dir='/mnt'

##check account

if [ "`whoami`" != "root" ];then

echo "Please  execuse this script with paas account..."

exit 0

fi

##get riak-cs cluster node IP address

riak_node_iplist=`cat $nginx_home_path/conf/nginx.conf|grep 8080|awk -F: '{print $1}'|awk '{print $2}'`

##检查是否已安装ansible,未安装则退出,并记录日志

##检查tmp目录是否存在,则创建

##获取每个node的磁盘使用率,并记录在临时文件

for i in $riak_node_iplist

do

ansible $i -m command -a 'df'|grep $riak_mount_dir|awk '{print $5}' | sed -ne 2p | cut -d"%" -f1 >> /tmp/riak_node_disk_useage

done

##get disk usage,取最大值为

used_rate=`cat /tmp/riak_node_disk_useage|sort -rn|head -1`

##获取 PUT_flag 值,0表示已限制PUT请求,1表示未限制PUT请求

cat $nginx_home_path/conf/nginx.conf|grep "$request_method = PUT"|grep -v "#"

PUT_flag="$?"

##判断如果磁盘使用率超过阈值,且nginx未做PUT限制,在nginx配置文件增加PUT限制的配置并reload nginx服务

if [ "$used_rate" -ge "$limit_threshold" ] && [ "$PUT_flag" = "1" ];then

sed -i '/location \//a\            if ( $request_method = PUT ) { return 403; }' $nginx_home_path/conf/nginx.conf

$nginx_home_path/sbin/nginx -s reload

fi

##判断如果磁盘使用率低于解除限制阈值,且nginx已做PUT限制,在nginx配置文件删除PUT限制的配置并reload nginx服务

if [ "$used_rate" -le "$open_threshold" ] && [ "$PUT_flag" = "0" ];then

sed -i '/$request_method = PUT/d' $nginx_home_path/conf/nginx.conf

$nginx_home_path/sbin/nginx -s reload

fi

相关文章

  • 过载保护脚本

    #!/bin/bash ##create date 20170518 ##write by swx420528 #...

  • 空气开关和漏电开关什么区别?

    空气开关有短路保护、过载保护的功能,闸跳下表示短路或过载故障。漏电保护器有短路保护、过载保护、漏电保护的功能,左闸...

  • 过载保护

    危害:一个模块的过载,会产生滚雪球效应,从而拖累其它系统,导致整个系统完全不可用。 原因:单点的不可用,会随着时间...

  • 交流断路器用于直流电路?

    交流断路器可以派生为直流电路的保护,过载长延时保护。采用热动式(双金属元件)作过载长延时保护时,其动作源为I2R,...

  • 低压配电线路过载保护公式的理解,导线和保护装置基准值是多少?

    IEC标准对过载保护的一般要求:保护电器应在流经回路导体的过载电流引起的温升对绝缘、接头、端子和导体周围的物料造成...

  • 太阳能路灯控制器防水功能的重要性分析!

    太阳能路灯控制器作为太阳能路灯的大脑,它的主要功能为:过载保护,短路保护,反向放电保护,防雷保护,欠压保护等...

  • 太阳能路灯控制器防水功能的重要性分析!

    太阳能路灯控制器作为太阳能路灯的大脑,它的主要功能为:过载保护,短路保护,反向放电保护,防雷保护,欠压保护等。太阳...

  • 直流稳压电源

    直流稳压电源 直流稳压电源的种类 稳压 线性稳压 串联稳压 短路与过载 短路与过载保护 并联稳压 开关稳压 降压稳...

  • Erlang常用概念

    Lager 日志框架, 支持日志等级,sinks,过载保护,color Poolboy 线程池框架 Cowb...

  • 变送器的作用

    变送器的作用如下: 1、输入过载保护; 2、输出过流限制保护; 3、输出电流长时间短路保护; 4、两线制端口瞬态感...

网友评论

      本文标题:过载保护脚本

      本文链接:https://www.haomeiwen.com/subject/teppxxtx.html