编辑: 我的目标是能够从我的 spring-boot 应用程序发出指标并将它们发送到Graphite
服务器。为此,我正在尝试设置statsd
. 如果您可以建议一种更清洁的方法,那就更好了。
我有一个 Beanstalk 应用程序,它需要statsd
作为后台进程运行。我能够通过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
成功执行。所以我猜系统卡在第四个命令(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
可以作为后台进程运行?