监控集群的磁盘空间使用量,超阀值发送报警邮件
来源:互联网 发布:张鲁农村淘宝网 编辑:程序博客网 时间:2024/06/09 18:58
监控集群的工具有很多,自己用sell实现了一个集群磁盘空间报警发送邮件的小脚本,共享之。一共两个脚本:disk_check_master.sh 和 disk_check_slave.sh。
执行方式:
1、将disk_check_slave.sh分发至集群中的所有机器;
2、在集群中的任意节点上执行disk_check_master.sh,需要两个参数:接收报警邮件的邮箱、报警阀值
注:集群中的所有集群需要配置好无秘钥登陆
以下为代码:
disk_check_slave.sh
#!/bin/bash#将磁盘的使用情况定向至DUSAGE这个文件df -h | grep dev | awk '{print $1"\t"$5}' > DUSAGEhost=`hostname`echo $hostfunction print_usage(){ echo "Usage: disk_check.sh MailAddress DiskUsageThreshold"}if [ $# == 2 ]; then mail="$1" threshold=$2else print_usage exitfi#echo $mail#echo $threshold#遍历DUSAGE文件while read line do disk=`echo $line | awk '{print $1}'` usage=`echo $line | awk '{print $2}' | sed "s/%//g"` #echo $usage if [ "$usage" -gt $threshold ]; then #echo "error" #超过阀值的磁盘以及使用率定向到文件MAIL,也就是发送邮件的邮件正文 echo "$host The Disk is full, Disk: $disk , Usage: ${usage}%" >> MAIL fi done < DUSAGEif [ -s MAIL ]; then mail -s "${host} The Disk is full" $mail < MAILfirm -rf DUSAGErm -rf MAIL
disk_check_master.sh
#!/bin/bash#执行需要两个参数:邮件地址 磁盘使用率阀值(整数,例如:阀值为80%,则传入80)function print_usage(){ echo "Usage: disk_check.sh MailAddress DiskUsageThreshold"}if [ $# == 2 ]; then mail="$1" threshold=$2else print_usage exitfi#将hosts文件中的IP和主机名定向至当前目录的hosts文件cat /etc/hosts | grep std > hostswhile read line do host=`echo $line | awk -F' ' '{print $2}'` #ssh至集群中的机器,并执行每台机器上的disk_check_slave.sh脚本 ssh $host <<EOF /opt/disk_check_slave.sh $mail $thresholdEOF done < hostsrm -rf hosts
问题:目前存在一个问题,执行master脚本时会报“Pseudo-terminal will not be allocated because stdin is not a terminal.” 应该是由于传入参数的时候不是标准输入,目前还没找到解决办法,但是不影响脚本的执行。
0 0
- 监控集群的磁盘空间使用量,超阀值发送报警邮件
- Shell脚本监控Storm集群,邮件报警
- python自动发送报警监控邮件
- python监控脚本,监控CPU,磁盘报警时发送邮件
- 使用Windows 系统性能监控来报警磁盘空间不足
- nagios邮件报警发送中文、nagios监控页面乱码解决
- 利用python监控linux系统cpu、内存、文件系统的使用情况以及简单的邮件报警
- 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则
- 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则
- shell 监控磁盘空间并自动报警实例
- linux 下查看磁盘空间的使用量
- zabbix使用外部邮箱账号发送报警邮件设置
- Log4j实践之使用log4j发送报警邮件
- zabbix配置发送邮件报警
- 运维监控篇(3)_Zabbix自定义脚本发送报警邮件
- shell脚本远程监控服务器,并用mutt+msmtp发送报警邮件
- Linx监控分享--磁盘空间监控+邮件提醒
- 监控--nagios之 邮件报警(三)
- HDU1698 Just a Hook
- Linphone 3.7.0 for mingw 编译安装
- Memory leak in IIS ADSOpenObject()
- 字符串处理函数补充strtok,strspn,strcspn,strchr,以及atof、atoi
- cocos2d3.0 Scale9Sprite
- 监控集群的磁盘空间使用量,超阀值发送报警邮件
- C++中的抽象基类(Primer学习)
- map删除元素注意
- 一道面试题,内存受限的情况,如何在海量的数据中找到重复最多的
- sort list
- stop HyperV VM by WMI in powershell
- 为什么Field不能被重写?
- COALESCE / GREATEST / LEAST.
- hdu1394 Minimum Inversion Number