主机邮件告警监控脚本

1.需求描述
编写监控脚本sysmon.sh,存在异常时邮件告警
结合计划任务,每小时检查一次


2,实现思路
使用df、mpstat、free等命令提取各种监控指标
将各指标与正常值进行比较,保存异常情况
检查异常记录,若存在则发送告警邮件
设置crontab任务,定期调用system.sh脚本。

(1),监控内容包括:CPU使用率,内存使用率,根分区的磁盘占用率。
(2),百分比只需精确到个位数。比如:7%,12%,23%
(3),出现以下任一情况时告警:根分区磁盘占用率> 90%, CPU使用率> 80%,
内存使用率>90%
(4)告警邮件通过mail命令发送给dadjee2009@163.com

 

3,安装查看cpu的软件!

mpstat ---> rpm -ivh sysstat-7.0.2-3.el5.i386.rpm

4,脚本内容如下


[root@localhost ~]# cat system.sh
#!/bin/bash
#邮件报警监控脚本
#-----------------------采集各个监控项目的数值--------------------------#
gl=$(df -hT |grep "/$" |awk '{print $5/1}')
ul=$(mpstat  |tail -1 |awk '{print $10}' |awk -F. '{print 100 - $1}')
ml=$(free -m |awk /cache:/'{print $3 / ($3 + $4) * 100}' |awk -F. '{print $1}')
if [ $gl -gt 9 ]; then
echo "根分区使用率:${gl}% 超出告警上限值: 90%" >> /tmp/alert.txt
fi
if [ $ul -gt 8 ]; then
echo "CPU用率:${ul}% 超出告警上限值: 80%" >> /tmp/alert.txt
fi
if [ $ml -gt 9 ]; then
echo "内存使用率:${ml}% 超出告警上限值: 90%" >> /tmp/alert.txt
fi
[ -e /tmp/alert.txt ] && cat /tmp/alert.txt |mail dadjee2009@163.com
[ -e /tmp/alert.txt ] && rm -rf /tmp/alert.txt &> /dev/null



最后别忘了创建用户 设置定时发送内容;

                                                                                     breaklinux工作室!

                                                                                   上传日期:2014年8月19日