写一个redhat linux主机上监控cpu/内存/文件系统使用率的shell脚本,设置告警阈值
时间: 2023-10-16 22:03:02 浏览: 152
以下是一个用Shell脚本编写的可监控RedHat Linux主机上CPU、内存和文件系统使用率的例子,并设置告警阈值:
```shell
#!/bin/bash
# 设置告警阈值
cpu_threshold=85 # CPU 使用率阈值,超过85%触发告警
mem_threshold=90 # 内存使用率阈值,超过90%触发告警
fs_threshold=80 # 文件系统使用率阈值,超过80%触发告警
# 获取 CPU 使用率
cpu_usage=$(top -bn 2 -d 0.01 | grep '^%Cpu' | tail -n 1 | awk '{print $2}' | cut -d'%' -f1)
echo "CPU 使用率:$cpu_usage%"
# 监控 CPU 使用率
if (( cpu_usage >= cpu_threshold )); then
echo "CPU 使用率超过阈值!触发告警!"
# 在此处编写触发告警的动作,例如发送邮件或者调用其他程序
fi
# 获取内存使用率
mem_usage=$(free -m | awk 'NR==2{printf "%.2f\n", $3*100/$2}')
echo "内存使用率:$mem_usage%"
# 监控内存使用率
if (( mem_usage >= mem_threshold )); then
echo "内存使用率超过阈值!触发告警!"
# 在此处编写触发告警的动作,例如发送邮件或者调用其他程序
fi
# 获取文件系统使用率
fs_usage=$(df -h | awk '$NF=="/"{printf "%s\n", $5}' | cut -d'%' -f1)
echo "文件系统使用率:$fs_usage%"
# 监控文件系统使用率
if (( fs_usage >= fs_threshold )); then
echo "文件系统使用率超过阈值!触发告警!"
# 在此处编写触发告警的动作,例如发送邮件或者调用其他程序
fi
```
使用以上脚本,你可以定期(例如每5分钟)运行一次,以监控系统的CPU、内存和文件系统使用情况,并在达到设定的阈值时触发告警动作。你可以在触发告警的部分编写相应的动作,如发送邮件给管理员或其他预定的操作。
阅读全文