percona-toolkitを使ってMySQLのSlow Queryの集計結果をメール送信する

percona-toolkitのインストールをします。

yum install perl-Time-HiRes perl-IO-Socket-SSL
yum localinstall http://www.percona.com/redir/downloads/percona-toolkit/LATEST/RPM/percona-toolkit-2.2.7-1.noarch.rpm

使ってみます。

pt-query-digest /var/log/mysql-slow.log
pt-table-usage /var/log/mysql-slow.log

メール送信するプログラムを書きます。

#vim /usr/local/hoge/bin/mysql/slowquery.sh

#!/bin/sh
TODAY=`date +"%Y-%m-%d %H:%M:00"`
YESTERDAY=`date -d "1 day ago" +"%Y-%m-%d %H:%M:00"`
TO="mail@example.com" 
SUBJECT="Slow Query Log" 

/usr/bin/pt-query-digest --order-by Query_time:cnt --since "${YESTERDAY}" --until "${TODAY}" /var/log/mysql-slow.log | /bin/mail -s "${SUBJECT}" ${TO}

パーミッションを変更します。

chmod 755 /usr/local/hoge/bin/mysql/slowquery.sh

あとはこれはcronで実行すればOKです。