作ってみた。
https://gist.github.com/3910575
mysql_status_collector.pl の中身をちょこちょこいじる。
1) $sMySQL .. mysqlクライアントをフルパスで指定
2) $sRrdTool .. rrdtoolをフルパスで指定
3) $sWorkDir .. 色々ファイルを吐き出すディレクトリを指定
4) $sUser .. MySQLに接続できるユーザーを指定、SHOW GLOBAL STATUS叩くだけなので何でもOK。
5) $sPass .. ↑のアカウントのパスワード
6) $sInterval .. information_schema.GLOBAL_STATUSを記録する間隔
設定したら↓で起動。
mysqlクライアントがインストールされていないとダメ。
勝手にバックグラウンドに回る。
shell> perl mysql_status_collector.pl collect
止める時は、$sPidFileのファイルを消す。
PIDファイルが無くなると、次のポーリング間隔になった時にそれを見てexitする仕組み。
killしても構わないけれども。
PIDファイルと言いながら中身はからっぽでPIDは書いてないorz
shell> rm -i /tmp/mywork/mysql_status.pid
ファイルを収集した後は、rrdtoolが入っているマシンの同じディレクトリに持っていって
shell> perl mysql_status_collector.pl total
これで勝手にrrdファイルを作ってデータを突っ込んで、グラフを作る。
ログを収集するマシンにはmysqlクライアントとperlだけ入ってればOK、
集計するマシンにはrrdtoolとperlだけ入ってればOK。
取り敢えずなるべくそれだけで動く何かを目指してみた。
0 件のコメント :
コメントを投稿