クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

GrowthforecastをさくらのVPSに導入してみました。


http://www.e-agency.co.jp/column/20130423.html に記載してある通り(ほぼ?)にGrowthforecastをさくらのVPSに導入してみました。
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のバージョンを指定してインストール。ここですが、相当時間がかかるので、ルーター内部(NAT)からSSH接続していると、途中でSSHセッションが切れる場合があるので、注意。

perlbrew available
perlbrew install perl-5.16.3

GrowthForecastに必要なモジュール、cpanとGrowthForecastのインストール。

yum install pkgconfig glib2-devel gettext libxml2-devel pango-devel cairo-devel
perlbrew install-cpanm
cpanm -n GrowthForecast

growthforecastの起動。

mkdir data
mkdir log
growthforecast.pl --port=5125 --data-dir=/home/growthforecast/data > /home/growthforecast/log/growthforecast.log 2> /home/growthforecast/log/growthforecast.err &

nginxのログ(LTSVフォーマット)をGrowthforecastに渡すのに、td-agentをインストールします。

vi /etc/yum.repos.d/td.repo
yum install td-agent

mv /etc/td-agent/td-agent.conf /etc/td-agent/td-agent.conf.org

vi /etc/td-agent/td-agent.conf
/etc/init.d/td-agent restart
yum install fluent-cat
git clone https://github.com/stanaka/fluent-plugin-tail-labeled-tsv.git

cd fluent-plugin-tail-labeled-tsv/

cp fluent-plugin-tail-labeled-tsv/lib/fluent/plugin/in_tail_labeled_tsv.rb /etc/td-agent/plugin
/usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-datacounter
/usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-growthforecast

直接 Port 5125で接続するのはセキュリティ上問題があるので、Basic認証を設定しました。nginxは80で送信されてきた場合、別ポートに送信して行うことが可能なので、iptables等のファイアウォールで5125を開放する必要がありません。

</pre>
vi /etc/nginx/conf.d/default.conf
upstream growthforecast {
 server 127.0.0.1:5125;
 }

server {
 listen 80;
 server_name xxxx.mydomain.com;

proxy_connect_timeout 60;
 proxy_read_timeout 60;
 proxy_send_timeout 60;
 auth_basic "Secret Area";
 auth_basic_user_file "/home/growthforecast/.htpasswd";

location / {
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header Host $http_host;
 proxy_pass http://growthforecast;
 proxy_redirect off;
 }
 }

nginx ≫ response   GrowthForecast td-agentから送られてきた内容が簡単にグラフ化することができます。CPUの負荷状況なども簡単にグラフ化することが可能です。mrtgだと、snmpの設定をいろいろやらないとグラフ化できない手間を考えると、Growthforecastはシステムのログなどをグラフ化するのにもってこいのツールと思います。


コメントは受け付けていません。