Я использую 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}