Mon Mar 04 20:03:00 JST 2013

会社マシンっていうか余ったマシンに munin 2 を入れたった。 何が悲しいって現行の munin-graph がめったくそに重いので、 何とかして cgi ベースのインタフェイスに移行したい、っていうわけで 実験くんというか生贄くん。ひとまず munin を動かすところまで、できた。

  • munin-master を ports から入れる
  • nginx を ports から入れる
  • spawn-fcgi を ports から入れる

spawn-fcgi の起動スクリプトが悩ましいのだが、ひとまず手作り。

# cat /usr/local/etc/rc.d/hoge
#!/bin/sh

/usr/local/bin/spawn-fcgi -u munin -g munin \
  -s /var/run/munin/fcgi-graph.sock -M 0777 \
  -P /var/run/spawn-fcgi-munin-graph.pid \
  -- /usr/local/www/cgi-bin/munin-cgi-graph

/usr/local/bin/spawn-fcgi -u munin -g munin \
  -s /var/run/munin/fcgi-html.sock  -M 0777 \
  -P /var/run/spawn-fcgi-munin-html.pid  \
  -- /usr/local/www/cgi-bin/munin-cgi-html

exit 0

ここで躓いたのでメモしておく:spawn-fcgi のユーザは www じゃだめ。munin で。

munin の設定を抜粋すると、こんな感じ。

# diff -u munin.conf.sample munin.conf
--- munin.conf.sample   2013-02-21 14:54:22.000000000 +0900
+++ munin.conf  2013-03-04 19:52:41.000000000 +0900
@@ -38,6 +38,7 @@
 # It is single threaded *by design* now.
 #
 #graph_strategy cron
+graph_strategy cgi

 # munin-cgi-graph is invoked by the web server up to very many times at the
 # same time.  This is not optimal since it results in high CPU and memory
@@ -67,6 +68,7 @@
 # - cgi html has some bugs, mostly you still have to launch munin-html by hand
 #
 #html_strategy cron
+html_strategy cgi

 # munin-update runs in parallel.
 #

ここで躓いたのでメモしておく:明示的に strategy を指定する。

もう一つ:cgitmpdir で指定している /var/munin/cgi-tmp の owner も munin に。

そして nginx の設定。

# diff -u nginx.conf-dist nginx.conf
--- nginx.conf-dist     2013-02-21 16:07:15.000000000 +0900
+++ nginx.conf  2013-03-04 20:15:08.000000000 +0900
@@ -45,6 +45,25 @@
             index  index.html index.htm;
         }

+        location ^~ /munin-cgi/munin-cgi-graph/ {
+            access_log off;
+            fastcgi_split_path_info ^(/munin-cgi/munin-cgi-graph)(.*);
+            fastcgi_param PATH_INFO $fastcgi_path_info;
+            fastcgi_pass unix:/var/run/munin/fcgi-graph.sock;
+            include fastcgi_params;
+        }
+
+        location /munin/static/ {
+            root /usr/local/www/;
+        }
+
+        location /munin/ {
+            fastcgi_split_path_info ^(/munin)(.*);
+            fastcgi_param PATH_INFO $fastcgi_path_info;
+            fastcgi_pass unix:/var/run/munin/fcgi-html.sock;
+            include fastcgi_params;
+        }
+
         #error_page  404              /404.html;

         # redirect server error pages to the static page /50x.html

ここでのハマりポイントは、打ち間違えないこと、これに尽きる。

このくらいの設定状態で、 無事に 自分自身を munin-node として参照することができた。 CGI の動的グラフ、かっけぇ。 しばらく廻してみよう。

お世話になった(参考にした)サイトもメモしておこう:

Read the Docs の Sphinx のスタイル、格好いいなぁ。


Wed Mar 06 09:02:40 JST 2013

squid のポート番号を標準でない番号にしている時、 munin で cache の状況を取れるようにするには、 munin-node の plugin-conf.d/plugins.conf に仕込みを入れる。

# vi /usr/local/etc/munin/plugin-conf.d/plugins.conf
[squid_*]
env.squidhost localhost
env.squidport 24300
# /usr/local/etc/rc.d/munin-node stop
# /usr/local/etc/rc.d/munin-node start
# telnet localhost 4949
fetch squid_cache
Maximum.value 102400
Current.value 92096
.
quit

munin-node の変更なので、node の再起動が必要なのがポイントだ。

sendmail の stats も標準状態では取れないけど、 /var/log/sendmail.st を newsyslog.conf で 644 にしちゃえば、 取れるようになる。


Mon Mar 11 13:06:34 JST 2013

会社マシンを munin で観察できるようにしようと思って、ヤクの毛苅りのはじまり。 munin-node 入れよう → ports ツリーが古いな → portsnap しよう → make するぞ → あれ p5- が激しく入って来る → portgrade でやろう → ruby 入ってねぇ (今ここ)


Mon Mar 11 13:22:43 JST 2013

ヤクの毛苅り継続中。なんと perl も入ってなかった。けっこう平気なもんなんだな。


Mon Mar 11 14:14:28 JST 2013

perl 5.12 が入ったんだけど、OSType が無いとか言うので、頭に来て 5.16 に upgrade なう。順調に毛が伸びております。


Sat Mar 16 22:27:22 JST 2013

SQLite3 のファイルって、sqlite3 っていうコマンドで参照できるのか。 めっさ便利やな。


Mon Mar 18 02:49:29 JST 2013

結論を書いてなかったけど、Munin を 1.x で運用してるひとはとっとと 2.x に上げて グラフ生成を CGI に任すべし。軽くてよいし、動的にフォーカスできるのも便利。


HOME | index | prev | next
[Rev: --not under control--]
[EOF]