■Muninはサーバにノードを追加する方式で、Webサーバ経由でリソースのグラフが見られるツール。
$ apt-cache search ^munin
munin-libvirt-plugins - Munin plugins using libvirt
munin-common - network-wide graphing framework (common)
munin-java-plugins - network-wide graphing framework (java plugins for node)
munin-node - network-wide graphing framework (node)
munin-plugins-extra - network-wide graphing framework (user contributed plugins for node)
munin - ネットワーク中をグラフ化するフレームワーク (グラフ生成/データ収集器)
■MuninはSqueezeのapacheと相性が悪いらしい。
第5章 squeeze で知っておくべき問題点
http://www.debian.org/releases/stable/i386/release-notes/ch-information.ja.html
■MRTGではDebian Squeeze/Lenny、Windows(2003/XP/2008R2)、CentOS5/6で動作することは確認している。
debian squeezeにMRTGを導入する。
http://d.hatena.ne.jp/labunix/20110718
vmwareのNIC設定変更によるMRTGのトラブルシューティング
http://d.hatena.ne.jp/labunix/20110724
自分のブログのダメ出し4 2008R2のMRTG
http://d.hatena.ne.jp/labunix/20111115
Debian Lenny + MRTGでCPU、メモリ、ディスク監視
http://d.hatena.ne.jp/labunix/20120110
MRTGでディスクIO、メモリキャッシュの情報取得
http://d.hatena.ne.jp/labunix/20120111
■MuninではノードとしてWindowsも追加可能なようだ。
Munin Node for Windows(munin-node-win32)
http://sourceforge.net/projects/munin-nodewin32/
Munin Node for Windows v1.5 (x64)
http://www.aska-inet.co.jp/business/download/munin.html
■というわけではapacheの入っていない仮想マシンで単体のテストをしてみる。
※localhostもノードのひとつ。
$ dpkg -l | grep ^ii | grep apache | wc -l
0
■Muninの導入。
「plug-in」に地雷の予感がするので、まずはクリーンな構築を行う。
$ sudo apt-get install -y munin munin-node
■「/etc/munin/munin.conf」の編集。
デフォルトの「localhost.localdomain」が存在しない。
ただ、ここで要求されているのはFQDNなので、「/etc/hosts」側を修正する方が良いと思う。
$ grep localhost /etc/munin/munin.conf
[localhost.localdomain]
$ grep localhost.localdomain /etc/hosts || echo "Not Found: localhost.localdomain"
Not Found: localhost.localdomain
$ sudo cp -pi /etc/munin/munin.conf /etc/munin/munin.conf.org
$ sed s/"localhost.localdomain"/"localhost"/ /etc/munin/munin.conf.org | sudo tee /etc/munin/munin.conf 1> /dev/null
$ grep -v "^#\|^\$" /etc/munin/munin.conf
includedir /etc/munin/munin-conf.d
[localhost]
address 127.0.0.1
use_node_name yes
■デーモンの再起動
$ grep -A 1 Usage /etc/init.d/munin-node | head -2
log_failure_msg "Usage: /etc/init.d/munin-node" \
"{start|stop|restart|force-reload|try-restart}"
$ sudo /etc/init.d/munin-node restart
Stopping Munin-Node: done.
Starting Munin-Node: done.
■apacheの導入
muninと一緒には導入されない。
$ sudo apt-get install -y apache2
■muninの「apache.conf」
※IPv6は不要。「/var/cache/munin/www」が「http://localhost/munin」にエイリアスされている。
最悪、以下を直接apacheの設定に埋め込めば良い。
$ grep -v "#\|^\$" /etc/munin/apache.conf
Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
Order allow,deny
Allow from localhost 127.0.0.0/8 ::1
Options None
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault M310
</IfModule>
</Directory>
■ファイル数多いなw。。。
$ find /var/cache/munin/www/ -type f -print | wc -l
428
■プラグインも多いな。。。
$ find /usr/share/munin/plugins -type f -print | sed s%".*/"%%g | wc -l
178
■ログは以下に出る。
$ sudo find /var/log/munin/
/var/log/munin/
/var/log/munin/munin-html.log
/var/log/munin/munin-graph.log
/var/log/munin/munin-node.log
/var/log/munin/munin-node-configure.log
/var/log/munin/munin-limits.log
/var/log/munin/munin-update.log
■エラーや警告を沢山吐くタイプなのですね。。。
$ sudo find /var/log/munin/ -type f -exec grep -v INFO {} \; | wc -l
694
■cronのログもその都度吐くのですね。。。
$ sudo grep munin /var/log/syslog | sed s/".*CRON\[.*\]\: "//g | sort -u | sed s/"\;"/"&\n"/g
(munin) CMD (if [ -x /usr/bin/munin-cron ];
then /usr/bin/munin-cron;
fi)
(root) CMD (if [ -x /etc/munin/plugins/apt_all ];
then /etc/munin/plugins/apt_all update 7200 12 >/dev/null;
elif [ -x /etc/munin/plugins/apt ];
then /etc/munin/plugins/apt update 7200 12 >/dev/null;
fi)
■現在の監視項目を確認。
$ sudo munin-node-configure | grep -v " no "
Plugin | Used | Extra information
------ | ---- | -----------------
cpu | yes |
df | yes |
df_inode | yes |
diskstats | yes |
entropy | yes |
forks | yes |
fw_packets | yes |
http_loadtime | yes |
if_ | yes | eth0 eth1
if_err_ | yes | eth0 eth1
interrupts | yes |
iostat | yes |
iostat_ios | yes |
irqstats | yes |
load | yes |
memory | yes |
munin_stats | yes |
ntp_kernel_err | yes |
ntp_kernel_pll_freq | yes |
ntp_kernel_pll_off | yes |
ntp_offset | yes |
open_files | yes |
open_inodes | yes |
postfix_mailqueue | yes |
postfix_mailvolume | yes |
proc_pri | yes |
processes | yes |
swap | yes |
threads | yes |
uptime | yes |
users | yes |
vmstat | yes |
■apache2のデフォルトは「/var/www」で、80ポートで待ち受けます。
$ sudo grep DocumentRoot /etc/apache2/sites-available/default
DocumentRoot /var/www
$ netstat -an | grep "\:80"
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
■とりあえず、余計なことをしない方針で。。。
$ sudo ln -s /var/cache/munin/www /var/www/munin
$ w3m -no-proxy -dump http://localhost/munin
Refresh (300 sec)
Overview
&
□ localhost [ disk munin network postfix processes system time ]
This page was generated by Munin version 1.4.5 at 2012-12-15 19:15:10+0900
(JST)
■上記はiptablesで「localhost」以外は見れない環境なので、試しにホストOS側に持ってくる。
$ sudo mkdir /var/www/munin
$ sudo scp -r root@vmsqueeze:/var/www/munin/* /var/www/munin/
■ログを大量に吐くので、監視専用のサーバを準備して、
apache2の設定ファイルを含めた更新に対応する為に、
「/var/cache/munin/www」配下を別のWebサーバと同期する方法で使う分には良いと思う。
■ということで、仮想マシン側のapache2は削除。
※所有者が「munin」なので、これを同期する。
$ sudo apt-get purge apache2
$ ls -l /var/www/munin
lrwxrwxrwx 1 root root 20 2012-12-15 19:14 /var/www/munin -> /var/cache/munin/www
$ sudo rm /var/www/munin
$ ls -l /var/cache/munin/www/
合計 36
-rw-r--r-- 1 munin munin 2555 2012-12-15 18:50 definitions.html
-rw-r--r-- 1 munin munin 2046 2012-12-15 18:50 favicon.ico
-rw-r--r-- 1 munin munin 2150 2012-12-15 19:30 index.html
drwxr-xr-x 3 munin munin 4096 2012-12-15 18:50 localdomain
drwxr-xr-x 3 munin munin 4096 2012-12-15 18:55 localhost
-rw-r--r-- 1 munin munin 1794 2012-12-15 18:50 logo-h.png
-rw-r--r-- 1 munin munin 473 2012-12-15 18:50 logo.png
-rw-r--r-- 1 munin munin 5351 2012-12-15 18:50 style.css
■ホストOSでは閲覧するタイミングで同期すればよい。
※所有者を「root」にして同期。
ファイルだと「rsync」の更新時間になる為、「generated」で更新時間を確認。
$ sudo rsync -avz -e "ssh -p 8022" root@vmsqueeze:/var/cache/munin/www /var/www/
$ w3m -no-proxy -dump http://localhost/munin | grep generated
This page was generated by Munin version 1.4.5 at 2012-12-15 19:20:10+0900
$ ls -l /var/www/munin/
合計 36
-rw-r--r-- 1 root root 2555 2012-12-15 19:22 definitions.html
-rw-r--r-- 1 root root 2046 2012-12-15 19:22 favicon.ico
-rw-r--r-- 1 root root 2150 2012-12-15 19:22 index.html
drwxr-xr-x 3 root root 4096 2012-12-15 19:22 localdomain
drwxr-xr-x 3 root root 4096 2012-12-15 19:22 localhost
-rw-r--r-- 1 root root 1794 2012-12-15 19:22 logo-h.png
-rw-r--r-- 1 root root 473 2012-12-15 19:22 logo.png
-rw-r--r-- 1 root root 5351 2012-12-15 19:22 style.css