自宅サーバー構築メモ(その8) tritonn(MySQL)をmuninで監視する(その2、リベンジ篇)
muninには、新しい形式のmysqlプラグインがあったので、今回はそれを試しました。
(前回設定したプラグインは全て削除しました。)
プラグイン自体にバージョン情報がかかれていないので確信はないのですが、新しいプラグインとは、前回の「その1、失敗篇」で全く触れなかった"mysql_"のようです。
ファイルサイズも他のプラグインより飛びぬけて大きいので、このスクリプトへ機能が集約されたようです。
# ls -laF /usr/share/munin/plugins/mysql*
-rwxr-xr-x 1 root root 32238 Jan 25 08:11 /usr/share/munin/plugins/mysql_*
-rwxr-xr-x 1 root root 1762 Jan 25 08:11 /usr/share/munin/plugins/mysql_bytes*
-rwxr-xr-x 1 root root 5482 Jan 25 08:11 /usr/share/munin/plugins/mysql_innodb*
-rwxr-xr-x 1 root root 5851 Jan 25 08:11 /usr/share/munin/plugins/mysql_isam_space_*
-rwxr-xr-x 1 root root 2577 Jan 25 08:11 /usr/share/munin/plugins/mysql_queries*
-rwxr-xr-x 1 root root 1538 Jan 25 08:11 /usr/share/munin/plugins/mysql_slowqueries*
-rwxr-xr-x 1 root root 1653 Jan 25 08:11 /usr/share/munin/plugins/mysql_threads*
mysql_プラグインを実行するには、perlのDBD-MySQL、Cache::Cache、Cacheモジュールが必要なのでyumでインストールします。
DBD-MySQLは標準リポジトリから、Cache::Cache、CacheはEPELリポジトリからインストールしました。
# yum install perl-DBD-MySQL
~省略~
Installed:
perl-DBD-MySQL.x86_64 0:3.0007-2.el5
Complete!
# yum install --enablerepo=epel perl-Cache-Cache
~省略~
Installed:
perl-Cache-Cache.noarch 0:1.05-1.el5
Dependency Installed:
perl-Error.noarch 1:0.17010-1.el5 perl-IPC-ShareLite.x86_64 0:0.09-9.el5
Complete!
# yum install --enablerepo=epel perl-Cache
~省略~
Installed:
perl-Cache.noarch 0:2.04-2.el5.3
Dependency Installed:
perl-File-NFSLock.noarch 0:1.20-2.el5.1 perl-Heap.noarch 0:0.80-1.el5 perl-IO-String.noarch 0:1.08-1.1.1
Complete!
mysql_プラグインを有効にするには、他のプラグインと同様にこのスクリプトのシンボリックリンクを
/etc/munin/plugins/下へ作成するのですが、このときシンボリックリンク名に、取得したいグラフの名前を付加します。
例えば、接続数のグラフを取得するプラグインを有効にするには、下記のようにします。
# ln -s /usr/share/munin/plugins/mysql_ mysql_connections
どのようなグラフが取得できるかは、mysql_スクリプトにsuggestを指定して実行するとグラフの種類が得られます。
# ./mysql_ suggest
mysql_bin_relay_log
mysql_commands
mysql_connections
mysql_files_tables
mysql_innodb_bpool
mysql_innodb_bpool_act
mysql_innodb_insert_buf
mysql_innodb_io
mysql_innodb_io_pend
mysql_innodb_log
mysql_innodb_rows
mysql_innodb_semaphores
mysql_innodb_tnx
mysql_myisam_indexes
mysql_network_traffic
mysql_qcache
mysql_qcache_mem
mysql_replication
mysql_select_types
mysql_slow
mysql_sorts
mysql_table_locks
mysql_tmp_tables
suggestの結果から推測するに、前回の失敗篇で上手くいかなかったMyIsam、InnoDBのテーブルスペースの空き領域を取得するプラグインは無い様です。
今回は、下記の8種類のプラグインを有効にしました。
# cd /etc/munin/plugins
# ln -s /usr/share/munin/plugins/mysql_ mysql_commands
# ln -s /usr/share/munin/plugins/mysql_ mysql_connections
# ln -s /usr/share/munin/plugins/mysql_ mysql_innodb_bpool
# ln -s /usr/share/munin/plugins/mysql_ mysql_innodb_io
# ln -s /usr/share/munin/plugins/mysql_ mysql_innodb_log
# ln -s /usr/share/munin/plugins/mysql_ mysql_innodb_tnx
# ln -s /usr/share/munin/plugins/mysql_ mysql_select_types
# ln -s /usr/share/munin/plugins/mysql_ mysql_slow
設定ファイルを編集します。
設定ファイルの記述方法も古いプラグインとはちがっています。
# vi /etc/munin/plugin-conf.d/munin-node
[mysql_*]
env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306
env.mysqluser root
env.mysqlpassword "rootのパスワード"
munin-nodeを再起動します。
# service munin-node restart
Stopping Munin Node agents: [ OK ]
Starting Munin Node: [ OK ]
5分くらい待ってからmuninへアクセスすると、下図のようなmysql関連のグラフが表示されます。
それからグループの名前がmysqlからmysql2へ変わっていました。
図1.