前書き

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

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

前提条件

  • 2つのUbuntu 14.04ドロップレット。 サーバーの1つがMuninマスターになります。 もう1つはMuninノードです。

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

このチュートリアルのすべてのコマンドは、非rootユーザーとして実行する必要があります。 コマンドにルートアクセスが必要な場合は、先頭に「+ sudo +」が付きます。 Ubuntu 14.04での初期サーバー設定では、ユーザーを追加してsudoアクセスを許可する方法について説明しています。

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

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

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

sudo apt-get update
sudo apt-get install -y apache2 apache2-utils

生成されたグラフの拡大を担当するダイナゾム機能がクリック時に適切に機能するようにするには、次をインストールします。

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のインストールパッケージは、公式のUbuntuリポジトリで入手できるため、ディストリビューションのパッケージマネージャーを使用してインストールできます。 このステップでは、Muninマスターパッケージをインストールします。 リポジトリ内のバージョンは、最新の安定版リリースです。

インストールして、インストールされているサーバーを監視するには、次のように入力します。

sudo apt-get install -y munin

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

Muninのメイン設定ファイル `+ munin.conf `と、それが機能するために必要な他のファイルは、 ` / etc / munin `ディレクトリとそのサブディレクトリにあります。 このステップでは、Muninマスターのメイン設定ファイルとそのApache設定 ` apache.conf +`を変更します。

メイン構成ファイルは、少なくとも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

そのツリーの名前を、サーバーを一意に識別する名前に変更します。 これは、Munin Webインターフェースに表示される名前です。 この例では、* MuninMaster *を使用しますが、サーバーのホスト名を使用することもできます。

/etc/munin/munin.conf

[]
   address 127.0.0.1
   use_node_name yes

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

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

sudo nano apache.conf

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

/etc/munin/apache.conf

Alias /munin /var/www/munin

次に、* Directory *セクションを探し、ディレクトリを `+ / var / www / munin +`に変更します。 また、最初の4行をコメント化(または削除)してから、次のように2つの新しいディレクティブを追加します。

/etc/munin/apache.conf

<Directory >
       #Order allow,deny
       #Allow from localhost 127.0.0.0/8 ::1
       #Allow from all
       #Options None




       ...

       ...

</Directory>

最後から2番目の場所セクションを探し、最初の2行をコメント化または削除して、新しい行を2行追加します。

/etc/munin/apache.conf

<Location /munin-cgi/munin-cgi-graph>
       #Order allow,deny
       #Allow from localhost 127.0.0.0/8 ::1




       ...

       ...

</Location>

最後の場所セクションにも同じことを行います。

/etc/munin/apache.conf

<Location /munin-cgi/munin-cgi-html>
       #Order allow,deny
       #Allow from localhost 127.0.0.0/8 ::1




       ...

       ...

</Location>

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

sudo service apache2 restart
sudo service munin-node restart

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

image:https://assets.digitalocean.com/articles/munin_installing/MuninMaster1.png [Munin Web Interface]

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

このステップでは、リモートサーバー(またはノード)をMuninマスターに追加して、同じWebインターフェース内で監視できるようにする方法を示します。 これには、Muninマスターの構成ファイルを変更して、ノードのホストツリーを指定することが含まれます。 次に、Muninノードパッケージをノードにインストールし、Muninマスターが監視できるようにその構成ファイルを変更する必要があります。

Muninノードから始めましょう-作成した2番目のUbuntuドロップレットです。

  • 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であると仮定すると、行は次のようになります。

[label  /etc/munin/munin-node.conf}
allow

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

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

sudo nano /etc/munin/munin.conf

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

/etc/munin/munin.conf

[MuninNode]
   address
   use_node_name yes

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

sudo service apache2 restart

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 service munin-node restart

数分待ってから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 [プロジェクトのページ]で入手できます。