2015年2月19日木曜日

MuninのMySQLプラグインで"Unknown section: INDIVIDUAL BUFFER POOL INFO"エラーが出たときの対処法


https://github.com/munin-monitoring/munin/blob/devel/plugins/node.d/mysql_.in

最新のMySQL5.6で、MuninのMySQLプラグインでを利用しようとすると下記のようなエラーが出ます。
# cd /etc/munin/plugins
# munin-run mysql_innodb_rows
Unknown section: INDIVIDUAL BUFFER POOL INFO at /etc/munin/plugins/mysql_innodb_rows line 1098.

原因は、プラグインが INDIVIDUAL BUFFER POOL INFOの情報を解析せず、エラー処理がうまくいっていないためです。
これを解決するために、該当の情報をスキップするようにPerlのコードを編集します。
具体的には以下のようになります。

%section_mapハッシュの最後に、'INDIVIDUAL BUFFER POOL INFO' => \&skip, を追記します。
# emacs /usr/share/munin/plugins/mysql_
修正前。
    my %section_map = (
~~~~
        'BACKGROUND THREAD'        => \&skip,
    );
修正後。
    my %section_map = (
~~~~
        'BACKGROUND THREAD'        => \&skip,
        'INDIVIDUAL BUFFER POOL INFO'   => \&skip, 
    );

動作チェック。
# munin-run mysql_innodb_rows
Innodb_rows_deleted.value 215
Innodb_rows_inserted.value 13082874
Innodb_rows_read.value 14092838
Innodb_rows_updated.value 14092617

エラーを吐かずに動作するようになりました。