Munin 2.0のmysqlプラグインで"Couldn't instantiate IPC::ShareLite: Permission denied"とエラーになったらSELinuxをdisabledにしよう

·2 分で読めます

タイトル通りなのだけど、ググっても全く出て来なかったので。

  • CentOS 6.3

  • Munin 2.0.9

が環境。/usr/share/munin/plugins/mysql_ を使ってグラフを表示させたかったのだけど、munin-nodeに対して

telnet localhost 4949

> fetch mysql_innodb_io

ってやってもエラーになっていて、/var/log/munin-node/munin-node.logには

Couldn't instantiate IPC::ShareLite: Permission denied at /usr/share/perl5/Cache/SharedMemoryBackend.pm line 85.

っていうエラーが出てた。他のグラフはちゃんとデータが取れて描画されるのになんでなんで?って1時間近くはまった。Cache::SharedMemoryBackendでは特にファイルをopenしているわけではなかったので、もしかしたらと思ってSELinuxの設定(/etc/selinux/config)を見てみたら見事にenforcingだった...

というわけでenforcing→disabledに変えてうまくいきましたとさ。それにしてもMunin 2.0系のmysqlのプラグインはグラフの種類が充実してるなぁ。InnoDB Buffer PoolやInnoDB IO(↓)の情報まで取れるんですね。

mysql_innodb_io

※あまりにもプラグインがいっぱいあって /usr/share/munin/plugins/mysql_ から /etc/munin/plugins/ にシンボリックリンク張るのが大変だったので、スクリプト書いた。

[tmkm-amazon]4774150371[/tmkm-amazon]