MySQL自動(dòng)發(fā)送慢SQL給開(kāi)發(fā)人員的腳本
最近,我寫(xiě)了個(gè)腳本,就是當(dāng)mysql數(shù)據(jù)庫(kù)cpu平均5分鐘負(fù)載高于18時(shí),自動(dòng)分析最近5分鐘內(nèi)的慢sql,并把慢sql發(fā)送給相應(yīng)開(kāi)發(fā)人員進(jìn)行優(yōu)化。
同時(shí)用pt-kill命令運(yùn)行超過(guò)5分鐘的慢sql,以使mysql數(shù)據(jù)庫(kù)故障自愈
[root@MySQL02 ~]# cat /usr/local/script/send_slow_sql.sh
點(diǎn)擊(此處)折疊或打開(kāi)
在貴港等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營(yíng)銷網(wǎng)站建設(shè),外貿(mào)網(wǎng)站建設(shè),貴港網(wǎng)站建設(shè)費(fèi)用合理。
-
#!/bin/bash
-
top5=`uptime |awk '{print $12}' |awk -F',' '{print $1}' |awk -F'.' '{print $1}'`
-
if [ $top5 -gt 18 ];then
-
echo -e "大家好: \n 在最近5分鐘內(nèi),mysql數(shù)據(jù)庫(kù)(172.16.2.4)的cpu平均負(fù)載是:`uptime |awk -F'users,' '{print $2}'`\n 是由以下慢sql引起的,煩請(qǐng)大家找到各自負(fù)責(zé)的慢sql進(jìn)行優(yōu)化,謝謝。" > /log/slow/report.txt
-
#echo -e "\n 說(shuō)明:以下內(nèi)容是由pt-query-digest分析慢日志得到的,如果你對(duì)以下內(nèi)容有疑問(wèn),可以訪問(wèn):http://blog.csdn.net/seteor/article/details/24017913進(jìn)行參考。" >> /log/slow/report.txt
-
echo -e "\n 說(shuō)明:以下內(nèi)容是由pt-query-digest工具分析慢日志得到的,如果你對(duì)以下內(nèi)容有疑問(wèn),可以百度pt-query-digest進(jìn)行報(bào)告解讀。" >> /log/slow/report.txt
-
echo -e "\n 另外,此郵件是監(jiān)控腳本自動(dòng)觸發(fā)發(fā)送,請(qǐng)勿回復(fù)本郵件,謝謝!" >> /log/slow/report.txt
-
pt-query-digest --since=5m /log/slow/slow-query.log >> /log/slow/report.txt
-
cat /log/slow/report.txt | mail -s "最近5分鐘mysql數(shù)據(jù)庫(kù)發(fā)生了慢sql" chenzhixin@abc.com zhangqiang@abc.com
-
#用pt-kill命令殺運(yùn)行超過(guò)5分鐘的慢sql,pt-kill名字在后臺(tái)執(zhí)行3分鐘后自動(dòng)退出,這樣做的目的是為了讓mysql故障自愈
pt-kill --no-version-check --host=localhost --user=root --password='hy_QWSA_root' --port=3306 --daemonize --log=/log/killed_query.log --run-time=180s --busy-time=300s --idle-time=5s --match-command=Query --victims all --kill
然后把上面的send_slow_sql.sh放到crontab每分鐘自動(dòng)調(diào)用一次即可。
[root@MySQL02 ~]# crontab -l
#發(fā)送慢sql給相應(yīng)人員
* * * * * /usr/local/script/send_slow_sql.sh
最終得到如下郵件:
當(dāng)前文章:MYSQL自動(dòng)發(fā)送慢SQL給開(kāi)發(fā)人員的腳本
分享地址:http://www.aaarwkj.com/article2/jsddic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)、營(yíng)銷型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、面包屑導(dǎo)航、品牌網(wǎng)站設(shè)計(jì)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)