Shell脚本-检测多台主机磁盘使用情况,并设置阈值进行邮件报警

背景:监控N台主机磁盘使用情况。已设置ssh证书连接。

需求:磁盘使用率大于等于80%,发送邮件到指定邮箱。

1、设置监控主机与其他主机的ssh的证书登陆

【监控主机】

ssh-genkey

ssh-copy-id 192.168.199.X 重复步骤手动发送私钥过去给其他主机。

2、主机信息文件

vim /root/shell_scripts/os.info
192.168.199.61 22 root
192.168.199.62 22 root
192.168.199.63 22 root
192.168.199.64 22 root

3、脚本

#!/bin/bash
USER_INFO_FILE='/root/shell_scripts/os.info'
WARNING_FILE='/tmp/disk.warning.file'
for IP in $(awk '{print $1}' $USER_INFO_FILE)
do
  PORT=`awk -v ip=$IP '$1==ip{print $2}' $USER_INFO_FILE`
  USER=`awk -v ip=$IP '$1==ip{print $3}' $USER_INFO_FILE`
  DISK_INFO=`ssh -p $PORT ${USER}@$IP 'df -h' | awk 'BEGIN{OFS="="}$1~/^\/dev/{print $6,int($5)}'`
  for b in $DISK_INFO
  do
    echo -e "${IP}磁盘使用情况:${b}%"
  done
  for a in $DISK_INFO
  do
    shuzi=${a#*=}
    fenqu=${a%=*}
    if [ $shuzi -ge 80 ];then
      echo -e "${IP}的${fenqu}使用率已达${a}%,请进行处理" && echo -e "${IP}的${fenqu}使用率已达${shuzhi}%,请进行处理" >> $WARNING_FILE
    fi
  done
  sleep 5
done
if [ $WARNING_FILE ];then
  cat $WARNING_FILE | mail -s 'disk warning' xxxxxxx@qq.com
fi
rm -rf $WARNING_FILE

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值