ページ生成とグラフ描写は静的生成をせずにFastCGIを利用する。
FastCGIとの相性からフロントエンドはnginxを利用する。
また、RRDToolsのrrdcachedを利用する。
マスターサーバのグラフ描写で使用。
規定値のprefixが/optなのでウチでは変更する。
日本語フォントを指定してみる。
フォントはこれが好き。 http://mix-mplus-ipa.sourceforge.jp/ の Migu 1M ./configure --prefix=/usr/local \ --with-rrd-default-font=/usr/share/fonts/migu/migu-1m-regular.ttf make make install 続いてPerlモジュールインストール。何となく別立てで。 cd binding/perl-shared perl Makefile.PL make make install perl -MRRDs -e ':;' で、何も表示されなければよし。
yumで入れるとOpenJDKが入る。
イヤならSunJavaを持ってきて入れる。
Javaモノ監視が無ければ不要。
CPANで入れる。
1.マスターサーバ、ノード両方で必要なもの。
Time::HiRes Net::SSLeay
2.マスターサーバで必要なもの。
CGI FCGI DBI Time::HiRes Storable Digest::MD5 HTML::Template HTML::Template::Pro Text::Balanced Params::Validate TimeDate Net::SSLeay Getopt::Long File::Copy::Recursive Log::Log4perl IPC::Shareable Log::Dispatch Log::Dispatch::FileRotate MIME::Lite Mail::Sender Mail::Sendmail MailTools
3.ノードで必要なもの。
CGI Net::Server Net::Server::Fork Time::HiRes Net::SNMP Crypt::DES Digest::SHA1 Digest::HMAC Net::CIDR Net::SSLeay LWP::UserAgent 他、プラグインで必要な物を適宜 Cache::Memcached memcached用 DBI DB用 DBD::mysql MySQL用 DBD::pgsql PostgreSQL用 Cache::Cache MySQL QueryCache用 IPC::ShareLite MySQL QueryCache用 Net::DNS NTP用 Net::IP NTP用
1.ユーザ作成
useradd munin
2.Makefile.configを編集しディレクトリなど指定。
ちょいちょい変更があるので注意。 ウチの場合。 PREFIX = $(DESTDIR)/usr/local/munin CONFDIR = $(PREFIX)/etc BINDIR = $(PREFIX)/bin SBINDIR = $(PREFIX)/sbin DOCDIR = $(PREFIX)/doc MANDIR = $(PREFIX)/man LIBDIR = $(PREFIX)/lib HTMLDIR = $(PREFIX)/www/docs CGIDIR = $(PREFIX)/www/cgi DBDIR = $(PREFIX)/var DBDIRNODE = $(DBDIR)/munin-node SPOOLDIR = $(DBDIR)/spool PLUGSTATE = $(DBDIRNODE)/plugin-state LOGDIR = $(PREFIX)/log/munin STATEDIR = $(PREFIX)/var/run/munin PERL := $(shell which perl) PYTHON := /usr/bin/env python RUBY := /usr/bin/env ruby JAVARUN := /usr/bin/java JAVALIBDIR = $(LIBDIR) GOODSH := $(shell LANG=C PATH=`getconf PATH 2>/dev/null || echo $(PATH)` sh -c 'type sh | sed "s/.* //"') ↑注意:LANGを追加しといた方が… BASH := /bin/bash PERLSITELIB := $(shell $(PERL) -V:sitelib | cut -d"'" -f2) PERLLIB = $(DESTDIR)$(PERLSITELIB) OSTYPE := $(shell uname | tr '[A-Z]' '[a-z]' | cut -f 1 -d _) HOSTNAME := $(shell hostname) MKTEMP := $(shell ./test-mktemp) VERSION := $(shell ./getversion) USER := munin GROUP := munin PLUGINUSER := nobody GETENT := $(shell which getent || which true 2>/dev/null) CHECKUSER := $(shell $(GETENT) passwd $(USER) >/dev/null 2>/dev/null || (echo "echo User $(USER) nonexistent. Create the user and retry; exit 2")) CHECKGROUP := $(shell $(GETENT) group $(GROUP) >/dev/null 2>/dev/null || (echo "echo Group $(GROUP) nonexistent. Create the group and retry; exit 2")) CHOWN := chown CHMOD := chmod CHGRP := chgrp JC := javac JFLAGS := -g -source 1.5 -target 1.5 JAR := jar JCVALID = $(shell $(JC) -version >/dev/null 2>/dev/null && echo "yes") HASSETR := $(shell perl -e 'use Config; my @vars=("d_setruid", "d_setreuid", "d_setresuid"); foreach my $$var (@vars) { if ($$Config{$$var} eq "define") { print "1\n"; exit 0; } } print "0\n"; exit 0;' ) マスターサーバは make make install ノードは make make install-common-prime \ install-node-prime \ install-plugins-prime