Linx监控分享--重点进程监控(mysqld)+邮件提醒

重点进程监控

mysqld:进程退出了,报警。没有退出则监控mysqld的(cpu(>=100%)|| mem(>=80%))开始提醒,同时收集和分析mysql状态信息;连接数(>=max_connections * 0.8)开始提醒;打开的句柄数(>=8192*0.8?)开始提醒。

待完善。。。

如果是单机多实例的话,只需要增加一个for循环就好了。

在手机上安装网易的邮件客户端,就可以达到实时提醒的效果。

关于mail的配置,见之前的文章:http://blog.csdn.net/rookie_ceo/article/details/46559195

#!/bin/sh
source /etc/profile

IP=`/sbin/ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\) .*/\1/p'|grep -v '127.0.0.1'`
warn_pct=1 #75
warn_name=[mysqld]
performance_path=/monitor/performance
mailtmp=/u01/soft/smonitor/mailtmplet/"$warn_name"tmp.mail
infotmp=/u01/soft/smonitor/mailtmplet/"$warn_name"tmp.tmp
[email protected],[email protected] 

DT=`date +"%Y-%m-%d %H:%M:%S"`
mysqld_pid=`ps -ef|grep  mysqld|grep -E "basedir|datadir" |grep -vE "mysqld_|grep"|awk '{print $2}'`
#mysqld_pid=`ps -ef|grep  mysqld|grep -E "basedir|datadir" |grep -vE "mysqld_|grep|mysqld"|awk '{print $2}'`
if [ "0" = "0$mysqld_pid" ]
then
             echo "您好:" >$mailtmp
             echo "     [$DT]服务器:$IP mysqld进程已经退出,请注意。" #>>"$performance_path"/performance_$warn_name_$(date +%Y%m%d).log
             echo "     [$DT]服务器:$IP mysqld进程已经退出,请注意。"  >> $mailtmp

             ps -ef|grep mysql  >>$mailtmp
             echo -e "[$DT]$p1" >>$mailtmp
             echo -e "\nBest Wishes! \n------------------------------------ \nCA system Monitor \n$DT" >> $mailtmp
             cat $mailtmp| mailx -s "$warn_name[告警]:服务器:$IP" $maillist
else
      echo "mysqld_pid=$mysqld_pid"
      top -b -n 1 -p  $mysqld_pid >$infotmp
      #cpu >= 100% 或者 mem >=80%  ##这里是约等于
      over_pct_flag=`cat $infotmp | grep "^ *[1-9]" | awk '{ if($9 > 99 || $10 > 79) {print 1} else {print 2}}'`
      echo "over_pct_flag==$over_pct_flag"

      if [ 1 -eq "$over_pct_flag" ]
      then
             echo "您好:" >$mailtmp
             echo "     [$DT]服务器:$IP mysqld进程CPU和Mem超过警戒值(cpu >= 100% 或者 mem >=80%),请注意。" #>>"$performance_path"/performance_$warn_name_$(date +%Y%m%d).log
             echo "     [$DT]服务器:$IP mysqld进程CPU和Mem超过警戒值(cpu >= 100% 或者 mem >=80%),请注意。"  >> $mailtmp

             echo -e "[$DT]$p1" >>$mailtmp
             cat $infotmp  >>$mailtmp
             DT=`date +"%Y-%m-%d %H:%M:%S"`
             echo -e "\nBest Wishes! \n------------------------------------ \nCA system Monitor \n$DT" >> $mailtmp
             cat $mailtmp| mailx -s "$warn_name[告警]:服务器:$IP" $maillist
      fi
fi

邮件提醒

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-24 01:49:08

Linx监控分享--重点进程监控(mysqld)+邮件提醒的相关文章

Linx监控分享--网络状态监控+邮件提醒

网络状态监控 网络状态:netstat 各个状态的总计,详情:以及重点端口的详细连接情况(22,25,80,3306,8080),打印客户端连接数最多的ip. 邮件报告当前状态. 在手机上安装网易的邮件客户端,就可以达到实时提醒的效果. 关于mail的配置,见之前的文章:http://blog.csdn.net/rookie_ceo/article/details/46559195 #!/bin/sh source /etc/profile IP=`/sbin/ifconfig|sed -n '

