栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux查看磁盘的使用率并推送告警

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux查看磁盘的使用率并推送告警

查询linux的硬盘使用情况,定时推送告警通知,这里只监控一个目录

创建脚本,vim check_disk.sh

#!/bin/sh

ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|head -1|tr -d "addr:"?`

avail=$(df -h /data/  | awk '{ print $4 }' | sed -n '2p' )
used=$(df -h /data/  | awk '{ print $5 }' | sed -n '2p' )

putmsg="($ip)硬盘可用$avail已使用$used"
echo $putmsg

error_msg="$putmsg"
msg_body="{"msgtype":"text","text":{"content":"$error_msg"}}"
WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=0c3c0101-836b"
req_msg=$(curl -s -H "Content-Type: application/json; charset=UTF-8" -X POST -d $msg_body $WEBHOOK_URL )
echo "硬盘监控:" $req_msg

查看data目录的磁盘使用情况

df -h /data
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/VG_data-LV_data  39G  30G   75G   81% /data

过滤第1行,获取第2行的值

sed -n '2p'

查看可用,已用,文件目录

df -h /data/  | awk '{ print $4,$5,$1 }'
可用 已用% 文件系统
74G 81% /dev/mapper/VG_data

因为后面推送的文本有空格,导致发送会失败,所以就分开两个字段,最后再拼成字符串

avail=$(df -h /data/  | awk '{ print $4 }' | sed -n '2p' )
used=$(df -h /data/  | awk '{ print $5 }' | sed -n '2p' )

添加判断

df -h /data/  | awk '{ print $5 }' | sed -n '2p' | sed s/%//g
81
if [ $used -ge 80 ]; then
  msg=" ($ip)  $used%"
  echo $msg
  #推送通知...
fi

添加定时任务

crontab -e

#每15分钟检查硬盘
*/15 * * * * bash /data/sh/check-disk.sh >/data/sh/logs/check-disk.log

查看定时任务

crontab -l

常用的命令

df -h

查看目录下各文件占用的大小
du -sh *

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/891128.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号