0

mmeasure

mmeasureはmySQLの負荷を監視、チューニングのアドバイスを提供してくれるツールです。
今まで知らなかったけど、けっこう古いツールです。
そのままだとmySQL5.1以上は動きません。

cactiでもお馴染のグラフ生成に必要なrrdtoolをインストール
# yum install rrdtool

mmeasureの最新版をダウンロード&展開
# cd /usr/local
# wget http://prdownloads.sourceforge.jp/mmeasure/18557/mmeasure-1.0.7.tar.gz
# tar xvzf mmeasure-1.0.7.tar.gz

mmeasure.confを修正する
# cp mmeasure_template.conf mmeasure.conf

このテンプレートがデフォルトでは設定項目が足りなくて動かないという頑固者。
生成する画像の設定
WEBDIR="$PATH_MMEASURE/web/images/graphs"
WIDTH="400"
WIDTH_SMALL="400"
WIDTH_LARGE="400"
HEIGHT="100"
HEIGHT_SMALL="100"
HEIGHT_LARGE="100"
IMAGEFORMAT="gif"

rrdtoolのパスを変更
PATH_RRDTOOL="/usr/bin/rrdtool"

mySQL関連の設定を変更
MYSQL_HOST=localhost
MYSQL_USER=root
MYSQL_PASSWORD=hogehoge
#MYSQL_PORT=3306
#MYSQL_SOCKET=/tmp/mysql.sock
MYSQL_SLOW_QUERY_LOG="/mnt/log/mysql-slow.log" # なければmy.iniで設定する

mySQL5.1だと起動はするものの数分したらコケるので下記のように男らしく修正
原因はtable_cacheがtable_open_cacheという名前に変わった為。
参考: mmeasuer 1.0.7を無理矢理mysql 5.1に対応させる
find /usr/local/mmeasure/ -type f -print0 | xargs -0 grep -l --null table_cache | xargs -0 perl -i.bak -p -e 's/table_cache/table_open_cache/g;'

同じような原因で、総クエリー回数以下の値を取得できないので、show statusをshow global statusにかえてやる。
find /usr/local/mmeasure/ -type f -print0 | xargs -0 grep -l --null table_cache | xargs -0 perl -i.bak -p -e 's/show status/show global status/g;'

これでmmeasure本体の設定は完了。

続いて、webで表示させるツールなのでhttpdも修正
/etc/httpd/conf.d/mmeasure.conf を作成

Alias /mmeasure/ "/usr/local/mmeasure/web/"
<Directory /usr/local/mmeasure/web/>
AuthUserFile /usr/local/mmeasure/web/.htpasspwd
AuthGroupFile /dev/null
AuthName "User Verification"
AuthType Basic
require valid-user
AddDefaultCharset euc-jp
</Directory>

mmeasure.shを起動
/usr/local/mmeasure/daemon/mmeasure.sh start

mmeasure.shを再起動
/etc/init.d/httpd restart

http://hogehoge.com/mmeasure/ にアクセスするとページが表示される。

注意点として、
「過去のインデックス未使用クエリー内訳」にページャーとかがついてるわけでないので、インデックス未使用クエリーが多いとずらーっと1ページに表示されしまう。

大阪のWEB屋です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です