前書き

Muninは、Webブラウザーを介して情報をグラフで提供するシステム、ネットワーク、およびインフラストラクチャ監視アプリケーションです。 クライアントサーバーアーキテクチャを中心に設計されており、インストールされているマシン(Muninマスター)と、Muninの用語では_Muninノード_と呼ばれる任意の数のクライアントマシンを監視するように設定できます。

この記事では、インストールされているサーバーと1つのノードを監視するようにMuninをインストールして構成します。 Muninを複数のノードにインストールするには、各システムにノードを作成する手順に従ってください。

前提条件

  • 2つのDebian 8.1ドロップレット

  • ドロップレットごとに、sudo特権を持つ非ルートユーザー

特に断りのない限り、このチュートリアルのすべてのコマンドは、sudo特権を持つ非rootユーザーとして実行する必要があります。 ユーザーを作成してsudo権限を付与する方法については、https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-8 [Debian 8での初期サーバー設定]をご覧ください。

ステップ1-必要なパッケージのインストール

まず、Muninマスターの作業を開始します。 Muninをインストールする前に、いくつかの依存関係をインストールする必要があります。

MuninはNginxやLighttpdなどの最も一般的なWebサーバーで機能しますが、デフォルトではApache Webサーバーと連携するように設計されています。 そのため、ApacheがMuninマスターにインストールおよび構成されていることを確認してください。 まだインストールされていない場合は、次を使用してインストールします。

sudo apt-get update
sudo apt-get install -y apache2
  • 生成されたグラフへのズームを担当するダイナゾム機能がクリック時に適切に機能するようにするには、次をインストールします。

sudo apt-get install -y libcgi-fast-perl libapache2-mod-fcgid

これらの2つのパッケージをインストールすると、 `+ fcgid +`モジュールが有効になっているはずです。 再確認するには、次を入力します。

/usr/sbin/apachectl -M | grep -i cgi

出力は次のようになります。

fcgid_module (shared)

出力が空白の場合、有効化されていません。 その後、次を使用して有効にすることができます。

sudo a2enmod fcgid

`+ apachectl +`コマンドを実行するとき、次の警告を無視できます:

Could not reliably determine the server's fully qualified domain name ...

Apacheは、この警告が表示された状態でもMuninで動作します。

グラフのズームを適切に機能させるその他の構成については、手順3で説明します。

ステップ2-MuninマスターへのMuninのインストール

MuninのインストールパッケージはDebianリポジトリで入手できるため、ディストリビューションのパッケージマネージャーを使用してインストールできます。 このステップでは、安定版ブランチからMuninマスターパッケージをインストールします。 DebianリポジトリのバージョンMunin 2.0.25は、最新の安定版リリースと同じです。

それをインストールするには、次を入力します。

sudo apt-get install -y munin

ステップ3-Muninマスターの構成

Muninマスターのメイン設定ファイル `+ munin.conf `およびそれが機能するために必要な他のファイルは、 ` / etc / munin +`ディレクトリとそのサブディレクトリにあります。

構成ファイルは、少なくとも2つのセクション(* global セクションと少なくとも1つの host セクション)で構成されています。 オプションで、 group *セクションがある場合があります。 ホストとグループのセクションは、角括弧内のそれぞれの名前で始まります。 このファイルには、変数の定義、Muninがサーバーとサービスを監視する方法、および監視するサーバーを管理するディレクティブが含まれています。

変更を開始するには:

cd /etc/munin
sudo nano munin.conf

これらの行を探してコメント解除します。 つまり、それらの前にある*#*記号を削除します。 * dbdir *は、実際の監視情報を含むすべてのrrdfilesを保存します。 * htmldir *は画像とサイトファイルを保存します。 * logdir *はログを保持します。 * rundir *は状態ファイルを保持します。 * tmpldir *はHTMLテンプレートの場所です。 htmldirを `+ / var / cache / munin / www `からWebディレクトリに変更してください。 この例では、 ` / var / www / munin +`を使用します。

