はじめに
- この年の瀬に
growthforecast
の環境を構築する必要が発生したのでメモ - perlbrew を使う
- try and error で構築したのでちょっと心配(すいません)
参考
- GrowthForecas
- GrowthForecast を CentOS 6.3 にインストールして Supervisor で管理してみた
- cpanmを使ってみる
- perlbrewで構築するモダンなPerl環境
memo
準備
sudo yum -y install pkgconfig glib2-devel gettext libxml2-devel pango-devel cairo-devel sudo yum -y groupinstall "Development Tools" sudo yum -y install perl-ExtUtils-MakeMaker
growthforecast 用のユーザーを作成
特に大きな理由は無いがアプリケーションを動作させるユーザーを作成し、そのユーザー内でアプリケーションを動作させる為に growthforecast
を動作させるユーザーを作成する。
useradd gf
以降の操作は全て gf
ユーザーで行う。(ユーザー名は環境に応じて読み替える)
perlbrew のインストール
curl -kL http://install.perlbrew.pl | bash echo '[[ -s "$HOME/perl5/perlbrew/etc/bashrc" ]] && source "$HOME/perl5/perlbrew/etc/bashrc"' >> .bash_profile source $HOME/perl5/perlbrew/etc/bashrc
perlbrew で Perl をインストール
perlbrew
は ruby
で言うところの rvm
や rbenv
に相当するものだと思っている。
perlbrew available perlbrew install perl-5.16.3 perlbrew switch perl-5.16.3
perlbrew available
でインストール可能な perl
のバージョンを確認して perlbrew install ${perl_version}
で ${perl_version}
をインストールって流れ。perlbrew switch
で複数インストールされた perl
のバージョンを切り替える。
cpanm のインストール
perlbrew
を使って cpanm
をインストール。
perlbrew install-cpanm
growthforecast のインストール
cpanm
がインストール出来たら GrowthForecast
をインストール。
cpanm -n GrowthForecast
順調、順調。
ログディレクトリとデータディレクトリを作成する
GrowthForecast
が利用するログのディレクトリ、生成される rrd
データが保存されるディレクトリを作成する。
mkdir /home/gf/data mkdir /home/gf/log
growthforecast を起動する
growthforecast.pl --port=5125 --data-dir=/home/growthforecast/data > /home/growthforecast/log/growthforecast.log 2> /home/growthforecast/log/growthforecast.err &
この状態で起動した場合、以下のようなエラーが出力されて GrowthForecast
が起動しないことがあった。
Can't locate Plack/Loader.pm in @INC (@INC contains: /home/gf/perl5/bin/lib /home/gf/perl5/bin/extlib/lib/perl5 ~/perl5/lib/perl5 /home/gf/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/x86_64-linux /home/gf/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3 /home/gf/perl5/perlbrew/perls/perl-5.16.3/lib/5.16.3/x86_64-linux /home/gf/perl5/perlbrew/perls/perl-5.16.3/lib/5.16.3 .) at /home/gf/perl5/bin/growthforecast.pl line 13. BEGIN failed--compilation aborted at /home/gf/perl5/bin/growthforecast.pl line 13.
以下のように .bashrc
に perl
のライブラリへのパスを記述することで正常に起動することを確認した。
export PERL_CPANM_OPT="--local-lib=~/perl5" export PERL5LIB="/home/gf/perl5/lib/perl5" export PATH="~/perl5/bin:$PATH"
上記を設定後に source .bashrc
を実行して上記の設定を反映させる。
テスト
以下のように構築した growthforecast
にデータをポストする。
curl -F number=$RANDOM http://xxx.xxx.xxx.xxx:5125/api/hoge/huga/value
$RANDOM
を使うことで乱数を生成することが出来るので、それを利用してグラフらしくテストしてみると以下のようにグラフが生成される。
最後に
- 今更ながら
growthforecast
の構築についてまとめてみたけど本当にお手軽 - データを
api
のパラメータとして投げることが出来るので小難しい監視環境を構築する必要がないのが嬉しい - 構築に際しては自分の
Perl
関連の知識がヘボ過ぎて try and error を繰り返してしまった - ただ、
perlbrew
やcpanm
はとても便利だと思う