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

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

作成日: Jul 21, 2019
カテゴリー: FreeBSD タグ: FreeBSD

FreeBSD 12.0 RELEASEにMuninをインストールしたときのメモです。

$ sudo pkg install munin-node munin-master

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@          processes@
df@                   netstat@              sendmail_mailqueue@
df_inode@             ntp_133.243.238.244@  sendmail_mailstats@
if_em0@               ntp_kernel_err@       sendmail_mailtraffic@
if_errcoll_em0@       ntp_kernel_pll_freq@  swap@
if_packets_em0@       ntp_kernel_pll_off@   systat@
iostat@               ntp_offset@           uptime@
load@                 ntp_states@           users@
memory@               open_files@

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

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

munin.confのホスト名変更

$ cd /usr/local/etc/munin
$ sudo cp -p munin.conf munin.conf.original
$ sudo vi munin.conf

筆者の場合、

# a simple host tree
[120amd64-quarterly-job-12]
    address 127.0.0.1
    use_node_name yes

のようになっていたので、120amd64-quarterly-job-12 を自分のホスト名に変更します。

先にMuninを実行してしまった場合は、munin.confを修正したあとで、munin-node restartを実行します。/usr/local/www/muninの中に、サブディレクトリがあるので、修正したホスト名のサブディレクトリが出来たのを確認してから、いらない方を削除します。

munin-nodeの起動

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

Muninの出力ファイルの確認

5分ほど待ったら、

$ ls /usr/local/www/munin

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

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
express/              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
1698  -  Ss     0:00.19 /usr/local/bin/perl -wT /usr/local/sbin/munin-node
2113  0  S+     0:00.02 grep munin

ログファイルの確認

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

$ ls -l /var/log/munin
total 28
-rw-r--r--  1 munin  munin      0  7月 21 20:30 munin-graph.log
-rw-r--r--  1 munin  munin   1237  7月 21 20:30 munin-html.log
-rw-r--r--  1 munin  munin    468  7月 21 20:30 munin-limits.log
-rw-r--r--  1 root   wheel    387  7月 21 20:30 munin-node.log
-rw-r--r--  1 munin  munin  15367  7月 21 20:30 munin-update.log

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

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

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

Apache用の設定

muninの設定ファイル

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

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

となっていて、muninの設定ファイルは無いので、 Includes内に、munin.conf というファイルを新規作成して記述することにします。

$ cd Includes
$ sudo vi 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の画面が表示されます。