サーバー監視 · 2 min read · Oct 15, 2025
Debian 8 (Jessie) における Munin と Monit を使用したサーバー監視
この記事では、Debian 8 (Jessie) サーバーを Munin と Monit で監視する方法について説明します。munin は、サーバーのほぼすべての側面(負荷平均、メモリ使用量、CPU 使用量、MySQL スループット、eth0 トラフィックなど)に関する素晴らしいグラフィックを、あまり設定をせずに生成します。一方、Monit は Apache、MySQL、Postfix などのサービスの可用性をチェックし、サービスが期待通りに動作していない場合は再起動などの適切なアクションを取ります。この二つの組み合わせにより、現在または今後の問題(「すぐにより大きなサーバーが必要です、負荷平均が急速に増加しています。」)を認識できるグラフィックと、監視されたサービスの可用性を確保する watchdog が得られます。
Munin は複数のサーバーを監視できますが、ここではインストールされているシステムの監視についてのみ説明します。
このチュートリアルは Debian 8 (Jessie) 用に書かれましたが、設定は Ubuntu などの他のディストリビューションにもほとんど変更なしで適用できるはずです。
まず最初に、これはそのようなシステムを設定する唯一の方法ではないことを言いたいです。この目標を達成する方法はたくさんありますが、これは私が取る方法です。これがあなたにとって機能することを保証するものではありません!
1 前提条件
私たちのシステムのホスト名は server1.example.com で、ドキュメントルート /var/www/www.example.com/web のウェブサイト www.example.com を持っています。
Munin をインストールする前にシステムが最新であることを確認してください。以下を実行します:
apt-get update
apt-get upgradeApache は Munin ページを表示するために使用され、apache fcgid モジュールは Munin グラフのズーム機能に必要です。apt を使用して apache と fcgid モジュールをインストールします。
apt-get install apache2 libcgi-fast-perl libapache2-mod-fcgidapache で fcgid モジュールを有効にします。
a2enmod fcgid2 Munin のインストールと設定
Debian Jessie に Munin をインストールするには、以下を実行します:
apt-get install munin munin-node munin-plugins-extra サーバーが MySQL または MariaDB を実行している場合は、MySQL を監視するためにいくつかの追加の Munin プラグインを有効にします:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/mysql_ mysql_
ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes
ln -s /usr/share/munin/plugins/mysql_innodb mysql_innodb
ln -s /usr/share/munin/plugins/mysql_isam_space_ mysql_isam_space_
ln -s /usr/share/munin/plugins/mysql_queries mysql_queries
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries
ln -s /usr/share/munin/plugins/mysql_threads mysql_threads次に、Munin 設定ファイル /etc/munin/munin.conf を編集する必要があります。dbdir、htmldir、logdir、rundir、tmpldir の行のコメントを外します(デフォルト値は問題ありません)。HTML 出力で localhost.localdomain の代わりに server1.example.com を使用するように、シンプルホストツリーセクションで localhost.localdomain を server1.example.com に置き換えます。コメントを外した後、変更されたファイルは次のようになります:
nano /etc/munin/munin.conf# Munin の例の設定ファイル、'make build' によって生成されました
# 次の三つの変数は RRD データベース、HTML 出力、ログ、およびロック/pid ファイルの場所を指定します。これらはすべて、munin-cron を実行しているユーザーが書き込み可能でなければなりません。すべてデフォルト値はここに表示されている値に設定されています。
#
dbdir /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir /var/run/munin
# HTML テンプレートを探す場所
#
tmpldir /etc/munin/templates
# 静的 www ファイルを探す場所
#
#staticdir /etc/munin/static
# 一時的な cgi ファイルはここにあります。cgi ユーザー(通常は nobody または httpd)が書き込み可能である必要があります。
#
# cgitmpdir /var/lib/munin/cgi-tmp
# (正確に一つ)すべてのファイルを含むディレクトリ。
includedir /etc/munin/munin-conf.d
[...]
# シンプルホストツリー
[server1.example.com]
address 127.0.0.1
use_node_name yes
[...] Apache 2.4 の Munin 設定ファイル /etc/munin/apache24.conf を見つける必要があります - これは、munin の HTML 出力ディレクトリ /var/cache/munin/www へのエイリアスを定義しており、これによりこのサーバー上のすべてのウェブサイトから相対パス /munin を使用して munin にアクセスできます(例:http://www.example.com/munin)。
apache の Munin 設定はデフォルトでは有効になっていません。これは DebianWheezy から Jessie に変更されました。新しい設定ディレクトリは /etc/apache2/conf-enabled であり、古いバージョン(Wheezy や Squeeze)で使用されていた /etc/apache2/conf.d ではありません。
以下のコマンドを実行して、設定を有効にし、apache に読み込ませます。
cd /etc/apache2/conf-enabled/
ln -s /etc/munin/apache24.conf munin.conf
service apache2 restartRequire local の行をコメントアウトし、代わりに Require all granted と Options FollowSymLinks SymLinksIfOwnerMatch を追加してください(そうしないと、localhost からのみ Munin 出力にアクセスできるようになります):
nano /etc/munin/apache24.confAlias /munin /var/cache/munin/www
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
SetHandler fcgid-script
SetHandler cgi-script
Apache を再起動します:
service apache2 restart次に Munin を再起動します:
service munin-node restart数分待って、Munin が最初の出力を生成できるようにし、その後ブラウザで http://www.example.com/munin/ にアクセスすると、最初の統計が表示されます:

(これは munin が生成する多くのグラフィックの小さな抜粋に過ぎません…)
3 Munin 出力ディレクトリのパスワード保護(オプションですが強く推奨)
今、すべての人がサーバーに関するすべての小さな統計を見られるようにしたくない場合は、munin 出力ディレクトリをパスワード保護することが良いアイデアです。
これを行うには、パスワードファイル /etc/munin/munin-htpasswd を作成する必要があります。ユーザー名 admin でログインしたいので、以下を実行します:
htpasswd -c /etc/munin/munin-htpasswd adminadmin のパスワードを入力します。その後、再度 /etc/munin/apache24.conf を開きます…
nano /etc/munin/apache24.conf… “Require all granted” の行をコメントアウトし、私が赤でマークした行を追加します:
Alias /munin /var/cache/munin/www
# Require local
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Require local
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
SetHandler fcgid-script
SetHandler cgi-script
その後、Apache を再起動します:
service apache2 restart4 Munin での追加モジュールの有効化
Munin コマンド “munin-node-configure –suggest” を使用して、サーバーで有効にできる追加の Munin モジュールの推奨を取得できます。以下を実行します:
munin-node-configure --suggest出力は次のようになります:

「used」列はモジュールが有効かどうかを示し、「Suggestions」列はサーバーがこのモジュールで監視できるサービスを実行しているかどうかを示します。モジュールを有効にするために /etc/munin/plugins にシンボリックリンクを作成します。
ここでは、apache_* モジュールを有効にします:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/apache_processes
ln -s /usr/share/munin/plugins/apache_volume新しい設定を読み込むために Munin を再起動します。
service munin-node restart新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。