システム監視 · 1 min read · Oct 16, 2025

muninを使用した複数システムの監視 (Debian Etch)

この記事では、muninを使用して複数のシステムを監視する方法について説明します。muninは、サーバーのほぼすべての側面(負荷平均、メモリ使用量、CPU使用量、MySQLスループット、eth0トラフィックなど)に関する素晴らしいグラフィックを、ほとんど設定なしで生成します。監視対象のすべてのシステム(muninサーバー自体を含む)にmuninクライアントをインストールします。muninクライアントは、muninサーバーに報告します。

このチュートリアルはDebian Etch向けに書かれていますが、設定は他のディストリビューションにもほとんど変更なしで適用できるはずです。

まず最初に言いたいのは、これはそのようなシステムを設定する唯一の方法ではないということです。この目標を達成する方法はたくさんありますが、これは私が取る方法です。これがあなたにとって機能するという保証はありません!

1 予備ノート

私たちのmuninサーバーのホスト名はserver1.example.com(IPアドレス:192.168.0.100)で、そこにドキュメントルート/var/www/www.example.com/webを持つウェブサイトwww.example.comがあります。

ここでは1つのmuninクライアント、server2.example.com(IPアドレス:192.168.0.101)を使用しています。もちろん、好きなだけクライアントシステムを追加できます。

2 サーバーにmuninをインストールして設定する

muninサーバー(server1.example.com):

Debian Etchにmuninクライアントとサーバーをインストールするには、次のようにします:

apt-get install munin munin-node

次に、munin設定ファイル/etc/munin/munin.confを編集する必要があります。muninに出力をディレクトリ/var/www/www.example.com/web/monitoringに配置させたいので、htmldirの値を変更し、HTML出力でlocalhost.localdomainの代わりにserver1.example.comを使用させたいので、localhost.localdomainをserver1.example.comに置き換えます。この設定により、muninサーバーは自分自身を監視できるようになります。コメントを除くと、変更されたファイルは次のようになります:

vi /etc/munin/munin.conf

| dbdir /var/lib/munin htmldir /var/www/www.example.com/web/monitoring logdir /var/log/munin rundir /var/run/munin tmpldir /etc/munin/templates [server1.example.com] address 127.0.0.1 use_node_name yes |

次に、ディレクトリ/var/www/www.example.com/web/monitoringを作成し、その所有権をユーザーとグループmuninに変更します。そうしないと、muninはそのディレクトリに出力を配置できません。その後、muninを再起動します:

mkdir -p /var/www/www.example.com/web/monitoring  
chown munin:munin /var/www/www.example.com/web/monitoring  
/etc/init.d/munin-node restart

今、muninが最初の出力を生成できるように数分待ち、ブラウザでhttp://www.example.com/monitoring/にアクセスすると、最初の統計が表示されます。数日後には、次のように見えるかもしれません:

(これはmuninが生成する多くのグラフィックの小さな抜粋に過ぎません…)

3 muninサーバー上のmunin出力ディレクトリをパスワード保護する(オプション)

muninサーバー(server1.example.com):

すべての人がサーバーに関するすべての小さな統計を見られるようにしたくない場合は、ディレクトリ/var/www/www.example.com/web/monitoringをパスワード保護することをお勧めします。

これを行うには、/var/www/www.example.com/web/monitoringに.htaccessファイルを作成します:

vi /var/www/www.example.com/web/monitoring/.htaccess

| AuthType Basic AuthName "メンバーのみ" AuthUserFile /var/www/www.example.com/.htpasswd require valid-user |

次に、パスワードファイル/var/www/www.example.com/.htpasswdを作成する必要があります。ユーザー名adminでログインしたいので、次のようにします:

htpasswd -c /var/www/www.example.com/.htpasswd admin

adminのパスワードを入力すると、完了です!

4 クライアントにmuninをインストールして設定する

muninクライアント(server2.example.com):

クライアントシステムでは、muninクライアントパッケージであるmunin-nodeをインストールするだけです:

apt-get install munin-node

次に、muninクライアントに、IPアドレス192.168.0.100のmuninサーバーserver1.example.comがクライアントから詳細を取得するために接続することを許可する必要があります。これを行うには、/etc/munin/munin-node.confを開き、最後にallow ^192.168.0.100$という行を追加します。その後、ファイルは次のようになります:

vi /etc/munin/munin-node.conf

| # # munin-nodeの例の設定ファイル # log_level 4 log_file /var/log/munin/munin-node.log port 4949 pid_file /var/run/munin/munin-node.pid background 1 setseid 1 # バインドするポート; host * user root group root setsid yes # 無視するファイルの正規表現 ignore_file ~$ ignore_file \.bak$ ignore_file %$ ignore_file \.dpkg-(tmp|new|old|dist)$ ignore_file \.rpm(save|new)$ # クライアントが正しいホスト名を報告しない場合はこれを設定します。 # localhost、ポート4949にtelnetする時 # #host_name localhost.localdomain # 接続を許可されているアドレスのリスト。これは # 正規表現でなければなりません。Net::Serverの脳の損傷により、 # CIDRスタイルのネットワーク表記を理解しません。必要に応じて # allow行を何度でも繰り返すことができます allow ^127\.0\.0\.1$ allow ^192\.168\.0\.100$ |

最後に、muninクライアントを再起動します:

/etc/init.d/munin-node restart

5 muninサーバーの設定を更新する

muninサーバー(server1.example.com):

次に、muninサーバーに監視する別のシステム(IPアドレス192.168.0.101のserver2.example.com)があることを知らせる必要があります。これを行うには、/etc/munin/munin.confを開き、server2.example.comのスタンザを追加して、ファイルが次のようになるようにします:

vi /etc/munin/munin.conf

| dbdir /var/lib/munin htmldir /var/www/www.example.com/web/monitoring logdir /var/log/munin rundir /var/run/munin tmpldir /etc/munin/templates [server1.example.com] address 127.0.0.1 use_node_name yes [server2.example.com] address 192.168.0.101 use_node_name yes |

次に、muninを再起動します:

/etc/init.d/munin-node restart

数分後、muninページ(http://www.example.com/monitoring/)にserver2.example.comのリンクが表示されるはずです:

そのリンクをクリックすると、server2.example.comのグラフが表示されます。

6 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。