bekkou68 の日記

Gogengo! や IT 技術など。

Amazon RDS の MySQL を Munin で監視する

はじめに

Munin のセットアップおよびアプリインスタンスのリソース監視をする方法はこちらのエントリをご覧ください。『Amazon EC2 で Munin + Apache でリソース監視環境をセットアップする
このエントリは前述したエントリの手順が終了しているという前提で話を進めます。

手順

必要なパッケージをインストール(※1)。

$ sudo yum install -y perl-Cache perl-Cache-Cache perl-IPC-ShareLite perl-DBD-MySQL

必要なプラグインのリンクをはります。

$ sudo ln -s /usr/share/munin/plugins/mysql_* /etc/munin/plugins/

設定ファイルを開き、

$ sudo vim /etc/munin/plugin-conf.d/munin-node

下記セグメントを追加します。

[mysql*]
env.mysqlopts --user=<USER> --password=<PASSWORD> --host=<HOSTNAME>
env.mysqladmin /usr/bin/mysqladmin
$ sudo /etc/init.d/munin-node restart

これでしばらく待っていると MySQL のリソース監視ができるようになります。

おまけ1: Munin 管理画面において mysql innodb free tablespace が表示されずリンクの文字が赤い件について

おまけ2: もし ※1 のパッケージをいれずに munin-node ファイルを更新した場合

このエントリを書く前に自分で入れようとしたら、上記タイトルのような手順で進めてしまいハマりました。どのようなエラーが出るかをメモとして残しておきます。

/var/log/munin-node/munin-node.log をみてみると・・

...
Binding to TCP port 4949 on host *
...
... Missing dependency Cache::Cache at /etc/munin/plugins/mysql_ line 728.
...
... Missing dependency Cache::Cache at /etc/munin/plugins/mysql_ line 728.
...
... Missing dependency Cache::Cache at /etc/munin/plugins/mysql_ line 728.
...

と大量にエラーが出ていました。

調べているうちに、以下のコマンドが実行できなければ怪しいとわかり、実行してみました。

[ec2-user@web munin-node]$ perl -e "use Cache::SharedMemoryCache"
Can't locate Cache/SharedMemoryCache.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

ダメでした。
※1 の操作をしたら上記コマンドを実行してエラーが発生しなくなり、グラフも表示されました。