/etc/munin/munin.conf

dbdir     /var/lib/munin
htmldir
logdir    /var/log/munin
rundir    /var/run/munin
...
tmpldir /etc/munin/templates

`+ htmldir `は存在しないので、 ` munin +`システムユーザーが所有するように作成して_chown_しましょう。

sudo mkdir /var/www/munin
sudo chown munin:munin /var/www/munin

最後に、 `+ munin.conf +`で最初のホストツリーを探します。 読みます:

/etc/munin/munin.conf

[localhost.localdomain]
   address 127.0.0.1
   use_node_name yes

そのツリーの名前を、サーバーを一意に識別する名前に変更します。 この例では、* MuninMaster *を使用します。

/etc/munin/munin.conf

[]
   address 127.0.0.1
   use_node_name yes

設定ファイルについては以上です。保存して閉じます。

同じ `+ / etc / munin `ディレクトリ内で、次に変更するファイルは ` apache24.conf `で、これはMuninのApache 2.4設定ファイルです。 ` / etc / apache2 / conf-available / munin.conf `にシンボリックリンクされています。 変更を開始するには、 ` nano +`で開きます:

sudo nano apache24.conf

ファイルの一番上で、最初の行を変更して、 `+ munin.conf +`で指定して以前に作成した* htmldir パスを反映するようにします。 この記事で使用されているディレクトリパスに基づいて、次のようになります。これにより、サーバーでホストされているサーバーのIPアドレスまたはドメインに munin *を追加して、MuninのWebインターフェイスにアクセスできます。

/etc/munin/apache24.conf

Alias /munin

Muninのウェブインターフェースにリモートでアクセスできるようにするには、ディレクトリセクションを削除し、これに置き換えます:

/etc/munin/apache24.conf

<Directory /var/www/munin>
       Require all granted
       Options FollowSymLinks SymLinksIfOwnerMatch
</Directory>

最後の場所セクションでも同じ操作を行います。 `+ Require local +`行を削除し、次の行に置き換えます。

/etc/munin/apache24.conf

<Location /munin-cgi/munin-cgi-graph>


       ...
</Location>

ファイルを保存して閉じます。 次に、MuninとApacheを再起動します。

sudo systemctl restart munin-node
sudo systemctl restart apache2

Webブラウザで/ muninを指定すると、MuninのWebインターフェイスにアクセスできるようになります。

ステップ4-Muninマスターへのノードの追加

このステップでは、Muninマスターにノードを追加する方法を示します。 これには、Muninマスターの構成ファイルを変更してノードのホストツリーを指定し、Muninノードパッケージをノードにインストールし、Muninマスターが監視できるように構成ファイルを変更することが含まれます。

Muninノード-あなたが作成した他のDebian 8ドロップレットから始めましょう。

  • Muninノード*にログインし、パッケージデータベースを更新して、Muninノードパッケージをインストールします。

sudo apt-get update
sudo apt-get install -y munin-node

インストールが正常に完了した後、ノードの設定は `+ / etc / munin `ディレクトリにあるはずです。 ` nano +`で開きます:

sudo nano /etc/munin/munin-node.conf

ファイルの中央に向かって、* allow ^ 127.0.0.1 $ *行を探し、MuninマスターのIPアドレスを反映するように変更します。 IPアドレスは正規表現形式であるため、マスターサーバーのIPアドレスが123.46.78.100であると仮定すると、行は次のようになります。

/etc/munin/munin-node.conf

allow

ファイルを保存して閉じます。 次に、Muninを再起動します。

sudo systemctl restart munin-node
  • Muninマスター*に戻り、メインの構成ファイルを開きます。

sudo nano /etc/munin/munin.conf

このファイルで行う必要があるのは、(リモート)ノードのホストツリーを挿入することだけです。 最も簡単な方法は、マスターのホストツリーをコピーして変更することです。 追加するノードのIPアドレスに必ず置き換えてください。

