mmeasureをMySQL5で動かすために。

mMeasureって便利なツールがあります。
残念ながらMySQL5では動きがおかしいです。
一番おかしいのが、「データ操作クエリ比率」で、Com_Selectの値がとれない、ってあたりです。なぜか0のまんま。
・・・理由を調べたら、どうやら、show status の Com_select とかの値の処理が変わったようです。
参考:Bug Report id=13756 The server variable “Com_select” seems session local variable. – mir the developer
要約すると「show global statusしる!」ってことです。

というわけでパッチ。

diff -ur mmeasure/daemon/data-mysql/read-data.pl mmeasure-upd/daemon/data-mysql/read-data.pl
--- mmeasure/daemon/data-mysql/read-data.pl     2006-01-16 18:23:02.000000000 +0900
+++ mmeasure-upd/daemon/data-mysql/read-data.pl 2009-12-04 19:09:38.000000000 +0900
@@ -47,7 +47,7 @@
                $conf{ 'MYSQL_PORT' },
                $conf{ 'MYSQL_SOCKET' } );

-       my %status = select_2column( $db, "show status" );
+       my %status = select_2column( $db, "show global status" );
        my %variables = select_2column( $db, "show variables" );

        $db->disconnect;
diff -ur mmeasure/web/detail.php mmeasure-upd/web/detail.php
--- mmeasure/web/detail.php     2006-01-06 13:23:18.000000000 +0900
+++ mmeasure-upd/web/detail.php 2009-12-04 19:49:18.000000000 +0900
@@ -42,7 +42,7 @@
                }
                if ( $key == "status" )
                {
-                       $query = "show status";
+                       $query = "show global status";
                }
                $result = mysql_query( $query ) or die( "Query failed : " . mysql_error() );
                $items = array();
diff -ur mmeasure/web/index.php mmeasure-upd/web/index.php
--- mmeasure/web/index.php      2006-01-16 17:21:59.000000000 +0900
+++ mmeasure-upd/web/index.php  2009-12-04 19:49:10.000000000 +0900
@@ -10,7 +10,7 @@
        $report = array();
        $report[ 'now' ] = strftime( "%Y/%m/%d %H:%M:%S" );

-       $query = "show status";
+       $query = "show global status";
        $result = mysql_query( $query ) or die( "Query failed : " . mysql_error() );
        $status = array();
        $comms_raw = array();

あと。
イメージのpathの指定がおかしいのでなおす。

diff -u mmeasure/mmeasure_template.conf mmeasure-upd/mmeasure_template.conf
--- mmeasure/mmeasure_template.conf     2006-01-16 18:45:17.000000000 +0900
+++ mmeasure-upd/mmeasure_template.conf 2009-12-04 20:18:27.000000000 +0900
@@ -80,7 +80,7 @@
 #------------------------------------------------------------------------------
-
 #      Web settings
 #------------------------------------------------------------------------------
-
-WEBDIR="$PATH_MMEASURE/web/graphs"
+WEBDIR="$PATH_MMEASURE/web/images/graphs"
 WIDTH="400"
 HEIGHT="100"
 IMAGEFORMAT="gif"

そうそう。
あと、このパラメータを入れないとだめです。画像が出ないしエラーがてんこ盛りと出ます。

WIDTH_SMALL="200"
HEIGHT_SMALL="100"
WIDTH_LARGE="400"
HEIGHT_LARGE="100"

参考:FreeBSD(とLinux)雑記:いけてる?けどいろいろいけてないmmeasure – livedoor Blog(ブログ)

・・・と、ここまで書いて。
全部まとめてあるサイトあるやん!ってこと気づいた。
オデの日記@WEB系: mmeasureのインストール


おまけ。
debianで実行用ソフトウェアを簡単に入れるための手順。

  • rrdtool → コマンドラインから aptitude install rrdtool
  • perl関連
    • Socket → そのままでOK
    • DBI → cpan で install DBI
    • DBD::mysql → cpan で install DBD::mysql
    • RRDs → コマンドラインから aptitude install librrds-perl
    • jcode.pm → cpan で install Jcode
  • PHP関連
    • mysqlモジュール → コマンドラインで aptitude install php5-mysql

    2009/12/08 11:40追記。
    CPANを実行するとき、デフォルトのままでは入らないので、さらに最低でもこれだけやらないとだめ。

    $  aptitude install yaml
    $  aptitude install make
    $  aptitude install gcc
    $  aptitude install mysql-client
    $  aptitude install libmysqlclient15-dev
    

    ※yamlが必要かはちょっと疑わしいが・・・。
    libmysqlclient15-dev が入ってないと、どうしてもDBD::mysqlが入らない。怒られます。(『Can’t exec “mysql_config”』と怒られる)
    参考:DBD::mysqlインストール時のエラー – jitsu102の日記

Comments are closed.