MuninでMySQLを監視してみました。
長くなりますので、3回に分けます。
- インストール
- Munin nodeの設定、起動
- Munin masterの設定、実行
Ubuntu12.04のパッケージのバージョンは古いので、ソースからインストールしてみます。
Muninのソースをダウンロード
1 |
$ git clone https://github.com/munin-monitoring/munin.git |
展開してINSTALLというファイルに従ってインストールします。
MuninはPerlで書かれていて、Perlのモジュールをいろいろ入れる必要がありますが、ひとまずMuninをインストールしてしまいます。
“munin”というアカウントを作成、インストール
1 2 3 |
$ sudo adduser munin --shell /usr/sbin/nologin --no-create-home $ make $ sudo make install |
インストール場所などはMakefile.configで変更できます。今回は変更しないでインストールします。/opt/muninや/etc/opt/muninにファイルが作られます。
Muninの動作の仕組み
各ホストでmunin nodeを実行して情報を収集、その情報をmunin masterが収集するという仕組みです。ここに詳しい用語の説明があります。
munin nodeを実行
1 2 3 4 5 6 7 8 |
$ munin-node Base class package "Net::Server::Fork" is empty. (Perhaps you need to 'use' the module which defines that package first, or make that module available in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl). at /usr/local/share/perl/5.14.2/Munin/Node/Server.pm line 5 BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Munin/Node/Server.pm line 5. Compilation failed in require at /opt/munin/sbin/munin-node line 36. BEGIN failed--compilation aborted at /opt/munin/sbin/munin-node line 36. |
必要なPerlモジュールが見つからないというメッセージが出力されたら順次インストールします。
1 2 |
$ sudo perl -MCPAN -e shell cpan[1]> install Net::Server::Fork |
以下のメッセージが出力されたら、ひとまずmunin nodeは置いておいておきます。
1 2 |
$ munin-node Couldn't open log file "/opt/munin/log/munin/munin-node.log" [許可がありません]. at /usr/local/share/perl/5.14.2/Net/Server.pm line 212. |
munin masterを実行
munin nodeのときと同じように不足しているPerlモジュールをインストールします。
以下のメッセージが表示されたらRRDToolsをインストールします。
1 2 3 4 5 6 7 |
$ munin-cron Can't locate RRDs.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /usr/local/share/perl/5.14.2/Munin/Master/UpdateWorker.pm line 19. BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Munin/Master/UpdateWorker.pm line 19. Compilation failed in require at /usr/local/share/perl/5.14.2/Munin/Master/Update.pm line 17. BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Munin/Master/Update.pm line 17. Compilation failed in require at /opt/munin/lib/munin-update line 14. BEGIN failed--compilation aborted at /opt/munin/lib/munin-update line 14. |
RRDToolのインストール
RRDToolは、ログやそのグラフ化など行うツールで、muninが多くをこのツールに依っています。
1 2 3 |
$ ./configure $ make $ sudo make install |
rrdtoolもデフォルトでは/optの下にインストールされ、その中に.soがありますのでパスを通しておきます。ld.so.confにパスを追加してldconfigを実行します。
各言語のバインディングはbindingsの下にあります。
1 2 3 4 |
$ cd bindings/perl-shared $ perl Makefile.PL $ make $ make install |
munin-cronを実行して以下のメッセージが出力されればひとますOKです。
1 2 |
$ munin-cron Can't open /opt/munin/log/munin/munin-update.log (許可がありません) at /usr/local/share/perl/5.14.2/Log/Log4perl/Appender/File.pm line 103. |
今回はここまで、次回はMunin nodeの設定です。