oinume journal

Scratchpad of what I learned

Muninでサーバのリソース監視

サーバのリソース監視&グラフ化を行なうソフトウェアは色々ありますが、今日は導入が簡単と言われているMuninを紹介したいと思います。

 

個人的に感じているMuninの良い点としては

 

 

 

  • インストール&初期設定が簡単

 

 

  • デフォルトで監視できる対象が多い

 

 

  • プラグイン機構があり、任意のリソースのグラフ化が可能

 

 

 

が挙げられます。仕事で使うのは Cacti とかがいいと思いますが、個人利用としては Munin はとてもお手軽でおすすめです。

 

インストール

Ubuntu Linuxだとdebパッケージがあるのでaptitudeでインストールするだけです(Fedore CoreやCentOSにもRPMがあります)。

 

$ sudo aptitude install munin

 

 

インストールしたら、munin-nodeというプログラムが起動しているかどうかを調べます。

 

$ ps auxww |grep munin-node

 

 

もし起動していない場合は下記の要領で起動しておきましょう。

 

$ sudo /etc/init.d/munin-node start

 

 

設定

Muninは munin-node というサーバに常駐してリソースの情報を集めるエージェントと、そのエージェントから情報を集約してリソースの状況をグラフ化する munin 本体の2つがあります。今回は1台のサーバを監視するので特に意識する必要はありませんが、サーバが複数台になった場合は、munin-node を監視したいサーバにインストールする必要があります。

 

なお、Munin自体はデフォルトのままでも使用できますが、 Muninが /var/www/munin/ に生成したグラフのファイルをブラウザから見れるように、Apacheに以下の設定を追加します。

 

Alias /munin/ /var/www/munin/

<Directory "/var/www/munin">

Options Indexes +SymLinksIfOwnerMatch MultiViews ExecCGI

AllowOverride FileInfo AuthConfig Limit Indexes

Order allow,deny

Allow from all

 

 

 

設定したら Apache を再起動します。5分ぐらい待ってから http://yourhost/munin/ をブラウザで開くと下記のような画面が表示されるかと思います。待てないせっかちな人は下記を実行してみてください(muninのHTMLが生成されます)。

 

$ sudo -u munin munin-cron

 

 

Munin Top

 

 

監視したいリソースの追加

デフォルトでは Munin にはApacheMySQLなどの状況をグラフ化するプラグインが付属しているので、これを有効にしてみましょう。例えば Apache 関連のものは

 

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

 

のように、/etc/munin/plugins/の下にpluginのシンボリックリンクを貼るだけで監視対象とすることができます。あ、ただ munin-node の再起動が必要ですが...

 

$ sudo /etc/init.d/munin-node restart

 

 

なお、グラフが更新されるのは5分に1回なので、監視対象を追加した場合反映されるのは5分後になります。以下は apache_accesses の状況です。

 

MuninでApacheのリソース監視

 

プラグインのダウンロード

デフォルトでもかなりの数のプラグインが揃っていますが、memcachedなどのリソース監視を行うプラグインもあります。そのような野良プラグインMuninExchangeにアップされているので、使えそうなものがないかチェックしておくと良いでしょう。

 

まとめ

Muninのお手軽さが少しは伝わったでしょうか?日本語の情報はあまりありませんが、Munin自体はとてもシンプルかつ導入が簡単なので、「試しに入れてみよう」というとっかかりになれば幸いです。プラグインで任意のリソースをグラフ化することができるのも大きなメリットなので、時間があったらプラグインの書き方でも説明したいと思います。

 

[tmkm-amazon]4774145017[/tmkm-amazon]