监控服务器cpu,mem,disk自动邮件报警,并将数据写入表中。
来源:互联网 发布:什么梳子对头发好 知乎 编辑:程序博客网 时间:2024/06/06 11:43
加入crontab 中,5分钟执行一次
*/5 * * * * /home/ymx/moniter.sh >> /home/ymx/moniter.log 2>&1
脚本如下
#!/bin/bash
##################. /etc/profile
. ~/.bash_profile
##################
#for i in `/bin/ps -ef | grep moniter.sh | grep -v grep | awk '{print $2}'`;do
# /bin/kill -9 $i
#done
hostname kjw`/sbin/ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}' | tail -1 | cut -d. -f4`
#sleep 3
#while [ 0 ];do
maxcpu=80
maxmem=80
maxdisk=80
notice_mail="yuanmx@qq.com yuanmx@gmail.com"
function insert_log()
{
mysql -h*.*.*.* -u* -p* dbname << EOF
insert into moniter(insert_time,server_ip,cpu_used,cpu_model,cpu_num,mem_size,mem_used,disk_default_size,disk_default_used,disk_home_size,disk_home_used) values("$insert_time","$server_ip","$cpu_used","$cpu_model","$cpu_num","$mem_size","$mem_used","$disk_default_size","$disk_default_used","$disk_home_size","$disk_home_used");
EOF
}
insert_time=`date +%Y%m%d-%H%M%S-%N`
server_ip="`/sbin/ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}' | tail -1`"
cpu_used=`vmstat 5 1 | awk 'NR>2 {print 100-$15}'`
if [ ${cpu_used} -gt ${maxcpu} ];then
echo "warning!!! `date +%Y%m%d-%H%M%S` $server_ip cpu used $cpu_used% over 80% " | mail -s "`date +%Y%m%d-%H%M%S` $server_ip cpu uesd over 80%" $notice_mail
fi
cpu_model=`cat /proc/cpuinfo | grep "model name" |awk '{print $NF}'|sed -n '1p'`
cpu_num=`cat /proc/cpuinfo | grep "model name" |wc -l`
mem_size=`free -m | sed -n '2p' | awk '{printf "%.02f\n",$2/1024}'`
mem_used=`free -m |awk 'NR>2&&NR<=3 {printf "%.0lf",$3/($3+$4)*100}'`
if [ ${mem_used} -gt ${maxmem} ];then
echo "warning!!! `date +%Y%m%d-%H%M%S` $server_ip mem used $mem_used% over 80% " | mail -s "`date +%Y%m%d-%H%M%S` $server_ip mem uesd over 80%" $notice_mail
fi
#disk_default_size=`df -h | awk 'NR>1&&/%/ && $6!="/dev/shm" && $6!="/boot" {print $1}' |sed -n 1p`
disk_default_size=`df -h | awk '"/"==$NF{print $(NF-4) }'`
disk_default_used=`df -h | awk '"/"==$NF{print $(NF-1) }'`
disk_home_size=`df -h | awk 'NR>1&&/%/ && $6!="/dev/shm" && $6!="/boot" {print $1,$(NF-1),$NF}' | grep "/home" | awk '{print $1}'`
disk_home_used=`df -h | awk 'NR>1&&/%/ && $6!="/dev/shm" && $6!="/boot" {print $1,$(NF-1),$NF}' | grep "/home" | awk '{print $(NF-1)}'`
insert_log;
diskusedp=`df -h | grep % | awk 'NR!=1 {print $(NF-1)}'`
echo "$diskusedp"
for p in ${diskusedp}; do
pn=`echo "$p" | sed 's/\%//g'`
# echo $pn
if [ ${pn} -gt ${maxdisk} ];then
echo "warning!!! `date +%Y%m%d-%H%M%S` $server_ip `df -h | grep -w "$p"` over 80% "
echo "warning!!! `date +%Y%m%d-%H%M%S` $server_ip `df -h | grep -w "$p"` over 80% " | mail -s "`date +%Y%m%d-%H%M%S` $server_ip uesd over 80%" $notice_mail
else
echo "`date +%Y%m%d-%H%M%S` `df -h | grep -w "$p"` lower 80% "
fi
done
更多技术交流,加入qq群115980409!
- 监控服务器cpu,mem,disk自动邮件报警,并将数据写入表中。
- 如何配置服务器自动监控并报警
- python自动发送报警监控邮件
- python监控脚本,监控CPU,磁盘报警时发送邮件
- shell 监控磁盘空间并自动报警实例
- python实现监控磁盘情况,并邮件报警
- python实现监控磁盘情况,并邮件报警
- linux服务(web/mysql/disk/memory)监控和邮件报警脚本
- tomcat健康状态监控并自动重启短信报警
- Zabbix3.0.4监控Windows的CPU使用百分比并在CPU使用率超过90%触发报警
- 利用python监控linux系统cpu、内存、文件系统的使用情况以及简单的邮件报警
- 监控服务器端口,Down掉会自动重启,并发送邮件 Linux Shell
- linux获取多机CPU,Disk,mem信息脚本
- 在线监控服务器、网站、数据库、Tomcat(应用服务器)等,可短信、邮件报警!
- 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则
- 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则
- Python学习之pyinotify监控Linux下文件,并实现邮件报警
- shell脚本远程监控服务器,并用mutt+msmtp发送报警邮件
- cocos2dx 3.0 物理(以前的 box2d)
- Html5 の 微信飞机大战
- java提高篇(三十)-----Iterator
- 如何在Ubuntu上安装最新版本的Node.js
- SharePoint Server 2010 删除Web应用程序
- 监控服务器cpu,mem,disk自动邮件报警,并将数据写入表中。
- 第二章、Tiny4412 U-BOOT移植二 启动分析
- [POJ 3734] Blocks (矩阵快速幂、组合数学)
- 瀑布流动态加载
- LotusScript代码执行Http请求
- Portal技术简介
- jquery实现左右上下移动
- 惠州市聚福金银珠宝有限公司全城免费wifi项目
- java 反射实现javabean转json