博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell脚本--监控mysql的队列,队列超过300告警
阅读量:7119 次
发布时间:2019-06-28

本文共 1880 字,大约阅读时间需要 6 分钟。

  hot3.png

首先安装rabbitmqctl 命令

说明:rabbitmqctl 命令 可以获取Mysql对列的信息

rpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.6/rabbitmq-server-3.5.6-1.noarch.rpm

启动rabbitmq-server

service rabbitmq-server start

在对应的机器创建脚本

vim /usr/local/sbin/mysql.sh#!/bin/bash  #堵塞最大数量  maxNum=100  #接收者  email_reciver="anna_wqd@163.com" #smtp服务器地址  email_smtphost=smtp.exmail.126.com  #发送者邮箱  email_sender=tinna_wu@126.com  #邮箱用户名  email_username=tinna_wu#使用qq邮箱进行发送需要注意:首先需要开启:POP3/SMTP服务。  email_password=xxxxx#服务器ip  local_ip=`ifconfig|grep inet|awk '{print $2}'|awk -F " " '{print $1}'|head -1`  #主题  email_title="服务器${local_ip}消息队列堵塞"  #Mysql的环境变量  export RABBITMQPATH=/usr/lib/rabbitmq/bin/  #获取所有队列的名字和每个队列中的消息数量,存入'queueNum'数组中  declare -A A queue Json   queuelindex=0  for QUEUE in $(rabbitmqctl list_queues |grep -v 'Listing queues ...' | awk -F' ' '{print $1}');  do       #统计每个消息队列的数量      queueJson[$QUEUE]=$(rabbitmqctl list_queues |grep $QUEUE | awk -F' ' '{print $2}')       nums=${queueJson[$QUEUE]}      # -ge        if [[ $nums -ge $maxNum ]]; then          #存key          queueName[$queueIndex]=$QUEUE          queueIndex=`expr $queueIndex + 1`      fi  done   #如果有异常,发送邮件  exceptionNum=${#queueName[@]}  if [[ $exceptionNum -gt 0 ]]; then      #有队列阻塞,exceptionName存放的为堵塞队列的名称,发送邮件      #内容      email_content="队列阻塞情况:"      for name in ${queueName[*]}      do          email_content=$email_content"\\n${name}:${queueJson[${name}]}"      done      echo "###################count at $(date +'%d-%m-%Y %H:%M:%S') ######################"      echo -e $email_content      #发送邮件      /usr/local/sbin/mysql.sh -f ${email_sender} -t ${email_reciver} -s ${email_smtphost} -u ${email_title} -xu ${email_username} -xp ${email_password} -m ${email_content} -o message-charset=utf-8  fi  

写任务执行

crontab -e*/30 * * * * root sh /usr/local/sbin/mysql.sh

 

转载于:https://my.oschina.net/AnnaWu/blog/1546481

你可能感兴趣的文章
poj 1523 SPF
查看>>
POJ 2318 TOYS(点与直线的关系 叉积&&二分)
查看>>
To Fill or Not to Fill
查看>>
Fiddler ScriptEditor 扩展编程oSession相关方法
查看>>
UIView 移除子视图
查看>>
jQuery+HTML5实现上传文件预览
查看>>
HTML基础2 表单和框架
查看>>
Docker(一):入门教程
查看>>
数据结构学习---顺序表
查看>>
RAID常用级别的比较
查看>>
有米实习-用到的shell脚本和Python脚本记录
查看>>
Python 2.7 urllib2 cookielib 学习
查看>>
不想当将军的学生,不是好程序员——数据访问层DAL
查看>>
working with fitnesse wiki pages
查看>>
sql事务(Transaction)用法介绍及回滚实例
查看>>
根据二位数组的某个字段删除多余的一维数组
查看>>
16g u盘变 成1g u盘 解决方案,使用驱动器中的光盘之前需要将其格式化
查看>>
Mac 下更新 bash_profile文件
查看>>
Java初学——输出和输入处理
查看>>
LeetCode-Longest Substring Without Repeating Characters
查看>>