#!/bin/bash
#需求磁盘和内存不足%5、%10、%15告警。
DISK_THRESHOLD_5=5
DISK_THRESHOLD_10=10
DISK_THRESHOLD_15=15
MEMORY_THRESHOLD_5=5
MEMORY_THRESHOLD_10=10
MEMORY_THRESHOLD_15=15
WEBHOOK_URL="https://open.feishu.cn/open-apis/bot/v2/xxx"
disk_usage=$(df -h / | awk 'NR==2 {print $5}')
memory_usage=$(free | awk '/Mem/{printf("%d", ($3/$2)*100)}')
message=""
if [ ${disk_usage::-1} -ge $DISK_THRESHOLD_5 ] && [ ${disk_usage::-1} -lt $DISK_THRESHOLD_10 ]; then
message+="磁盘空间不足 ${DISK_THRESHOLD_5}%\n"
elif [ ${disk_usage::-1} -ge $DISK_THRESHOLD_10 ] && [ ${disk_usage::-1} -lt $DISK_THRESHOLD_15 ]; then
message+="磁盘空间不足 ${DISK_THRESHOLD_10}%\n"
elif [ ${disk_usage::-1} -ge $DISK_THRESHOLD_15 ]; then
message+="磁盘空间严重不足 ${DISK_THRESHOLD_15}%\n"
fi
if [ $memory_usage -ge $MEMORY_THRESHOLD_5 ] && [ $memory_usage -lt $MEMORY_THRESHOLD_10 ]; then
message+="内存不足 ${MEMORY_THRESHOLD_5}%"
elif [ $memory_usage -ge $MEMORY_THRESHOLD_10 ] && [ $memory_usage -lt $MEMORY_THRESHOLD_15 ]; then
message+="内存不足 ${MEMORY_THRESHOLD_10}%"
elif [ $memory_usage -ge $MEMORY_THRESHOLD_15 ]; then
message+="内存严重不足 ${MEMORY_THRESHOLD_15}%"
fi
if [ ! -z "$message" ]; then
curl -X POST -H "Content-Type: application/json" -d "{\"msg_type\":\"text\",\"content\":{\"text\":\"$message\"}}" $WEBHOOK_URL
fi
Perl编写磁盘,内存告警钉钉脚本
原创
©著作权归作者所有:来自51CTO博客作者AK李李的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:如何生成和查看dump文件?
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
shell编写钉钉告警脚本
钉钉告警脚本
json -
监控微信,钉钉告警脚本
监控微信,钉钉告警脚本
监控微信钉钉告警脚本 -
钉钉结合shell脚本监测服务告警通知
钉钉结合shell脚本进行服务监测和告警通知
shell脚本 调用函数 自定义 -
ansible etc目录
Ansible-playbok的核心元素之一;角色 角色(roles): 角色集合: roles/ mysql/ httpd/ nginx/ memcached/ 每个角色,以特定的层级目路结构进行组织; 如; mysql/ -
ansible etc目录 ansible 服务器 memcached 数据库