コンピュータ/ソフトウェア関連Tips

Muninのインストール(FreeBSD版)

作成日: Jul 20, 2014
カテゴリー: FreeBSD タグ: FreeBSD

FreeBSD 10.0 RELEASEにMuninをインストールしたときのメモです。(FreeBSD 10.2Rでは、インストールできずにおります。)

この記事は、FreeBSDセットアップメモの一部です。

$ sudo pkg install munin-node munin-master
Cannot 'start' munin_node. Set munin_node_enable to YES in /etc/rc.conf or use 'onestart' instead of 'start'.
 done
********************************************************************
Unless this file already existed, a sample configuration file
has been placed in /usr/local/etc/munin/munin.conf.

Please edit it according to your needs.

The Munin server will be run from cron under the user 'munin'.
********************************************************************
********************************************************************
Unless this file already existed, a sample configuration file
has been placed in /usr/local/etc/munin/munin-node.conf.

Please edit it according to your needs.

********************************************************************

The Munin client will *not* be started automatically. To allow it
to start, put this line in /etc/rc.conf:

munin_node_enable="YES"

Then, it will be started on the next boot. If this line is already
present, the client will be started now.  Otherwise, edit
/etc/rc.conf and execute this command:

    /usr/local/etc/rc.d/munin-node start
********************************************************************

For a list of plugins that will probably work run
/usr/local/sbin/munin-node-configure --suggest

If this is a fresh install run
/usr/local/sbin/munin-node-configure --shell | sh -x
to install the plugins automatically

rc.confの編集

$ sudo vi /etc/rc.conf

munin_node_enable="YES"

プラグインシンボリックリンクの設定

$ /usr/local/sbin/munin-node-configure --suggest

にて、設定されるプラグインをチェックして、

$ /usr/local/sbin/munin-node-configure --shell|sudo sh -x

を実行して、エイリアスを設定します。そのあと、

$ ls /usr/local/etc/munin/plugins

を実行して、以下のようなシンボリックリンクが出来ていることを確認します。

cpu@                  munin_stats@          sendmail_mailqueue@
df@                   netstat@              sendmail_mailstats@
df_inode@             ntp_kernel_err@       sendmail_mailtraffic@
if_em0@               ntp_kernel_pll_freq@  swap@
if_errcoll_em0@       ntp_kernel_pll_off@   systat@
iostat@               ntp_offset@           uptime@
load@                 open_files@           users@
memory@               processes@

実は、最初はこの処理を行わずにMuninを起動したのですが、以下のメッセージのメールが5分おきに管理者宛に届きました。

not a reference at /usr/local/lib/perl5/site_perl/5.16/Munin/Master/Utils.pm line 863.

munin.confのホスト名変更

$ sudo cp -p /usr/local/etc/munin/munin.conf /usr/local/etc/munin/munin.conf.original
$ sudo chmod u+w /usr/local/etc/munin/munin.conf
$ sudo vi /usr/local/etc/munin/munin.conf

筆者の場合、

# a simple host tree
[10amd64-default-job-06]
    address 127.0.0.1
    use_node_name yes

のようになっていたので、10amd64-default-job-06 を自分のホスト名に変更します。実は、先にMuninを実行してしまい、変な名前になっているので、ネットを検索したところ、http://piano2nd.smb.net/~kuji/pukiwiki-1.4.7/index.php?FreeBSD%2010.0に設定箇所が書かれてました。先にMuninを実行してしまった場合は、munin.confを修正したあとで、munin-node restartを実行します。/usr/local/www/muninの中に、10amd64-default-job-06というサブディレクトリがあるので、修正したホスト名のサブディレクトリが出来たのを確認してから、いらない方を/tmpに移動します。(/tmpに写したディレクトリは様子を見て削除すれば良いでしょう。)

$ sudo mv /usr/local/www/munin/10amd64-default-job-06 /tmp

munin-nodeの起動

$ sudo /usr/local/etc/rc.d/munin-node start
Starting munin_node.

Muninの出力ファイルの確認

5分ほど待ったら、

$ ls /usr/local/www/munin

を実行して、以下のようなファイルが生成されているか確認します。Apacheの設定をするのはそのあとにした方が、作業の切り分けが出来ます。ホスト名をfreebsdにしたので、freebsdというサブディレクトリが出来ています。

