[MySQL - Slow query 메일 전송] use. pt-qeury-digest

pt-query-digest 이용

TOP10 쿼리를 뽑아 mail로 첨부파일 형식으로 주에 한번씩 보내볼 예정입니다.
Slow query에 변수로 인한 같은 쿼리임에도 불구하고 숫자하나만 다른 데이터가 들어가도 top 쿼리에 찍힙니다..결국 중복된 쿼리가 찍혀있을 수 있기때문에 필터링하는 방법을 강구해야할 거 같습니다.
 

사전 작업
pt-query-digest 설치

 
 

▶ email body 생성

[root@mysql bin]# vi body.txt

Deliver slowquery this week

 

▶  script 생성

[root@mysql bin]# vi mail.sh

#!/bin/bash

date=$(date +"%Y%m%d")

/root/percona-toolkit-3.0.5/bin/pt-query-digest --type='slowlog' /root/mysql-slow-query-$date.log > /root/slowquery_$date.log

sed -n '/Query 1:/,/Query 11:/p' /root/slowquery_$date.log  | awk '!x[$0]++ {print $0}' > /root/slowquery_$date_mail.log

mutt -s "Slow query mail" jeonghyun.kim@*******.com < /root/body.txt -a /root/slowquery_$date_mail.log

 

▶  script 테스트

[root@mysql bin]# sh +x mail.sh

 

 
▶ crontab
매주 일요일 새벽 3시에 전송

00 03 * * 7 /bin/sh /root/mail.sh