#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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS