本文共 1062 字,大约阅读时间需要 3 分钟。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #!/bin/bash #Author:yanconggod #date:2017-01-19 #version:1.0 # 使用 uptime 命令监控系统负载 POSTFIX_PATH= "/usr/sbin/postfix" MAILX_PATH= "/usr/bin/mailx" Email= "516249940@qq.com" # 获取本机IP地址 IP=` ifconfig enp2s0| grep '\binet\b' | awk '{print $2}' ` # 格式化时间显示 DATE=` date "+%Y-%m-%d %H:%M" ` # 声明整型变量 declare -i CPU_NUM Loads ave # 获取当前主机 CPU 核心数 CPU_NUM=` grep -c 'model name' /proc/cpuinfo ` # 获取当前系统15分钟内 CPU 平均负载率值(取个位数) Loads=`uptime| awk '{print $10}' | awk -F '.' '{print $1}' ` # 计算单核心15分钟内平均负载率 (( ave = Loads / CPU_NUM )) # 取上面计算结果的个位数 average=` echo $ave| awk -F '.' '{print $1}' ` # if [ ! -f "$POSTFIX_PATH" -o ! -f "$MAILX_PATH" ]; then yum install -y postfix mailx systemctl start postfix && systemctl enable postfix fi # 当单核心15分钟负载率值高于 1 发送报警邮件 if [ $average -gt 1 ]; then echo -e "告警: 系统负载过高!!!\n时间: $DATE\n服务器IP: $IP\n当前负载率: $Loads" \ | mail -s "系统负载过高" $Email fi |
转载地址:http://rviga.baihongyu.com/