maehachi08 Anything Blog

2014年02月02日
Munin インストール

今回はmuninマスタとmuninノードのインストールを行います。

Munin公式ドキュメントでインストールについては以下のドキュメントが参考になります。
http://munin-monitoring.org/wiki/MuninInstallationLinux

munin本体は、ほとんどがperlで書かれているので、perlモジュール群の依存関係が多いのですが、yumコマンドでインストールすることで依存関係のあるパッケージも一緒にインストールすることが出来ます。

また、munin-nodeインストールには、OSの基本的なリソース情報を取得するsysstatパッケージが依存します。ですが、sysstatパッケージがインストールされていない場合でも、yumコマンドでインストールすることで一緒にインストールされます。

インストール環境

Muninインストール検証に使用した環境はCentOS6.5です。

# cat /etc/redhat-release
CentOS release 6.5 (Final)

# uname -srv
Linux 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014

muninマスタとmuninノードが同居する場合

このパターンは、muninマスタであるホストがmuninノードでもある場合です。

Muninマスタが生成するHTMLをホストするWebサーバが稼働している必要があります。
なので、初めにApache http serverをインストールします。

yum install -y httpd 
chkconfig httpd on
service httpd start

続いて、muninパッケージおよびmunin-nodeパッケージをインストールします。
muninパッケージおよびmunin-nodeパッケージはEPELからインストールします。

munin-nodeパッケージはmuninパッケージの依存関係によりインストールされるので、muninパッケージをインストールする場合は明示しなくても入ります。

muninマスタはデーモンは存在しません。Munin ことはじめでも書きましたが、crondから5分間隔で/usr/bin/munin-cronがmuninユーザが実行ユーザとして実行されます。

muninノードは指定ポート(default : 4949)で待ち受けるためにmunin-nodeを起動する必要があります。

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install -y munin
chkconfig munin-node on
service munin-node start

念のため、munin-nodeの起動を確認します。
munin-nodeの実体ファイルは/usr/sbin/munin-nodeというperlプログラムです。shebangは"#!/usr/bin/perl -wT"ですので、perlが/usr/sbin/munin-nodeを起動します。
netsatコマンドで確認すると4949/TCPポートを待ち受けているのはperlプロセスであることが分かります。

# ps auxf | grep $(pgrep munin-node)
root      1244  0.0  0.8 143316  8568 ?        Ss   15:45   0:00 /usr/bin/perl -wT /usr/sbin/munin-node

# netstat -antp | grep 4949
tcp        0      0 0.0.0.0:4949                0.0.0.0:*                   LISTEN      1244/perl 

最初に1回だけ手動でmuninのグラフを生成します。

sudo -u munin /usr/bin/munin-cron    

ApacheのBasic認証の設定

この段階でhttp:// <IPアドレス>/munin/にアクセスしてもおそらく見れないでしょう。なぜならば、muninマスタをインストールした時にapacheのconfファイル/etc/httpd/conf.d/munin.confがインストールされているのですが、デフォルトの内容はBasic認証が設定されています。

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

<directory /var/www/html/munin>
    AuthUserFile /etc/munin/munin-htpasswd
    AuthName "Munin"
    AuthType Basic
    require valid-user

    ExpiresActive On
    ExpiresDefault M310
</directory>

しかし、Basic認証ユーザ・パスワードファイルである/etc/munin/munin-htpasswdは空なので、このままでは認証されることはありません。

なので、ユーザ・パスワードを指定して、このパスワードファイルを再生成します。今回は検証用なのでmunin/muninで設定します。

# htpasswd -c /etc/munin/munin-htpasswd munin
New password: munin
Re-type new password: munin
Adding password for user munin

# cat /etc/munin/munin-htpasswd 
munin:ne8d5ABhs6veM

Apacheの再起動をします。

service httpd configtest
service httpd restart

Webページの確認

ここまで実行したらhttp:// <IPアドレス>/munin/にアクセスするとMuninのページが表示されるはずです。

muninノードだけインストールする場合

このパターンは、muninマスタは既に別ホストが動作しており、muninノードだけ動かす場合です。

munin-nodeパッケージをインストールします。
munin-nodeパッケージはEPELからインストールします。

munin-nodeパッケージはmuninパッケージの依存関係によりインストールされるので、muninパッケージをインストールする場合は明示しなくても入ります。

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install -y munin-node
chkconfig munin-node on
service munin-node start

muninマスタにて、手動でmuninのグラフを生成します。

sudo -u munin /usr/bin/munin-cron    

以上がmuninマスタ、muninノードのインストール方法です。

次は既存Muninプラグインの導入について書いていきます!