Linx监控分享--磁盘空间监控+邮件提醒

分享第一个监控脚本,挂载点磁盘空间使用监控:如果使用空间达到了75%则开始报警,发送告警邮件. 在手机上安装网易的邮件客户端,就可以达到实时提醒的效果. 关于mail的配置,见之前的文章:http://blog.csdn.net/rookie_ceo/article/details/46559195 #!/bin/sh source /etc/profile IP=`/sbin/ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\) .*/

JVM探秘:VisualVM监控远程Java进程

VisualVM在Java 8中是JDK自带的一个图形化工具,项目主页 VisualVM,在后续版本中可能会从JDK移除. VisualVM可以监控Java进程的CPU与内存占用情况,可以监控Java进程内的各个线程的执行情况,还可以与MAT工具一样用来分析堆转储快照. 监控远程Tomcat进程 监控远程主机上的Tomcat进程,需要在Tomcat的catalina.sh文件中加入参数: JAVA_OPTS="$JAVA_OPTS -Dcom.sum.management.jmxremote -

AIX进程监控脚本分享一例

分享一个AIX进程监控脚本: 当MWM进程数大于2时,调用sendmail发送邮件通知用户,脚本如下 #!/usr/bin/ksh #---------------------------------------------------------------# # Script Name : MWM Check Shell # Created by  : Xin23 #         on  : 2015.02.04 #------------------------------------

根据进程名监控进程(邮件提醒)

背景:在window server系统中的进行监控udp端口的时候发现, 每次进程重启后端口都会发生变化,于是尝试放弃监控端口改用监控进程名的想法. bat ::Final interpretation is owned by chenglee ::Thankyou ::温馨提示:如果放在win启动计划中,如需要就开启第六行代码, ::作用是检测完马上自动关闭检测脚本待下次运行, 如果不开启就是检测完停留等待手动关闭, ::作用:窗口叠加 ::@echo off<nul 3>nul @echo

使用monit规范的扩展业务的进程监控和管理

前言: 看到这个标题的人一定会很疑惑,进程监控和报警,不都是用zabbix,nagios么?  对于管理的话,自己写crontab脚本不就行了. 当然这肯定是可以的. 标题说了,规范和扩展!   所谓的进程监控就是 在进程不可用,或者是被kill掉,也有外因,比如进程吃内存大,需要重启进程,让他初始化程序的实例,简单说,就是进程pid是在,只是进程是假死的,不可用的. 对于这些进程管理和监控的需求,说下圈子里面解决这类问题的办法: 大家一定知道supervisord这个东西,现在很多人都喜欢用他

shell脚本-监控及邮件提醒

首先写一个邮件提醒python文件 #!/usr/bin/python # -*- coding: UTF-8 -*- import sys import smtplib import email.mime.multipart import email.mime.text server = 'smtp.163.com' port = '25' def sendmail(server,port,user,pwd,msg): smtp = smtplib.SMTP() smtp.connect(se

zabbix监控之同时向多人邮件报警

zabbix做为一款监控软件,报警是必不可少的,该文章主要介绍zabbix向多人邮件报警的配置过程. zabbix邮件报警配置步骤说明: 1.  准备一个发送邮件的脚本 2.  修改zabbix配置文件中指定的脚本路径 3.关联脚本名称 4.用户设置收件邮箱与报警时间 5.配置报警触发器 6.添加多个用户,同时给多个人发邮件 7.邮件接收测试 1.准备一个发送邮件的脚本 发送邮件有很多方法,自己写脚本的话,只要遵循zabbix传参的格式即可. zabbix发送邮件传参格式:./sendmail.

用monit监控系统关键进程

monit是一款功能强大的系统状态.进程.文件.目录和设备的监控软件,用于*nix平台, 它可以自动重启那些已经挂掉的程序,非常适合监控系统关键的进程和资源,如:nginx.apache.mysql和cpu占有率等.而监控管理Python进程,常用的是supervisor,后续会另外撰文介绍. 下面分别介绍monit的安装.配置和启动. 安装 在debian或ubuntu上安装monit非常方便,通过下面的命令 sudoapt-getinstall monit 即可,其它*nix上也很简单,下载