#!/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
服务器资源监控脚本(钉钉告警——CPU、内存、磁盘等)
最新推荐文章于 2024-07-09 11:06:31 发布