编写shell脚本实现对虚拟机cpu、内存、磁盘监控机制
发布时间:2020-12-15 23:19:03 所属栏目:安全 来源:网络整理
导读:一、安装Vmware,并通过镜像安装centos7。 ? 二、安装xshell(可以不装,可以直接在虚拟机中直接进行以下步骤) ? 三、安装mail 一般Linux发送报警邮件通过本地邮箱或外部邮箱服务器,这里用最简单的方法实现linux?使用外部邮箱即可实现发送邮件功能 yum -y ins
一、安装Vmware,并通过镜像安装centos7。 ? 二、安装xshell(可以不装,可以直接在虚拟机中直接进行以下步骤) ? 三、安装mail 一般Linux发送报警邮件通过本地邮箱或外部邮箱服务器,这里用最简单的方法实现linux?使用外部邮箱即可实现发送邮件功能 yum -y install mailx yum -y install sendmail ? 若是安装之后报错,问题请参考:http://blog.sina.com.cn/s/blog_72682ca201017vxj.html 四、配置qq邮箱:
四、编写shell脚本 #!/bin/bash #对cpu使用率进行获取 cpuMonitor=`top -n 1 | awk -F ‘[ %]+‘ ‘NR==3 {print $3}‘` #对磁盘使用率进行获取 data_name="/dev/sda1" diskMonitor=`df -h | grep $data_name | awk -F ‘[ %]+‘ ‘{print $5}‘` fileLog=/tmp/monitor.log #获取内存情况 mem=`free -m | awk ‘{if(NR==2){print "Total Mem:" $2}else if(NR==3){print "Used Mem:" $3"nFree Mem:" $4}}‘` mem_total=`free -m | awk -F ‘[ :]+‘ ‘NR==2{print $2}‘` mem_used=`free -m | awk -F ‘[ :]+‘ ‘NR==3{print $3}‘` #统计内存使用率 mem_used_persent=`awk ‘BEGIN{printf "%.0fn",(‘$mem_used‘/‘$mem_total‘)*100}‘` #获取报警时间 now_time=`date ‘+%F %T‘` function send_mail(){ mail -s "监控报警" [email?protected] < /tmp/monitor.log } function check(){ if [[ "$cpuMonitor" >0.0000001 ]] || [[ "$diskMonitor" > 0.000000000000001 ]] || [[ "$mem_used_persent" >0.0000000000000001 ]];then echo "报警时间:${now_time}" > $logFile echo -e "CPU使用率:${cpuMonitor}% n 磁盘使用率:${diskMonitor}% n 内存使 用率:${mem_used_persent}%" >> $fileLog send_mail fi } function main(){ check } main 注意:
五、运行结果:(大致会出现以下界面) ? 2018-10-2015:35:24 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |