複数台構成のMunin監視設定

旧EX-SCALEで複数台構成のお客様については グローバルIPアドレスを持つサーバに対し、Munin閲覧設定をしておりますが、 サーバ追加や削減等の場合、当社では対応を行っておりませんので、本ガイドをご参照の上、再設定を行ってください。

STEP 1構成確認

muninMuninの閲覧には、グローバルIPアドレスを持っていること、HTTPDが起動していることが必要となります。
本ガイドでは、
Munin閲覧サーバ監視側
  グローバルIPアドレスと プライベートIPドレス10.xx.xx.10を持つサーバ
被監視側
  プライベートIPアドレスのみを持つサーバ、10.xx.xx.11 10.xx.xx.12 10.xx.xx.13
として案内を進めます。

STEP 2被監視側のmunin-node.confの設定とmunin-node再起動

以下は10.xx.xx.10(xxには数字が入ります)のサーバにてMunin監視を設定する例です。
各被監視側のサーバ(本例では10.xx.xx.11 10.xx.xx.12 10.xx.xx.13 )にて「/etc/munin/munin-node.conf」を編集し、munin-nodeをリスタートします。

# vi /etc/munin/munin-node.conf 
▼以下該当箇所の抜粋の例示: 10.xx.xx.10にてMunin監視設定する場合)▼

 allow ^(127\.0\.0\.1|172\.(1[6-9]|2[0-9]|3[01])\.|10\.xx\.30\.10)$ 

 # /etc/init.d/munin-node restart 

上記までの作業を被監視側のサーバで行うと、「10.xx.xx.10」のMunin監視サーバから4949番ポートへ接続が許可されるようになります。

監視サーバ、被監視サーバ疎通の確認の方法は?

監視側のサーバ(本例では 10.xx.xx.10 )にログインし、telnetコマンドで疎通を確認することができます。

# telnet 10.xx.xx.11 4949 
 Trying 10.xx.xx.11...
 Connected to (10.xx.xx.11サーバのホスト名).
Escape character is '^]'.
 # munin node at (10.xx.xx.11サーバのホスト名)

quit

上記の結果が得られれば、監視サーバから被監視サーバへの接続ができている 状態です。
上述の「ホスト名」は、サーバ内で「hostname」コマンドを打った結果 返ってくる値ですが、EX-SCALEプランの場合、契約名と同一のドメイン名ベースの ものがhostnameの値として割り当てられています。

STEP 3監視側 Munin閲覧サーバ munin.confの設定

# vi /etc/munin/munin.conf 
▼以下該当箇所の抜粋の例示
 他のサーバ10.xx.xx.11から13のリソース表示をする場合▼

 [localhost]
      address 127.0.0.1
      use_node_name yes
#10.xx.xx.10のサーバ自身のデータ取得用設定。既定内容

[WEB;server01.example.intra] # ★グループ名;(セミコロン)ホスト名
     address 10.xx.xx.11
      use_node_name yes 

 [WEB;server02.example.intra] 
      address 10.xx.xx.12 
      use_node_name yes 

 [DB;server03.example.intra] 
      address 10.xx.xx.13 
      use_node_name yes

munin.confでは 「/var/www/munin/」以下に取得データを格納するよう指定しています。

グループ名とは、Muninの監視対象サーバ群をページ表示するときに使います。
上記のような「WEB」「DB」などの機能名称や、「Mobile」「Campaign」のようなプロジェクト単位のグループ名等、任意の半角英数字で指定可能です。
「/var/www/munin/」のHTMLディレクトリ以下には、グループ名のフォルダが作成されその中にデータが格納されるようになります。
グループ名、ホスト名の間は「半角セミコロン(;)」で区切ります。コロン(:)は誤りですのでご注意ください。

グループ名とホスト名については、データ格納パス(格納ディレクトリ、ファイル名)にも直接反映されてきます。
グループ名やホスト名は適宜変更いただいても問題ありませんが、変更するとデータの格納パスが過去データ分から変更となりますのでご注意ください。

STEP 4Muninウェブサイトで反映を確認

