サーバのリソース監視&グラフ化を行なうソフトウェアは色々ありますが、今日は導入が簡単と言われている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 にはApacheやMySQLなどの状況をグラフ化するプラグインが付属しているので、これを有効にしてみましょう。例えば 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 の状況です。
プラグインのダウンロード
デフォルトでもかなりの数のプラグインが揃っていますが、memcachedなどのリソース監視を行うプラグインもあります。そのような野良プラグインはMuninExchangeにアップされているので、使えそうなものがないかチェックしておくと良いでしょう。
まとめ
Muninのお手軽さが少しは伝わったでしょうか?日本語の情報はあまりありませんが、Munin自体はとてもシンプルかつ導入が簡単なので、「試しに入れてみよう」というとっかかりになれば幸いです。プラグインで任意のリソースをグラフ化することができるのも大きなメリットなので、時間があったらプラグインの書き方でも説明したいと思います。