■muninで複数mysqldを監視する設定メモ
 CentOS環境で同一ホスト内に設定された複数mysqld自体やデータベースサイズの監視をmuninで行う設定のメモ。epelリポジトリが必要。munin設定ができている前提。複数mysqldの起動設定メモはこちら

■複数mysqld自体の監視

1)必要なモジュールをインストールする
# yum install perl-Cache perl-Cache-Cache perl-DBD-MySQL

2)監視ファイルがサポートしているパラメータの参照
/usr/share/munin/plugins/mysql_ のファイルを利用する
以下のコマンドで出てきたリストのパラメータが取得可能

# /usr/share/munin/plugins/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

3)複数mysqldの分をコピーで作成し必要な編集を行う

# cp /usr/share/munin/plugins/mysql_ /usr/share/munin/plugins/mysql01_
# vi /usr/share/munin/plugins/mysql01_

132行目からデータソースを指定
my %config = (
‘dsn’ => $ENV{‘mysqlconnection’} || ‘DBI:mysql:mysql;host=localhost;mysql_socket=/path/to/mysql01/mysql.sock’,
‘user’ => $ENV{‘mysqluser’} || ‘dbuser’,
‘password’ => $ENV{‘mysqlpassword’} || ‘password’,
);

145行目でキャッシュネームを指定
‘namespace’ => ‘munin_mysql01’,

690行目で接頭値を指定
my $graph = substr(basename($0), length(‘mysql01_’));

814行目でmunin上で表示するカテゴリ名を指定
print “graph_category mysql01\n”;

これをmysqldの数だけ値を変えて作成

4)監視したいパラメータのリンクを貼る

# cd /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql01_ mysql01_commands
# ln -s /usr/share/munin/plugins/mysql01_ mysql01_qcache
# ln -s /usr/share/munin/plugins/mysql01_ mysql01_qcache_mem
# ln -s /usr/share/munin/plugins/mysql01_ mysql01_slow

5)値が取得できているか確認
ここでエラーが出ているようだと設定にミスがある

# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_commands
# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_qcache
# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_qcache_mem
# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_slow

■複数mysqld内のデータベースサイズを監視

1)プラグインを入手して設置する
http://exchange.munin-monitoring.org/plugins/mysql_size_/details からプラグインダウンロード
/usr/share/munin/plugins/ にmysql01_size_ 等番号を付けて必要分配置する

42行目
unless ($0 =~ /mysql_size(?:_([^_]+)|)_(.+)\s*$/)

48行目
my $MYSQLADMIN = $ENV{mysqladmin} || “mysql”;

を設定や環境に合わせて修正
例えば

unless ($0 =~ /mysql01_size(?:_([^_]+)|)_(.+)\s*$/)
my $MYSQLADMIN = “/usr/bin/mysql”;

2)munin-nodeに必要なパラメータを設定する

# vi /etc/munin/plugin-conf.d/munin-node

[mysql01_*]
env.mysqlopts -uroot -ppassword –socket=/path/to/mysql01/mysql.sockk
env.mysqladmin /usr/bin/mysqladmin

[mysql02_*]
env.mysqlopts -uroot -ppassword –socket=/path/to/mysql02/mysql.sock
env.mysqladmin /usr/bin/mysqladmin

など

3)監視したいDBのリンクを設定する

# cd /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql01_size_ mysql01_size_dbname01
# ln -s /usr/share/munin/plugins/mysql01_size_ mysql01_size_dbname02
# ln -s /usr/share/munin/plugins/mysql02_size_ mysql02_size_dbname03

4)値が取得できているか確認
ここでエラーが出ているようだと設定にミスがある

# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_size_dbname01
# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql01_size_dbname02
# /usr/sbin/munin-run –servicedir /etc/munin/plugins mysql02_size_dbname03

■動作が確認できたら設定を反映する

# /sbin/service munin-node restart

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...