Muninの設定の「munin.conf」については5分置きに自動で読み込まれるため、STEP3の設定後、お待ちいただいてから、閲覧用URLにアクセスします。
http://(Munin閲覧用サーバのグローバルIPアドレス)/munin/
(Basic認証がかかっています)
設定に不備がなければ、以下のように複数台のサイト分のレポートが閲覧できるような反映がされています。

Munin-overview

Muninグラフの例

付録

監視項目の当社初期設定

各サーバの/etc/munin/munin.confではローカルホスト内の以下の項目の監視データ取得が標準設定されています。

  • apache(アクセス数、プロセス状況、データ転送量)
  • disk(ディスク使用率)
  • mysql(クエリ数、スレッド数、スループット)(※)
  • network(ネットワークカードごとのトラフィック)
  • processes(httpd/sshdの起動プロセス数)
  • system(ロードアベレージ、メモリ利用、サーバ起動継続時間)

※mysqlのレポートについてはデータベースの管理アカウント情報等、設定を追加いただく必要があります。
監視項目の各詳細についてはこちらのガイドをご参照ください。
リソース監視ツールMuninについて
またMuninでアラートメールを送信したい場合の設定方法はこちらを ご参照ください。
Muninアラートメール設定

munin.conf内では取得データの保管場所のディレクトリ設定等もされており、既定では以下のようになっております。
当社の既定では「munin」というユーザが以下のディレクトリ以下にファイルを作成できるよう、以下の指定ディレクトリはそれぞれ
オーナー:munin、グループ:munin パーミッション:drwxr-xr-x (755)で設定されていますので、お客様の運営の都合上保管場所を変更する際はご注意ください。

dbdir /var/lib/munin
  Muninのデータが保管されるディレクトリ
htmldir /var/www/munin
  Muninのウェブサイトを表示するためのコンテンツが保管されるディレクトリ。
logdir /var/log/munin
  Muninのログが保管されるディレクトリ
rundir /var/run/munin
  munin-nodeの起動中、プロセスIDファイルが保管されるディレクトリ
munin.confの変更を行った場合、プロセスのリスタート等は必要ありませんがcronで5分おきにmuninプロセスが起動するようになっているので、反映の確認には数分お待ちいただく必要があります。

また munin-node.confについては、当ガイドページSTEP2 や、次項でも記載しておりますが、ローカルホストや足場サーバのプライベートIPアドレスからの4949番ポートへの接続が許可設定されています。

muninノード上のホスト名設定について

muninノード、4949番ポートへのアクセスの際のアクションや制限設定は
/etc/munin/munin-node.confで設定されています。

この設定ファイルの中の「host_name」という設定項目では当該サーバの4949番ポートへのアクセスがあった場合に応答する際のホスト名を設定できますが、当社の規定値ではコメントアウトしてあります。
この場合、サーバ上で「 hostname 」コマンドの打った結果と同じもの(EX-SCALEプランでは契約名と同じになるよう設定されています)がホスト名として応答します。

# telnet 0 4949★自分自身の4949番ポートへの応答確認
Trying 0.0.0.0...
Connected to ●●.flxsrv.biz(EX-SCALEプランの契約名).
Escape character is '^]'.
# munin node at ●●.flxsrv.biz(EX-SCALEプランの契約名) 

quit
# hostname 
●●.flxsrv.biz(EX-SCALEプランの契約名) 

※EX-DBプランの場合、hostnameの値はプランの契約名ではなく当社側のシステムで割り振ったホスト名(xxx-x.xxx-xxx.excloud等)が割り当てられます。

muninのcron、ユーザ設定について

既に設定されているので追加設定をいただく必要はございません。
cronの設定ファイル:/etc/cron.d/munin
cronでは「munin」ユーザによって5分置きにコマンドが実行される設定になっています。

「munin」ユーザはログインシェルのない特殊なユーザとなっていますが、「munin」ユーザとして作業をされてたい場合は、一旦rootになっていただき以下をお試しください。

# id★自分自身がrootであることの確認
uid=0(root) gid=0(root)
# su - munin --shell=/bin/bash★シェルを指定しスイッチユーザする
$ id★自分自身がmuninユーザであることの確認
uid=100(munin) gid=101(munin) groups=101(munin)
・・・・・・・・・・・・・・・
muninユーザとしての作業(略)
・・・・・・・・・・・・・・・
$ exit★作業終了しrootユーザに戻る
logout