久々にinstallしてみたら、公式通りにやっても一部動作しなかったので復習メモ。(昔はどうやってinstallしたんだろ。。。。)
config
$ cp mmeasure_template.conf mmeasure.conf
適当に設定。
Port番号について
WebUIになっているphpのmysql_connectにポートの指定がない。
- web/index.php
7: $link = mysql_connect( $conf[ 'MYSQL_HOST' ], $conf[ 'MYSQL_USER' ], $conf[ 'MYSQL_PASSWORD' ] )
なので、mmeasure.confのMYSQL_PORTを指定してもwebUIが触れない。変更する場合はMYSQL_HOSTの後にコロンで指定。
MYSQL_HOST=127.0.0.1:3307
グラフサイズ
templateには指定がないけど、これを指定しないとグラフが作成されない?
- http://180.style.coocan.jp/wiki/?cmd=read&page=%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%A2%E9%80%A3%2FDB%2FMySQL%2FmMeasure
- http://takesita.seesaa.net/article/28878659.html
SMALLは一覧表示用、LARGEが通常表示用。
WIDTH_SMALL="200" HEIGHT_SMALL="50" WIDTH_LARGE="600" HEIGHT_LARGE="150"
画像の場所
WEBDIRがデフォルトだと動かなかった?表示されたphpのhtmlのソースを見ると、画像はimages/graphs以下にリンクしているため。
変更前 WEBDIR="$PATH_MMEASURE/web/graphs" 変更後 WEBDIR="$PATH_MMEASURE/web/images/graphs"
グラフ更新のログ
毎回画像を生成したログを吐いて結構邪魔なので、追記するのをやめてみた。
- /path/to/mmeasure/daemon/update_graphs.sh
#echo "----- $DIR -----" >>"$LOGNAME" 2>&1 echo "----- $DIR -----" >"$LOGNAME" 2>&1
InnoDBステータスを表示
phpが5.2以降の場合のみ? show innodb statusを表示する、、はずが動かない。web/detail.phpを修正。
# diff -u detail.php.bak detail.php --- detail.php.bak 2010-10-02 01:45:43.338024000 +0900 +++ detail.php 2010-10-02 01:45:07.492280000 +0900 @@ -25,7 +25,7 @@ $query = "show innodb status"; $result = mysql_query( $query ) or die( "Query failed : " . mysql_error() ); $var = mysql_fetch_array( $result ); - $innodb_status = htmlspecialchars( $var[ 0 ] ); + $innodb_status = htmlspecialchars( $var[ 2 ] ); ?> <pre><?php print $innodb_status; ?></pre> <?php
その他のステータス
global status
データ操作クエリー比率(Cmd_select とか) はSHOW GLOBAL STATUS の値を使用するべきだと思うんだけど、mmeasure はSHOW STATUS の値をとってきているので値が取れないので、がっつり置換する。
$ find /path/to/mmeasure/ -type f -print0 | \ xargs -0 grep -l --null 'show status' | \ xargs -0 perl -i.bak -p -e 's/show status/show global status/g;'
table cache
mysqlの変数で5.0までtable_cacheだった名前が、table_open_cacheに変わっているので変更する。
$ find /path/to/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;'
queries
mysql 5.1 から総クエリー回数がSHOW STATUS の "Questions"から、"Queries" に変更になっているのでその部分も修正する。
$ find /path/to/mmeasure/ -type f -print0 | \ xargs -0 grep -l --null Questions | \ xargs -0 perl -i.bak -p -e 's/Questions/Queries/g;'