maehachi08 Anything Blog

2014年02月03日
Munin 既存のプラグインの導入( MySQLプラグインの追加編 )

今回はmunin-nodeパッケージをインストールすれば作成されるプラグインの中からMySQL関連のプラグインをインストール、有効にして、グラフ生成されることを確認するところまで行います。

munin用のmysqlユーザ作成

各々のmysqlプラグインでは、MySQLデータベースの様々な情報を取得するためにいくつかのMySQL管理コマンドが使用されています。

  • mysqladmin という管理オペレーションを実行するためのコマンドラインツール。
  • mysqlshow というshowステートメントに対するコマンドラインインターフェースを提供するコマンドラインツール。
  • mysql というSQLシェルをを提供するコマンドラインツール。

値を取得するだけであればrootユーザでも問題ないのでしょうが、(可能性は低いでしょうが)プラグインにバグコードがあってDROP文が実行されないとも限りません。特にmysqladminコマンドはCREATE文、DROP文、FLUSH-LOGS文など、1つ間違えば大事故になりかねないSQLステートメントを実行可能ですので...

muninプラグインで取得する情報は、全てのデータベースに対するSELECT権限さえあれば問題なさそうです。

今回はSELECT権限を設定したmuninユーザをMySQLに作成します。検証用なのでパスワードも同じで。

CREATE DATABASE munin;
GRANT SELECT ON munin.* TO munin@localhost IDENTIFIED BY 'munin';
FLUSH PRIVILEGES;

/etc/munin/plugin-conf.d/munin-nodeの設定

mysql関連プラグインで使用する環境変数を設定します。これを設定しない場合は各々のプラグイン内のデフォルト値が使用されますが、ちゃんと明示しましょう。

  • /etc/munin/plugin-conf.d/munin-node
[mysql*]
user root
group wheel
env.mysqladmin /usr/bin/mysqladmin
env.mysqlopts -u munin  -pmunin

munin-nodeパッケージで入るプラグインを有効にする(MySQL関連プラグイン)

/usr/share/munin/pluginsディレクトリにあるプラグインを使いたい場合は、該当のプラグインファイルを/etc/munin/pluginsディレクトリにシンボリックリンクを作成し、munin-nodeサービスを再起動することでプラグインを有効にすることが出来ます。

## シンボリックリンクの作成
ln -s /usr/share/munin/plugins/mysql_bytes  /etc/munin/plugins/
ln -s /usr/share/munin/plugins/mysql_queries  /etc/munin/plugins/
ln -s /usr/share/munin/plugins/mysql_slowqueries  /etc/munin/plugins/
ln -s /usr/share/munin/plugins/mysql_threads  /etc/munin/plugins/

## munin-nodeサービス再起動
service munin-node restart

## munin-cronの手動実行
sudo -u munin /usr/bin/munin-cron 

MySQL ベンチマークスィートでベンチマーク実行

MySQLデータベースに対して簡単におこなえるベンチマークに MySQL ベンチマークスィート があります。ベンチマークツールはperlで作成されており、DBIモジュールがインストールされていれば実行できます。

## インストール
yum install -y mysql-bench
cd /usr/share/sql-bench/ 

## ベンチマーク実行
./run-all-tests  

Webページの確認

http:// <IPアドレス>/munin/ にアクセスするとMySQLの各種グラフのページが表示されるはずです。

以上がMuninのMySQL関連プラグインの導入方法です。

次回はMuninで閾値監視を行う方法を書こうと思います。