使用Capistrano2-MultiStage部署的每个主机新Relic密钥

时间:2014-09-22 23:07:35

标签: capistrano chef newrelic

我正在使用Capistrano 2和多级扩展来部署rails应用程序。我有很多服务器,只有一个New Relic Pro帐户。我正在使用Roundsman通过capistrano部署厨师食谱。链接到相关的主厨脚本https://github.com/escapestudios-cookbooks/newrelic/blob/master/recipes/server_monitor_agent.rb

我有两个阶段,分期和制作。这些是config / deploy / staging.rb文件的相关部分

 set :sidekiq_host, "sqstaging.com"
 set :webapp_host,  "staging.com"
 set :db_host, "dbstaging.com"
 set :stage, "production-#{application}"
 set :rails_env, "staging"
 set :sidekiq_env, "sidekiq_staging"
 set :user,      "jpubu33"
 set :port, 333
 set :deploy_to, "/mnt/www/#{application}"
 set :branch, "master"

server webapp_host, :app, {
    :newrelic, {:server_monitoring => {:license => "cfdfdsvv45b" } }
    }

server sidekiq_host, :app, {
    :newrelic, {:server_monitoring => {:license => "fveveveuvevhuevuiehv" } }
    }

server db_host, :app,  {
    :newrelic, {:server_monitoring => {:license => "vevhuevuihuvhrubrhub" } }
    }

可悲的是,新的遗物钥匙最终成为了烹饪书的CHANGE_ME默认值。

但是,如果我只是将其添加到文件中,它会将所有服务器设置为相同的新文件密钥

set :newrelic, { :server_monitoring => {:license => "vehfhdufuehfheuhr948hvdfdsgb" } }

我想知道为什么每服务器配置不起作用,如果以后有办法使用每服务器变量 - 例如我可以做类似的事情

 set :myKey, webapp_host => {:newrelic}

1 个答案:

答案 0 :(得分:0)

听起来你只有一个主要的New Relic帐户。由于许可证密钥是按帐户的,因此如果是这种情况,您可以为每个报告服务器使用相同的许可证密钥,并且每个主机都将显示在其自己的主机名下。如果此配置无法满足您的需求,您可以在http://support.newrelic.com/获得进一步的帮助。