disk-day.html         network-month.html    sendmail-year.html
disk-month.html       network-week.html     static/
disk-week.html        network-year.html     system-day.html
disk-year.html        problems.html         system-month.html
freebsd/              processes-day.html    system-week.html
index.html            processes-month.html  system-year.html
munin-day.html        processes-week.html   time-day.html
munin-month.html      processes-year.html   time-month.html
munin-week.html       sendmail-day.html     time-week.html
munin-year.html       sendmail-month.html   time-year.html
network-day.html      sendmail-week.html

ファイルが作成されない場合のチェック箇所

プロセスが存在するか確認

$ ps ax|grep munin
1502  -  Ss     0:00.32 /usr/local/bin/perl -wT /usr/local/sbin/munin-node
1761  0  S+     0:00.01 grep munin

ログファイルの確認

以下のようなログファイルが出力されているか確認します。

$ ls -l /var/log/munin
total
-rw-r--r--  1 munin  munin     65 10月 18 00:00 munin-graph.log
-rw-r--r--  1 munin  munin  38237 10月 24 22:25 munin-html.log
-rw-r--r--  1 munin  munin  16289 10月 24 22:25 munin-limits.log
-rw-r--r--  1 root   munin   9949 10月 24 22:25 munin-node.log
-rw-r--r--  1 munin  munin  60149 10月 24 22:25 munin-update.log

cronの設定確認及び実行確認

cronが設定されていることと、実際に、/usr/local/bin/munin-cron が5分おきに実行されているか確認します。

$ sudo crontab -u munin -l
$ sudo tail /var/log/cron

munin-updateの実行

2015年10月24日追記。

FreeBSD 10.2にmuninをインストールしてみたところ、つまづきました。 怪しそうなところが見つからないので、munin-updateを実行してみました。

$ sudo -u munin /usr/local/share/munin/munin-update
パスワード:
Can't load '/usr/local/lib/perl5/site_perl/mach/5.20/auto/RRDs/RRDs.so' for module RRDs: /usr/local/lib/libpng16.so.16: version PNG16_0 required by /usr/local/lib/librrd.so.4 not defined at /usr/local/lib/perl5/5.20/mach/DynaLoader.pm line 193.
 at /usr/local/lib/perl5/site_perl/Munin/Master/UpdateWorker.pm line 19.
Compilation failed in require at /usr/local/lib/perl5/site_perl/Munin/Master/UpdateWorker.pm line 19.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/Munin/Master/UpdateWorker.pm line 19.
Compilation failed in require at /usr/local/lib/perl5/site_perl/Munin/Master/Update.pm line 17.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/Munin/Master/Update.pm line 17.
Compilation failed in require at /usr/local/share/munin/munin-update line 14.
BEGIN failed--compilation aborted at /usr/local/share/munin/munin-update line 14.

http://www.bsdportal.ru/viewtopic.php?f=8&t=27550 を見ると、同様の方がいらっしゃるようですが、ロシア語が分からないので、状況をつかめません。

Apache用の設定

muninの設定ファイル

CentOSの場合、/etc/httpd/conf.d/munin.conf というのがあったが、

$ cd /usr/local/etc/apache24
$ ls
Includes/               httpd.conf              magic
envvars.d/              httpd.conf.orginal      mime.types
extra/                  httpd.conf~             modules.d/

となっていて、muninの設定ファイルは無いので、 /usr/local/etc/apache24/Includes に、munin.conf というファイルを作成して記述することにする。

$ sudo vi /usr/local/etc/apache24/Includes/munin.conf
Alias /munin/ "/usr/local/www/munin/"

<Directory /usr/local/www/munin>
  Require all granted
</Directory>

パスワードファイル

/usr/local/www/munin/.htaccess内に、以下のような、ベーシック認証の記述があります。

AuthUserFile /usr/local/etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
require valid-user

以下のように、パスワードファイルを作成します。

$ sudo htpasswd -c /usr/local/etc/munin/munin-htpasswd hogehoge
New password:
Re-type new password:
Adding password for user hogehoge

サーバにアクセス可能なのが自分一人という閉鎖環境下なら、ベーシック認証の部分をコメント化するのでも良いでしょう。

Apacheの再起動

$ sudo /usr/local/etc/rc.d/apache24 restart

http://ホスト名/munin/ でアクセスすると、Muninの画面が表示されます。