赞
踩
- #!/bin/bash
-
- # 设置告警阈值,单位为百分比
- MEM_THRESHOLD=80
- DISK_THRESHOLD=90
-
- # 获取内存使用率
- MEM_USED=$(free | awk 'FNR == 2 {print $3}')
- MEM_TOTAL=$(free | awk 'FNR == 2 {print $2}')
- MEM_USAGE=$((100 * $MEM_USED / $MEM_TOTAL))
-
- # 获取磁盘使用率
- DISK_USAGE=$(df -h | awk 'FNR == 2 {sub(/%/, ""); print $5}')
-
- # 检查内存使用率是否超过阈值
- if [ $MEM_USAGE -ge $MEM_THRESHOLD ]; then
- # 发送告警邮件
- echo "Memory usage is above threshold ($MEM_THRESHOLD%): $MEM_USAGE%" | mail -s "Memory usage alert" you@example.com
- fi
-
- # 检查磁盘使用率是否超过阈值
- if [ ${DISK_USAGE%?} -ge $DISK_THRESHOLD ]; then
- # 发送告警邮件
- echo "Disk usage is above threshold ($DISK_THRESHOLD%): $DISK_USAGE" | mail -s "Disk usage alert" you@example.com
- fi
- #!/bin/bash
-
- # 定义告警的微信号
- wechat_id="your_wechat_id"
-
- # 定义阈值,这里只是举例,具体阈值可以根据实际情况进行设置
- mem_threshold=80
- disk_threshold=90
- net_threshold=100
- io_threshold=50
- cpu_threshold=80
-
- while true; do
- # 获取内存使用率
- mem_usage=$(free | grep Mem | awk '{printf("%.2f"), $3/$2*100}')
-
- # 判断内存使用率是否超过阈值
- if [ $(echo "$mem_usage > $mem_threshold" | bc -l) -eq 1 ]; then
- # 发送告警信息
- echo "Memory usage is high: $mem_usage%" | wechat $wechat_id
- fi
-
- # 获取磁盘使用率
- disk_usage=$(df -h | awk '$NF=="/"{printf("%.2f"), $5}')
-
- # 判断磁盘使用率是否超过阈值
- if [ $(echo "$disk_usage > $disk_threshold" | bc -l) -eq 1 ]; then
- # 发送告警信息
- echo "Disk usage is high: $disk_usage%" | wechat $wechat_id
- fi
-
- # 获取带宽使用率
- net_usage=$(ifstat | awk '$1=="ens3"{print $8}')
-
- # 判断带宽使用率是否超过阈值
- if [ $(echo "$net_usage > $net_threshold" | bc -l) -eq 1 ]; then
- # 发送告警信息
- echo "Network usage is high: $net_usage KB/s" | wechat $wechat_id
- fi
-
- # 获取磁盘 IO 使用率
- io_usage=$(iostat | awk '$1=="sda"{print $4}')
-
- # 判断磁盘 IO 使用率是否超过阈值
- if [ $(echo "$io_usage > $io_threshold" | bc -l) -eq 1 ]; then
- # 发送告警信息
- echo "Disk IO usage is high: $io_usage%" | wechat $wechat_id
- fi
-
- # 获取 CPU 使用率
- cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2+$4}')
-
- # 判断 CPU 使用率是否超过阈值
- if [ $(echo "$cpu_usage > $cpu_threshold" | bc -l) -eq 1 ]; then
- # 发送告警信息
- echo "CPU usage is high: $cpu_usage%" | wechat $wechat_id
- fi
-
- # 等待一定时间再继续监控
- sleep 10
- done
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。