サーバーがどのくらいCPUやメモリなどの計算機資源を利用しているかをという情報は、
サーバーを増強した方がいいかどうかの判断を下す時に重要な情報になります。
また、サーバーにトラブルが起こった際に、
リソースの使い過ぎによるものかという原因の判断にも使えます。
ほぼすべてのサーバーはコマンド一つで計算資源の利用率をモニタリングできますが、
知りたいのはサーバーを触っていない間の情報だったりするので、
勝手にログを残しておいてもらって後から見れると便利ですね。
また、見る時も、ある程度の期間を追ってみることが多いので、
テキストで表示するよりも、グラフで見れた方が便利です。
そんな、要求を満たしてくれるリソース監視ツールの一つである
「munin」 を導入してみましょう。
ここでは、Ubuntuサーバーに
munin を導入してみます。
munin の構成
munin を導入する前に、
muninの構成を大まかに把握しておきましょう。
muninでは、監視対象のサーバー上でリソースの情報を収集するmunin-nodeと、
収集された情報を受け取って、HTMLで表示するmunin-serverの2つが連携します。
munin-node と munin-server は一つのサーバー上で動作させることもできて、
その場合は、そのサーバー自身のリソース情報を、
そのサーバー上で表示することになります。
今回は、一台のサーバー上で、 munin-nodeとmunin-serverを同居させる設定にします。
munin の導入
それでは、muninをサーバーに導入して、
ブラウザからリソース管理ができるようにしましょう。
準備
munin は、HTML形式でリソース情報を表示するので、
HTML を公開するためのHTMLサーバーが必要です。
そのため、はじめにHTML サーバーをインストールしましょう。
HTMLサーバーは基本的になんでもいいのですが、
以降では、apache2 をインストールしたものとして進めて行きます。
munin のインストール
munin のインストールは次のコマンド一つでOKです。
sudo apt-get install munin munin-node
muninのデフォルトの設定では、
munin-node がローカルの情報を収集して、
munin-server がローカルの munin-node からデータを収集するので、
そのサーバーだけのリソース情報を表示するだけなら、設定済みです。
apache の設定
次に、グラフを表示するHTMLの公開に関する設定をしましょう。
設定ファイルは、「/etc/munin/apache.comf」で、
デフォルトでは、ローカルの接続のみを許可するようになっているので、
VPSなど、リモートにあるサーバーの場合は、
リモートからのアクセスができるように設定を変更する必要があります。
エディタで設定ファイルを開きます。
sudo nano /etc/munin/apache.comf
その後、ファイルの対応する部分を下のように書き換えます。
~~~ <Directory /var/cache/munin/www> # Order allow,deny # Allow from localhost 127.0.0.0/8 ::1 Options None # This file can be used as a .htaccess file, or a part of your apache # config file. # # For the .htaccess file option to work the munin www directory # (/var/cache/munin/www) must have "AllowOverride all" or something # close to that set. # AuthUserFile /etc/munin/munin-htpasswd AuthName "Munin" AuthType Basic Require valid-user ~~~
Order と Allow でアクセス制限を行っているので、ここをコメントアウトして無効にしています。
かわりに、ユーザー名とパスワードによる認証、Basic認証を有効にするために、
AuthUserFile
以降のコメントアウトを外しています。
デフォルトでは、ユーザーを管理するファイルが/etc/munin/munin-htpasswd
になっています。
設定変更を有効にする
設定ファイルを変更した後は、 apache をリロードして、設定を反映させます。
sudo service apache2 reload
この後、「http://[host]/munin」にアクセスすると、
ユーザー名とパスワードが要求されるようになります。
まだ、ユーザーがいない状況なので、次はユーザーを登録しましょう。
ユーザーを登録する
munin のページにアクセスするためのユーザーを設定します。
sudo htpasswd -c /etc/munin/munin-htpasswd [ユーザー名]
のコマンドを入力すると、パスワードの設定を要求されるので、
パスワードを設定しましょう。
これで、ユーザーが新しく作られました。
「http://[host]/munin」にアクセスして、
ユーザー名とパスワードを入力すれば、
muninによるリソース管理画面が表示されるはずです。
ssl 化する
muninのページにアクセスする際に、
ユーザー名とパスワードを送信しているので、
セキュリティ的には、暗号化しておきたいですね。