Glide Note

glidenote's blog

GrowthForecast導入&Supervisorで起動を管理

社内にGrowthForecastブームが 来ているので、乗り遅れないように導入。

@do_akiさんのブログ記事にSupervisorでの起動方法を追加した内容です。 何回もググっているので自分の作業用メモも兼ねて。同じ事を2回ググったらブログに書く精神で。

導入環境はSL6.2です。作業の流れとしては

  1. Perlbrewの導入
  2. GrowthForecastの導入
  3. SupervisordでGrowthForecastを管理

という感じです。

GrowthForecastは下記のように管理します。

必要パッケージの導入

1
2
sudo yum -y groupinstall "Development Tools"
sudo yum -y install pkgconfig glib2-devel gettext libxml2-devel pango-devel cairo-devel

GrowthForecast用のユーザの作成

Perlbrewを導入するのでGrowthForecast用にユーザーを作成。パスワードも設定

1
2
sudo useradd growthforecast
sudo passwd growthforecast

Perlbrewとcpanmの導入

GrowthForecastの利用にはPerlbrewの利用が推奨されているので、perlbrewを導入。 growthforecastユーザのホームディレクトリ内に導入。

1
2
3
4
sudo su - growthforecast
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

続いてperl-5.16.0とcpanmの導入。結構時間がかかります。

1
2
3
perlbrew install perl-5.16.0
perlbrew switch perl-5.16.0
perlbrew install-cpanm

RRDtoolのインストール

2012年7月5日 10:00 追記

antipopさんに教えてもらい、現在はもう不要な手順です。 Makefile.plに含まれているので別途導入する必要はありません。

GrowthForecast/Makefile.PL at master · kazeburo/GrowthForecast https://github.com/kazeburo/GrowthForecast/blob/master/Makefile.PL

1
cpanm http://search.cpan.org/CPAN/authors/id/G/GF/GFUJI/Alien-RRDtool-0.03.tar.gz

GrowthForecastのインストール

引き続き作業はgrowthforecastユーザで。

cpanmでの方法に修正 2012年7月5日 13:00

@oranieさんからの指摘でcpanmの方法に修正。

1
cpanm -n http://cloud.github.com/downloads/kazeburo/GrowthForecast/GrowthForecast-0.30.tar.gz

GrowthForecastの動作確認

とりあえず起動確認。

1
growthforecast.pl --port=5125

hostname:5125にアクセスして表示されるか確認。 ちゃんと動いていたらctrl+cで終了。

Supervisordで管理

過去の記事を参考にsupervisord経由で GrowthForecastを起動する。

ここからはrootかsudoで作業します。

Supervisordの導入

1
2
3
sudo yum -y install python-setuptools
sudo easy_install pip
sudo pip install supervisor

supervisord用のlogとconfディレクトリの用意

1
2
sudo mkdir /var/log/supervisor
sudo mkdir /etc/supervisord.d

/etc/supervisord.conf の用意

Upstart経由でSupervisorを起動

supervisordが落ちたら元も子もないのでUpstart経由で起動。 /etc/init/supervisord.confを用意

1
sudo initctl start supervisord

/etc/supervisord.d/growthforecast.ini の用意

GrowthForecast用の設定を用意。(commandのところもっと上手い書き方知ってる人いたら教えてください!)

GrowthForecastのデータ用ディレクトリの作成

GrowthForecastデータ用ディレクトリも用意

1
2
sudo mkdir /var/run/growthforecast
sudo chown -R growthforecast:growthforecast /var/run/growthforecast

必要ディレクトリの権限設定

/tmp/.xslate_cache/に書き込み権限がないとエラーが出たので設定

1
sudo chown -R growthforecast:growthforecast /tmp/.xslate_cache/

Supervisord経由でGrowthForecastを起動

1
2
3
sudo supervisorctl add growthforecast
sudo supervisorctl start growthforecast
sudo supervisorctl status growthforecast

動作ログでエラーを吐いてないか確認。

1
tail /var/log/supervisor/supervisord.log  /var/log/supervisor/growthforecast.log

正常に動作していれば、GrowthForecastをkillしてみる。

1
sudo pkill -u growthforecast

を実行して、再度起動してくるか確認。
GrowthForecastがSupervisord経由で管理出来るように。

一通り作業を終えた後に@kazeburoさんがProcletというsupervisorを出していたことに気づいた。

とりあえず常駐化出来たので、fluentdを組み合わせてガンガン使っていこう。

Comments