[]
   address
   use_node_name yes

ファイルを保存して閉じます。 次にApacheを再起動します。

sudo systemctl restart apache2

Muninは5分ごとに新しいノードをチェックします。 数分待ってから、Muninマスターのウェブインターフェースをリロードします。 ノードのエントリが表示されます。 まだ表示されない場合は、5分後にもう一度お試しください。 この方法を使用すると、監視する必要があるノードを追加できます。

image:https://assets.digitalocean.com/articles/munin_installing/MuninNode2.png [Munin Node Added]

ステップ5-追加プラグインの有効化

Muninはプラグインスクリプトを使用してシステムを監視します。デフォルトでは、約12個のプラグインセットがインストールされ、アクティブになっています。 利用可能なプラグインの完全なリストは、 `+ / usr / share / munin / plugins +`ディレクトリにあります。 システムで使用できるプラグインを確認するために、Muninは次のコマンドを提供します。

sudo munin-node-configure --suggest

出力は次のようになります。

Plugin                     | Used | Suggestions
------                     | ---- | -----------
cps_                       | no   | no
cpu                        | yes  | yes
cpuspeed                   | no   | no [missing /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state]
cupsys_pages               | no   | no [could not find logdir]
df                         | yes  | yes
df_inode                   | yes  | yes
fail2ban                   | no   | yes
ip_                        | no   | yes

_Used_列に* yes が付いているプラ​​グインは、それが示すものを意味し、_Suggestions_列に yes が付いているプラ​​グインは使用できることを意味します。 両方の列に no があるものは、使用されておらず、システムで使用できないことを意味します。 最後に、プラグインの_Used_列に no があり、_Suggestions_に yes *がある場合、プラグインは使用されていませんが、システムで有効にして使用できます。

Muninマスターとノードでは、インストールされたプラグインのリストを `+ / etc / munin / plugins +`ディレクトリで見ることもできます。

Muninをインストールしたときに、 `+ munin-plugins-extra +`パッケージがインストールされているはずです。 そうでない場合は、使用してください。

sudo apt-get install munin-plugins-extra

現在使用されていない利用可能なプラグインを有効にするには、 `+ / usr / share / munin / plugins `ディレクトリから ` / etc / munin / plugin +`ディレクトリへのシンボリックリンクを作成します。

たとえば、Fail2banプラグインを有効にするには、最初にFail2banをインストールします。

sudo apt-get install fail2ban

次に、Muninプラグインを有効にするシンボリックリンクを作成します。

sudo ln -s /usr/share/munin/plugins/fail2ban /etc/munin/plugins

Muninを再起動します。

sudo systemctl restart munin-node

数分待ってからWebインターフェースをリロードすると、Muninマスターの* network カテゴリーの下にある Hosts by fail2ban *というタイトルでFail2banのグラフが表示されます。

トラブルシューティング

Muninマスター、Muninノードの構成に問題がある場合、またはマスターにノードを認識させるには、ログファイルでエラーメッセージを確認します。

  • Muninマスター: + / var / log / munin / munin-update.log +

  • Muninノード: + / var / log / munin / munin-node.log +

その他のトラブルシューティングのヒントについては、http://munin-monitoring.org/wiki/MuninTroubleshooting [プロジェクトのページ]を確認することもできます。

結論

Muninは、インストールされているシステムを監視するように設定できます。 監視対象システムへのリモートサーバーの追加は、リモートサーバー(またはノード)に `+ munin-node +`パッケージをインストールし、サーバーとノードの構成ファイルを変更して他のIPアドレスを指すようにするだけです。

Muninはプラグインを使用して機能しますが、すべてがすぐに有効になるわけではありません。 プラグインに関する情報は、http://munin-monitoring.org/wiki/plugins [プロジェクトのページ]で入手できます。