カレンダー

11 | 2016/12 | 01
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

広告



最近の記事

カテゴリー

DATE: CATEGORY:TECH


サイトへのアクセスが増える可能性があったので、
負荷対策を、、、と思いつつ発生した時の対策も考慮して、
前から興味のあったmuninを導入してみた。

というわけで、備忘録。

Photo:For some ascensions, God uses a crane By:kevin dooley
Photo:For some ascensions, God uses a crane By kevin dooley

muninの概要


muninってのは、リソース管理ツール。
CPU、メモリ、ディスク、プロセスとか、色々監視出来る。
閾値でアラート、とかも出来る。

構成はサーバとエージェントにわかれてて、サーバ側がエージェントに対して、
リソース取得の要求を出して、エージェント側でサーバのリソースを取得して
応答、サーバ側で取得したデータを元にグラフ化します。

サーバとはいっても、実はmuninエージェント側の方がサーバとして
立ち上がってmuninサーバがアクセスしてデータを取得する、というカタチ。

サーバからの要求はcron設定でデフォルトで5分に1回更新。
グラフも生成されてこんな感じで閲覧出来る。

Photo:f7709e4c-5195-4c7f-ac0f-a02931133e87 By:onetohihi
Photo:f7709e4c-5195-4c7f-ac0f-a02931133e87 By onetohihi

こんな環境が順調に行けば30分もあれば構築できる。
これを超絶簡単便利と呼ばず、なんと呼ぶ。と。

今回の環境


VPSの性能を見たいけど、そこにmuninを全部入れてしまうと、
グラフ生成とかが走るので、そもそも負荷の心配をしてるのに逆効果。。。

というわけで、自宅内の玄箱からVPSサーバの監視をする構成で
構築することにしました。
玄箱はDebian、VPSサーバはCentOSということで、
aptとyumを使ってインストールしてみました。

玄箱(Debian)へのインストール手順


まずは、サーバ側になるDebian側作業。
apt-get install munin munin-node

実際にはサーバ側にはmunin-nodeはエージェントなのでなくても良い。
けど、まずは検証の意味も含めて、こちらにも入れとく。

設定1(munin)

まずはサーバ側の設定をします。
/etc/munin/munin.conf

とりあえず、このファイルで変更するとすれば
この辺だろう、って箇所だけピックアップ。
# dbdir /var/lib/munin
# htmldir /var/cache/munin/www
# logdir /var/log/munin
# rundir /var/run/munin

これは、muninサーバのデータの配置場所。
そのままでも良いし、変更してもヨシ。
変更する場合は、muninユーザ所有にしておく。

続いて、エージェント先の設定。
[localhost]
address 127.0.0.1
use_node_name yes

デフォルトで「localhost」になってると思います。
なので、munin-nodeを入れた自分自身を監視します。

これで5分に1回、指定したmunin-nodeからデータ取得を行います。

ちょっと補足

なぜ5分に1回動くかというと、muninをインストールすると
勝手にcron登録されてます。

ここで、必要なシェル(/usr/bin/munin-cron)が
5分に1回起動されています。
/etc/cron.d/munin

設定2(munin-node)

続いて、エージェント側の設定をする。
エラーまわりの事も考慮して、この辺に注意しておく。

以下のファイルはmuninユーザ所有にする。
log_file /var/log/munin/munin-node.log
pid_file /var/run/munin/munin-node.pid

muninサーバから見たホスト名を記載する
host_name localhost

muninサーバからのアクセス許可を設定する
必要なIPアドレスをデフォルトの記法に合わせて追記します。
allow ^127\.0\.0\.1$

あと、ポート番号も変更できます。
port 4949 → port 14949

ポート番号を変更した場合には、サーバ側もこんな
感じで変更が必要です。
[localhost]
address 127.0.0.1
use_node_name yes
port 4949 → port 14949

ここまで出来れば、muninサーバに設定した、
htmldirの場所にmunin-nodeのリソースグラフのデータが
保存されるようになってます。

設定3(apache)

せっかくサーバ内にグラフデータが保存されていっているので
玄箱のapacheで見れるようにしときます。

httpd.confの参考設定例。
(LANのみに公開で設定)
Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
Options None
order deny,allow
deny from all
allow from 127.0.0.0/24 192.168.0. ::1
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault M310
</IfModule>
</Directory>

VPS(CentOS5系)へのインストール


標準でyumでインストール出来ないので、先に
yum に RPMforge リポジトリを追加する
# yum -y install yum-plugin-priorities  // (centos6の場合)
# yum -y install yum-priorities // (centos5の場合)
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# yum -y update rpmforge-release // rpmforge-releaseアップデート

ここまで来たら、あとはyumでインストール出来ます。
今回はエージェント(munin-node)だけインストールします。
# yum install munin-node

エージェントを追加したので設定を修正していきます。

サーバ側のmunin.conf
[vps.server.com]
address xxx.xxx.xxx.xxx
use_node_name yes

[vps.server.com]には、接続先のURL
[xxx.xxx.xxx.xxx]には、エージェント側のIPアドレス
を設定します。

エージェント側のmunin-node.conf
host_name vps.server.com
allow ^yyy\.yyy\.yyy\.yyy$

[yyy.yyy.yyy.yyy]には、サーバ側の
IPアドレスを設定します。

注意点としては、サーバ側からの接続が出来るように
iptables(FW)側の設定もしておきましょう。
# iptables -A INPUT -s yyy.yyy.yyy.yyy -p tcp --dport 4949 -j ACCEPT

とりあえず、ここまで出来ればデフォルトで取得する
パラメータを取得してグラフが生成されていきます。

どんなパラメータを取得する事になっているかは
/etc/munin/plugins 内にシンボリックリンクで
プラグインとして保存された値がグラフ化されます。

こんなコマンドで確認出来ます。例えばCPU。
# /usr/sbin/munin-run cpu
user.value 423864
nice.value 207
system.value 178154
idle.value 431122116
iowait.value 862825
irq.value 0
softirq.value 764

今回はcpuの例でしたがプラグインとして保存された
パラメータを指定出来ます。

こんなコマンドでも確認が出来ます。
# munin-node-configure

このへんの確認コマンドは、自作プラグインの動作確認
とかにも便利です。

ちなみに、今回の手順はmunin 1.系がインストールされます。
muninは、2.系がstableなので、そちらの手順も今度整理します。
他にもアラートメールとか設定・機能とか、
エラー対応とか色々ありますが、今回はここまで。

タグ : 監視 munin リソース 設定

Comment

コメントの投稿

管理者にだけ表示を許可する


トラックバック


この記事にトラックバックする



copyright © なんとなしの日記 all rights reserved.
内職☆在宅ワークの最強は?アフィリエイト!. 初心者だってカッコ良いホームページ作るぅ!
Powered by FC2ブログ
Related Posts Plugin for WordPress, Blogger...