MuninでServersMan@VPSを監視: MySQL その2

監視カメラ

前回はMuninに標準で付属するプラグインを使ってMySQLの監視を行いました。

今回はGithub(https://github.com/munin-monitoring/contrib/tree/master/plugins/mysql)で公開されているプラグインを用いてさらに監視項目を増やしてみます。

プラグインのダウンロード

Gitを使って一括してダウンロードすることができます。詳細については「MuninでServersMan@VPSを監視: nginx その1」を参照してください。

コマンド一発でまとめてダウンロードすることができます。

ここでは/usr/local/share/munin/contrib/plugins/mysql以下にMySQL用のプラグインがダウンロードされたとして紹介します。

プラグインの種類

上記のGithubには13個のプラグインが公開されていますが、ここでは以下のプラグインについて紹介します。

  • mysql_connections
    MySQLに対する接続数
  • mysql_qcache
    キャッシュに保持されているクエリ数
  • mysql_qcache_mem
    キャッシュのサイズ
  • mysql_size_
    指定したデータベースのサイズ
  • mysql_size_all
    MySQLの全データベースのサイズ
  • mysql_size_ondisk
    HDD上の各データベースのサイズ
  • mysql_slave
    MySQLのスレーブスレッドの状態(?)

共通の設定

今回紹介するプラグインの多くは/etc/munin/plugin-conf.d/munin-nodeの設定として、次の記述が必要になります。

[mysql*データベース名]
env.mysqlopts --user=データベース名 --password=パスワード --host=localhost

この記述については前回のmysql_bytesプラグインを参照してください。

mysql_connectionsプラグイン

上記の共通の設定をしていればプラグインのシンボリックリンクを作成してmunin-nodeを再起動すれば設定完了です。

cd /etc/munin/plugins
ln -s /usr/local/share/munin/contrib/plugins/mysql/mysql_connections mysql_connectionsデータベース名
service munin-node restart

グラフは次のようになります。現状では受付可能なコネクションの数パーセント程度しか使っていないようです。

mysql_connections

mysql_qcacheプラグイン

このプラグインも上記の共通の設定があればシンボリックリンクとmunin-nodeを再起動だけで設定完了です。

cd /etc/munin/plugins
ln -s /usr/local/share/munin/contrib/plugins/mysql/mysql_qcache mysql_qcacheデータベース名
service munin-node restart

グラフは次のようになります。たぶんキャッシュが有効に使われているのだと思います。

mysql_qcache

mysql_qcache_memプラグイン

このプラグインも上記の共通の設定があればシンボリックリンクとmunin-nodeを再起動だけで設定完了です。

cd /etc/munin/plugins
ln -s /usr/local/share/munin/contrib/plugins/mysql/mysql_qcache_mem mysql_qcache_memデータベース名
service munin-node restart

グラフは次のようになります。キャッシュは16MB用意されているようです。日中は90%近くキャッシュとして使っていますが、夕方に急激にキャッシュ量が落ちたのが気になります。こういう動きは1日だけでなく長い時間で監視する必要があります。

mysql_qcache_mem

mysql_size_プラグイン

このプラグインも上記の共通の設定があればシンボリックリンクとmunin-nodeを再起動だけで設定完了です。

cd /etc/munin/plugins
ln -s /usr/local/share/munin/contrib/plugins/mysql/mysql_size_ mysql_size_データベース名
service munin-node restart

グラフは次のようになります。とりあえずデータベース(このWordPressサイト用のデータベース)の大きさはあまり変わっていないようです。一日二日でそう変わるものでもないので長い期間監視して傾向をつかむ必要があります。

mysql_size_

mysql_size_allプラグイン

このプラグインも上記の共通の設定があればシンボリックリンクとmunin-nodeを再起動だけで設定完了です。

cd /etc/munin/plugins
ln -s /usr/local/share/munin/contrib/plugins/mysql/mysql_size_all mysql_size_allデータベース名
service munin-node restart

グラフは次のようにMySQLに存在する各データベースのサイズの変化が表示されます。

下記のグラフでは紫色で示されているデータベース(このWordPress用のデータベース)だけがやたらに大きいために、グラフがほとんど紫色になってしまっています。

mysql_size_all

mysql_size_ondiskプラグイン

このプラグインを使うためには/etc/munin/plugin-conf.d/munin-nodeに次の行を書き加える必要があります。

[mysql_size_ondisk]
user mysql

あとは他のプラグインと同様にシンボリックリンクを作成してmunin-nodeを再起動します。

cd /etc/munin/plugins
ln -s /usr/local/share/munin/contrib/plugins/mysql/mysql_size_ondisk mysql_size_ondiskデータベース名
service munin-node restart

スクリーンショットはこのプラグインを稼動したばかりのときのものです。MySQLのデータベースごとにHDD上でのサイズが表示されます。

mysql_size_ondisk

mysql_slaveプラグイン

このプラグインも共通の設定があればシンボリックリンクとmunin-nodeを再起動だけで設定完了です。

cd /etc/munin/plugins
ln -s /usr/local/share/munin/contrib/plugins/mysql/mysql_slave mysql_slaveデータベース名
service munin-node restart

これでグラフが表示されるようになるのですが・・・私の環境ではグラフの線がずっとゼロのままでした。正直、このグラフの意味がわかっていません。

mysql_slave

まとめ

今回はGithubに公開されているプラグインを使ってMySQLの監視項目を増やしました。

まだ設定したばかりであまり有効に使えていませんが、データベースサイズなどは推移を見て行きたいものです。