2012年11月29日木曜日

[linux]munin のインストールと設定

概要
munin は、munin と munin-node にわかれる。munin は munin-node を束ねるサーバで、ノードと通信しノードの情報をグラフ化しWEBページとしてそれを参照できるようにする。 muni-node はターゲットサーバのリソースを監視する。
munin-master インストール
基本的にパッケージインストールでOK
[root@dlp ~]# wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
[root@dlp ~]# rpm --import RPM-GPG-KEY-EPEL-6
[root@dlp ~]# rm -f RPM-GPG-KEY-EPEL-6
[root@dlp ~]# vi /etc/yum.repos.d/epel.repo

# 以下の内容で新規作成
[epel]
name=EPEL RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/
gpgcheck=1
enabled=0

# 上記リポジトリを使用してインストールする場合は、以下のようにコマンド入力
[root@dlp ~]# yum --enablerepo=epel install [パッケージ名]
ただ、EPEL リポジトリからパッケージをインストールする場合、CentOS のバージョンに注意する。下記の参考URLにあるような RPM-GPG-KEY-EPEL-5 は RPM-GPG-KEY-EPEL-6 と読み替えるといい。
[root@master ~]# yum --enablerepo=epel -y install munin munin-node   # EPELからインストール
[root@master ~]# vi /etc/munin/munin.conf

# 60行目:ホスト名に変更
[master.server.world]
  address 127.0.0.1
  use_node_name yes

[root@master ~]# vi /etc/munin/munin-node.conf

# 29行目:自ホスト名に変更
host_name master.server.world

[root@master ~]# rm /var/www/html/munin/.htaccess
[root@master ~]# vi /etc/httpd/conf.d/munin.conf

<Directory /var/www/html/munin/>
  Order Deny,Allow
  Deny from all
  Allow from 127.0.0.1 10.0.0.0/24
</Directory>

[root@master ~]# /etc/rc.d/init.d/httpd restart
Stopping httpd:[ OK ]
Starting httpd:[ OK ]

[root@master ~]# /etc/rc.d/init.d/munin-node start
Starting Munin Node:[ OK ]

[root@master ~]# chkconfig munin-node on
これで munin-master サーバと同じ munin-node のリソース情報は吸い上げられるようになった
munin-node インストール
munin-master とほぼ同じ。パッケージからいれる。
[root@dlp ~]# wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
[root@dlp ~]# rpm --import RPM-GPG-KEY-EPEL-6
[root@dlp ~]# rm -f RPM-GPG-KEY-EPEL-6
[root@dlp ~]# vi /etc/yum.repos.d/epel.repo

# 以下の内容で新規作成
[epel]
name=EPEL RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/
gpgcheck=1
enabled=0

[root@master ~]# yum --enablerepo=epel -y install munin-node   # EPELからインストール
[root@master ~]# vi /etc/munin/munin-node.conf

allow ^XXX\.XXX\.XXX\.XXX$(サーバのIP)
を
allow ^127\.0\.0\.1$
の下辺りに追記しておきます。

[root@master ~]# /etc/rc.d/init.d/munin-node start

Starting Munin Node:[ OK ]

[root@master ~]# chkconfig munin-node on
ここで 自分のWAN側IPアドレスはわかる http://www.cman.jp/network/support/go_access.cgi
munin-master サーバ側で次になればOK:
# telnet [ノードのIPアドレス] 4949

Connected to 略
Escape character is '^]'.
# munin node at backup
munin-master サーバの /etc/munin/munin.conf で上記のノードを追記 :
[GroupName;XXX.XXX.XXX]
address XXX.XXX.XXX
use_node_name yes
[] の中を適当にしてると動かなかくて、FQDN にしろって記述があったので IPアドレスにしたら動いた GroupName は 2.0.6 では上記の通りでちゃんと設定できた
CGI設定
munin の CGI は munin-cgi-graph と munin-cgi-html があるみたいで、 グラフの画像生成とHTMLそれぞれを動的に生成するかどうか設定できる。
以下はグラフ。グラフは詳細な時間を見ようとすると CGI の設定が必須みたい。cron だとグラフをクリックして遷移した先のHTMLで画像がリンク切れになってる。
あと、EPEL リポジトリからパッケージインストールするとなのかは不明だが、munin-cgi-graph と munin-cgi-html がどこにもなかった…。 なのでパッケージはインストールされているがソースをビルドした。
[root@master ~]# yum --enablerepo=epel -y install \
                   rrdtool perl-rrdtool perl-Module-Buildrrdtool\
                   perl-Module-Build \
                   perl-Time-HiRes \
                   perl-Digest-MD5 \
                   perl-HTML-Template \
                   perl-File-Copy-Recursive \
                   fcgi fcgi-devel perl-FCGI perl-CGI \
                   perl-IO-Socket-INET6 \
                   perl-Net-SNMP \
                   perl-Log-Log4perl \
                   perl-Net-Server

wget http://sourceforge.net/projects/munin/files/stable/2.0.6/munin-2.0.6.tar.gz
tar xfz munin-2.0.6.tar.gz
cd munin-2.0.6
vi Makefile
CONFIG = dists/redhat/Makefile.config
make
したらば /path/to/munin-2.0.6/build/master/_bin/munin-cgi-graph にできてる
vi /etc/munin/munin.conf

# 下記を変更か追記
graph_strategy cgi
cgiurl_graph /munin-cgi/munin-cgi-graph

cp /path/to/munin-2.0.6/build/master/_bin/munin-cgi-graph /var/www/cgi-bin/

vi /etc/httpd/conf.d/munin.conf

# ScriptAlias 追記
ScriptAlias /munin-cgi/ /var/www/cgi-bin/

<Directory /var/www/cgi-bin>
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>
これで graph が CGI で動作するようになった

0 件のコメント:

コメントを投稿