Debian8にMunin監視ツールをインストールする方法
序章
Muninは、Webブラウザを介してグラフで情報を提供するシステム、ネットワーク、およびインフラストラクチャの監視アプリケーションです。 クライアントサーバーアーキテクチャを中心に設計されており、インストールされているマシン(Muninマスター)と、Muninの用語でMuninノードと呼ばれる任意の数のクライアントマシンを監視するように構成できます。 。
この記事では、Muninをインストールして構成し、インストール先のサーバーと1つのノードを監視します。 Muninを複数のノードにインストールするには、各システムにノードを作成するための指示に従ってください。
前提条件
- 2つのDebian8.1ドロップレット
- ドロップレットごとに、sudo権限を持つroot以外のユーザー
特に明記されていない限り、このチュートリアルのすべてのコマンドは、sudo権限を持つroot以外のユーザーとして実行する必要があります。 ユーザーを作成してsudo権限を付与する方法については、 Debian8を使用した初期サーバーセットアップを確認してください。
ステップ1—必要なパッケージのインストール
まずは無人マスターの作業を始めます。 Muninをインストールする前に、いくつかの依存関係をインストールする必要があります。
Muninは、NginxやLighttpdなどの最も一般的なWebサーバーで機能できますが、デフォルトでは、ApacheWebサーバーで機能するように設計されています。 したがって、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リポジトリのバージョンMunin2.0.25は、最新の安定版リリースと同じです。
インストールするには、次のように入力します。
- sudo apt-get install -y munin
ステップ3—Muninマスターの構成
Muninマスターのメイン構成ファイル munin.conf
そしてそれが機能するために必要な他のファイルはで見つけることができます /etc/munin
ディレクトリとそのサブディレクトリ。
構成ファイルは、グローバルセクションと少なくとも1つのホストセクションの少なくとも2つのセクションで構成されています。 オプションで、groupセクションを含めることができます。 ホストセクションとグループセクションは、角かっこで囲まれたそれぞれの名前で始まります。 このファイルには、変数の定義、Muninがサーバーとサービスを監視する方法、および監視するサーバーを管理するディレクティブが含まれています。
変更を開始するには:
- cd /etc/munin
- sudo nano munin.conf
これらの行を探して、コメントを外します。 つまり、それらの前にある#記号を削除します。 dbdir は、実際の監視情報を含むすべてのrrdfileを格納します。 htmldirは画像とサイトファイルを保存します。 logdirはログを維持します。 rundirは状態ファイルを保持します。 tmpldir は、HTMLテンプレートの場所です。 htmldirをから変更してください /var/cache/munin/www
あなたのウェブディレクトリに。 この例では、 /var/www/munin
:
dbdir /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir /var/run/munin
...
tmpldir /etc/munin/templates
以来 htmldir
存在しない場合は、 chown を作成して、所有するようにします。 munin
システムユーザー:
- sudo mkdir /var/www/munin
- sudo chown munin:munin /var/www/munin
最後に、で最初のホストツリーを探します munin.conf
. それは読むべきです:
[localhost.localdomain]
address 127.0.0.1
use_node_name yes
そのツリーの名前を、サーバーを一意に識別する名前に変更します。 この例では、MuninMasterを使用します。
[MuninMaster]
address 127.0.0.1
use_node_name yes
設定ファイルは以上ですので、保存して閉じてください。
同じ内で /etc/munin
ディレクトリ、次に変更するファイルは apache24.conf
、これはMuninのApache2.4構成ファイルです。 シンボリックリンクされています /etc/apache2/conf-available/munin.conf
. 変更を開始するには、で開きます nano
:
- sudo nano apache24.conf
ファイルの一番上で、最初の行を変更して、で指定したhtmldirパスを反映するようにします。 munin.conf
以前に作成されました。 この記事で使用されているディレクトリパスに基づいて、次のようになります。これにより、サーバーでホストされているサーバーのIPアドレスまたはドメインに munin を追加して、MuninのWebインターフェイスにアクセスできるようになります。
Alias /munin /var/www/munin
MuninのWebインターフェイスにリモートでアクセスできるようにするには、ディレクトリセクションを削除して、次のように置き換えます。
<Directory /var/www/munin>
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
</Directory>
最後の場所のセクションでも同じようにします。 を削除します Require local
行を作成し、次のように置き換えます。
<Location /munin-cgi/munin-cgi-graph>
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
...
</Location>
ファイルを保存して閉じます。 次に、MuninとApacheを再起動します。
- sudo systemctl restart munin-node
- sudo systemctl restart apache2
これで、Webブラウザで server-ip-address / muninを指定することにより、MuninのWebインターフェイスにアクセスできます。
ステップ4—Muninマスターにノードを追加する
このステップでは、Muninマスターにノードを追加する方法を示します。 これには、Muninマスターの構成ファイルを変更してノードのホストツリーを指定し、Muninノードパッケージをノードにインストールし、Muninマスターが監視できるように構成ファイルを変更することが含まれます。
作成した他のDebian8DropletであるMuninノードから始めましょう。
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であるとすると、次のようになります。
allow ^123\.456\.78\.100$
ファイルを保存して閉じます。 次に、Muninを再起動します。
- sudo systemctl restart munin-node
Munin master に戻り、メインの構成ファイルを開きます。
- sudo nano /etc/munin/munin.conf
このファイルで行う必要があるのは、(リモート)ノードのホストツリーを挿入することだけです。 これに対する最も簡単なアプローチは、マスターのホストツリーをコピーして変更することです。 node-ip-address は、追加するノードのIPアドレスに必ず置き換えてください。
[MuninNode]
address node-ip-address
use_node_name yes
ファイルを保存して閉じます。 次に、Apacheを再起動します。
- sudo systemctl restart apache2
Muninは5分ごとに新しいノードをチェックします。 数分待ってから、MuninマスターのWebインターフェイスをリロードします。 ノードのエントリが表示されます。 まだ表示されていない場合は、5分後にもう一度お試しください。 この方法を使用すると、監視する必要がある数のノードを追加できます。
ステップ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
ディレクトリ。
A munin-plugins-extra
Muninをインストールしたときにパッケージがインストールされているはずです。 そうでない場合は、を使用して行います。
- 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がfail2banによってブラックリストに登録されたタイトルの下にFail2banのグラフが表示されます。
トラブルシューティング
Muninマスター、Muninノードの構成、またはマスターにノードを表示させるのに問題がある場合は、ログファイルでエラーメッセージを確認してください。
- ムニンマスター:
/var/log/munin/munin-update.log
- ムニンノード:
/var/log/munin/munin-node.log
プロジェクトのページで、トラブルシューティングのヒントを確認することもできます。
結論
Muninは、インストールされているシステムを監視するように構成できます。 監視対象システムへのリモートサーバーの追加は、インストールするのと同じくらい簡単です。 munin-node
リモートサーバー(またはノード)でパッケージ化し、サーバーとノードの構成ファイルを変更して、他のIPアドレスを指すようにします。
Muninはプラグインを使用して機能しますが、すべてがすぐに有効になるわけではありません。 プラグインに関する情報は、プロジェクトのページで入手できます。