1.监控需求
监控服务器cpu使用率、内存使用率、磁盘占用率
监控异常报警,发送邮件提醒
1.磁盘占用率超过90%
2.CPU使用率超过80%
3.内存使用率超过90%
结合crond服务,计划每半小时执行脚本查看服务器情况
2.编写脚本
2.1配置邮件功能
yum -y install mailx
vi /etc/mail.rc
set from=邮箱账号(发送方)
set smtp=smtp.qq.com
set smtp-auth-suer=邮箱账号(发送方)
set smtp-auth-password=邮箱账号授权码
set smtp-auth=login
echo "使用率超额" | mail -s "硬盘报警" 邮箱账号(接收方)
2.2配置计划任务
crontab -e
分钟 时 日 月 星期 执行的命令(绝对路径) 【对象】
2.3提取性能监控指标
#磁盘占用率
disk=$(df -Th | grep "/$" | awk '{print $6}' | awk -F% '{print $1}')
#内存占用率
mem=$(expr $(free | grep "Mem:" | awk '{print $3}') \* 100 / $(free | grep "Mem:" | awk '{print $2}'))
#CPU使用率
cpu=$(expr 100 - $(mpstat | tail -1 | awk '{print $12}' | awk -F. '{print $1}'))
2.4监控报警
alert_file=/root/alert.txt
if [ $disk -ge 85 ]
then echo "磁盘占有率超过85%" >> $alert_file
fi
if [ $mem -ge 90 ]
then echo "内存占有率超过90%" >> $alert_file
fi
if [ $cpu -ge 90 ]
then echo "cpu占有率超过90%" >> $alert_file
fi
if [ -f $alert_file ]
then
cat $alert_file | mail -s "硬盘报警" 邮箱账号(接收方)
rm -rf $alert_file
fi