編集:私の目標は、私のスプリングブートアプリケーションからメトリックを出して、Graphite
サーバに送信することです。そのために私はstatsd
を設定しようとしています。あなたがよりクリーンなアプローチを提案できるなら、それは良いでしょう。プログラムでEC2インスタンスのデーモンとしてstatsdを実行
私はバックグラウンドプロセスとして実行するにはstatsd
が必要なBeanstalkアプリケーションがあります。私は次のようebextensions
設定ファイルを通じてコマンドやパッケージを指定することができました:
packages:
yum:
git: []
commands:
01_nodejs_install:
command: sudo yum -y install nodejs npm --enablerepo=epel
ignoreErrors: true
02_mkdir_statsd:
command: mkdir /home/ec2-user/statsd
03_fetch_statsd:
command: git clone https://github.com/etsy/statsd.git /home/ec2-user/statsd
ignoreErrors: true
04_run_statsd:
command: node stats.js exampleConfig.js
cwd: /home/ec2-user/statsd
私は新しい環境にアプリケーションを展開しようとすると、EC2のノードが完全に立ち上がることはありません。私は何が起きているのかを確認するためにログインし、/var/log/cfn-init.log
には01_nodejs_install
、02_mkdir_statsd
および03_fetch_statsd
が正常に実行されたことがわかりました。だから私はシステムが第4のコマンド(04_run_statsd
)に固執していたと思います。
2016-05-24 01:25:09,769 [INFO] Yum installed [u'git']
2016-05-24 01:25:37,751 [INFO] Command 01_nodejs_install succeeded
2016-05-24 01:25:37,755 [INFO] Command 02_mkdir_statsd succeeded
2016-05-24 01:25:38,700 [INFO] Command 03_fetch_statsd succeeded
cfn-init.log (END)
私は、次のヘルプが必要:
環境をインスタンス化しながら、
statsd
をインストールして実行するためのより良い方法がある場合は、そのアプローチの詳細を提供することができれば、私には理解されます。この現在の体系はハッキリと思われる。これは私が固執する必要がある方法なら、どのように
statsd
をバックグラウンドプロセスとして実行できるように4番目のコマンドを実行できますか?