shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警

shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警

具体步骤如下

1、创建钉钉Webhook机器人

安全设置这里我选用服务器出口IP

设定后,只有来自IP地址范围内的请求才会被正常处理 

shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警

(图片点击放大查看)

shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警

(图片点击放大查看)

shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警

(图片点击放大查看)

2、编写磁盘巡检脚本

vim /opt/disk_usage_check.sh 

#!/bin/bash

# 设置警告阈值
THRESHOLD=80

#
CURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")
# 获取主机名和IP
HOSTNAME=$(hostname)
IP=$(hostname -I)

# 筛选需要检查的磁盘并进行检查
df -lPh | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
do
  used=$(echo $output | awk '{print $1}' | cut -d'%' -f1)
  partition=$(echo $output | awk '{print $2}')

  if (( used >= THRESHOLD )); then
    # 构建payload
    PAYLOAD=$(cat <<-EOF
{       
"msgtype""markdown",
"markdown": {
"title":"Linux服务器磁盘空间告警",
"text":"
##### Linux服务器磁盘空间告警 n
>  ##### <font color=#67C23A> 【服务器: </font> <font color=#FF0000> $HOSTNAME</font>】 的磁盘空间超过阀值</font> :<font color=#FF0000> $THRESHOLD%  </font> n
>  ##### <font color=#67C23A> 【服务器IP】</font> :<font color=#FF0000> $IP </font> n
>  ##### <font color=#67C23A> 【告警时间】</font> :<font color=#FF0000> $CURRENT_TIME </font> n
>  ##### <font color=#67C23A> 【磁盘空间占用高的分区】:<font color=#FF0000> $partition </font> 已使用 <font color=#FF0000>$used%</font> n
>  ##### <font color=#67C23A>  该分区具体df -PTh信息如下: </font> n
>  ##### <font color=#FF0000>  $(df -lPTh | head -n 1) </font> n
>  ##### <font color=#FF0000>  $(df -lPTh| grep $partition) </font> n
"

}
}
EOF
    )

    # 发送告警 (自行替换钉钉Webhook机器人的URL)
    curl -H "Content-Type: application/json" -X POST -d "$PAYLOAD"  https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXX
    echo $PAYLOAD
  fi
done

3、脚本权限设置及定时任务设置

chmod 777 /opt/disk_usage_check.sh

crontab -e 
0 */4 * * * /opt/disk_usage_check.sh

shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警

(图片点击放大查看)

shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警

(图片点击放大查看)

每4个小时巡检一次 可以自行调整频率

4、测试

df -PTh

找一个分区,以/boot分区为例

dd if=/dev/zero of=/boot/test.iso count=1 bs=300M

让/boot分区超过阀值进行测试 然后手动执行

sh /opt/disk_usage_check.sh

测试是否会触发告警 

shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警

(图片点击放大查看)

5、告警效果如下

shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警

(图片点击放大查看)

原文始发于微信公众号(WalkingCloud):shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/243205.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!