服务器资源监控脚本(钉钉告警——CPU、内存、磁盘等)

8 篇文章 0 订阅
#!/bin/bash

##############################################

#Author: bboy枫亭

#Last modified: 2021-08-06

##############################################

#获取cpu使用率
cpuUsage=`top | head -5 | awk -F '[, ]+' 'NR==3 {print $11}'`

#获取磁盘使用率
data_name="/" 
diskUsage=`df -h | grep -w $data_name | awk -F'[ %]+' '{print $5}'`

#获取内存情况
mem_total=`free -m | awk -F '[ :]+' 'NR==2 {print $2}'`
mem_used=`free -m | awk -F '[ :]+' 'NR==2 {print $3}'`

#统计内存使用率
mem_used_persent=`awk 'BEGIN{printf"%.0f\n",('$mem_used' / '$mem_total')*100}'`

#获取报警时间
now_time=`date '+%F %T'`

user=phone_number

#主机信息
 Date_time=`date "+%Y-%m-%d--%H:%M:%S"`
 IP_addr=`ifconfig $ifconfig | grep "inet" |awk 'NR==1{ print $2}'`

# wehook url
Dingding_Url="https://oapi.dingtalk.com/robot/send?access_token=axxxxxxxxxxxxx"

function SendDownMessageToDingding(){

#发送钉钉消息
curl -s "${Dingding_Url}" -H 'Content-Type: application/json' -d "
{
 'msgtype': 'text',
 'text': {'content': 'exd资源监控\n资源耗尽警告!\n巡查时间:${Date_time}\nIP地址:${IP_addr}\n资源状况如下:\n【CPU可用:${cpuUsage}%】\n【磁盘使用率:${diskUsage}%】\n【内存使用率:${mem_used_persent}%】'},
 'at': {'atMobiles': ['${user}'],  'isAtAll': true}
  }"

}

function check(){

       if [[ "$cpuUsage" > 80 ]] || [[ "$diskUsage" >80 ]] || [[ "$mem_used_persent" > 80 ]];then
    SendDownMessageToDingding
       fi

}
check
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值