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 が表示されずリンクの文字が赤い件について
参考文献
- なぜそうなるのか→ MuninでのMySQL InnoDB監視でMySQL InnoDB free tablespace に関する「CRITICAL state」への対応 | グーフー WordPressのためのLinuxノート
- free tablespace が少なくなってきたらアラートをメールで欲しい→ RDSの簡単な監視をしてみよう! - サーバーワークス エンジニアブログ
おまけ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 の操作をしたら上記コマンドを実行してエラーが発生しなくなり、グラフも表示されました。