#freeze
**今の作り方 [#n57faf58]
ページ生成とグラフ描写は静的生成をせずにFastCGIを利用する。~
FastCGIとの相性からフロントエンドはnginxを利用する。~
また、RRDToolsのrrdcachedを利用する。~
#contents
----
***RRDtool [#sfc79fc1]
マスターサーバのグラフ描写で使用。~
規定値の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 ':;'
で、何も表示されなければよし。
***Java [#ae936eff]
yumで入れるとOpenJDKが入る。~
イヤならSunJavaを持ってきて入れる。~
Javaモノ監視が無ければ不要。
***Perlモジュール [#j7de2e87]
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用
***Munin [#sb7d8f0e]
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