慢查询数据超时告警脚本

28 篇文章 0 订阅
19 篇文章 0 订阅

  基本逻辑为,每日跑一次该脚本,若前一天有超过5秒的慢查询记录,则发送邮件告警。

 

#!/bin/bash

file=/usr/local/mysql/data/slow.log
info=/slowquery/info
date=`date +%Y_%m_%d`
date_day_1=`date -d '1 days ago' '+%y%m%d'`

#判断一天前是否有慢查询数据
cat $file |grep "Time: $date_day_1"
if [ $? = 0 ];then
    #获取前一天慢查询数据开始行数
    sl=`grep -n "$date_day_1" $file | cut -d: -f1 | head -1`

    #获取前一天慢查询数据结束行数
    el=`wc -l $file | cut -d' ' -f1`

    #前一天慢查询数据导出
    sed -n "$sl,$el p" $file > $info

    #判断导出的数据是否有大于5s
    cat "$info" | grep "# Q" | sed 's/\..*$//'| awk '$3>5' | grep Q
    if [ $? = 0 ];then

        #发送邮件
        mail -s "慢查询超时警告 $date" XX@qq.com < $info
    fi
fi

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值