今の作り方

ページ生成とグラフ描写は静的生成をせずにFastCGIを利用する。
FastCGIとの相性からフロントエンドはnginxを利用する。
また、RRDToolsのrrdcachedを利用する。


RRDtool

マスターサーバのグラフ描写で使用。
規定値の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

yumで入れるとOpenJDKが入る。
イヤならSunJavaを持ってきて入れる。
Javaモノ監視が無ければ不要。

Perlモジュール

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

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
Last-modified: 2014-04-29 (火) 16:23:19