今回は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マスタが生成する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
この段階でhttp:// <IPアドレス>/munin/にアクセスしてもおそらく見れないでしょう。なぜならば、muninマスタをインストールした時にapacheのconfファイル/etc/httpd/conf.d/munin.confがインストールされているのですが、デフォルトの内容はBasic認証が設定されています。
<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
ここまで実行したらhttp:// <IPアドレス>/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プラグインの導入について書いていきます!
Perl |
3
|
Linux |
16
|
Jenkins |
1
|
CI |
1
|
Bashシェル |
1
|
シェルスクリプト |
1
|
Munin |
7
|
Ruby on Rails |
7
|
plenv |
1
|
sudo |
2
|
Cobbler |
6
|
ruby |
1
|
rbenv |
1
|
WeeChat |
1
|
tmux |
2
|
Webistrano |
1
|
capistrano |
1
|
puppet |
8
|
growthforecast |
1
|
Supervisor |
1
|
perlbrew |
1
|
git |
2
|
Python |
1
|
pip |
1
|
PHP |
1
|
Nginx |
1
|
MySQL |
2
|
LXC |
2
|
RPM |
3
|
ImageMagick |
1
|
Subversion |
1
|
qmail |
3
|
yum |
1
|
ucspi-tcp |
1
|
daemontools |
1
|
Puppet |
1
|
IPVS |
1
|
Kickstart |
1
|
aaa |
0
|