2013-08-24 2 views
1

Я установил NewRelic для приложения для рельсов на Heroku. Я заметил, что NewRelic определяет имя приложения из определения среды рельсов. Это опосредуется через переменную app_name в файле конфигурации newrelic.yml. Тем не менее, я запускаю ту же среду рельсов на разрозненных приложениях Heroku, каждый из которых используется для различных тестов разработки или постановки целей. Таким образом, мы полностью не делаем, чтобы все эти приложения (хотя и с использованием той же среды рельсов) сообщали в одно и то же приложение NewRelic. Это не создавало бы никакой ценности в NewRelic - скорее, каждое приложение Heroku должно быть свое «приложение» в NewRelic, иначе мы просто получим один бесполезный агрегат для всех этих приложений, каждый из которых запускает другую исходную версию нашего приложения с различной нагрузкой или тестом моделирование.Отдельное имя для нового рельефа для той же среды рельсов

Какой должен быть самый простой и надежный способ настройки этого разделения?

Спасибо!

P.S. конечно, для нашей производственной среды мы хотим, чтобы все динамики были отчитаны как одно приложение NewRelic. Только не для разрозненных промежуточных/тестовых сред.

ответ

6

Вы можете создать новую переменную среды для каждой из разрозненных промежуточных и тестовых сред, а затем потянуть эту переменную среды в свое имя приложения в вашей среде разработки и тестирования newrelic.yml.

Например, вы можете создать переменную среды с именем SPECIFIC_APP и установить его на «staging_one» для одного из ваших приложений и «staging_two» для другого приложения, запустив эти команды в соответствующих приложениях:

heroku config:set SPECIFIC_APP=staging_one

heroku config:set SPECIFIC_APP=staging_two

Затем, вы можете изменить APP_NAME New Relic для каждого из этих SPECIFIC_APP сред, например, так:

staging: 
    <<: *default_settings 
    monitor_mode: true 
    app_name: <%= ENV["NEW_RELIC_APP_NAME"] %> <%= ENV["SPECIFIC_APP"] %> 

Вы можете сделать то же самое для каждого из ваших тестовых приложений, добавив дополнительную переменную среды приложения в среду тестирования в конце вашего newrelic.yml.

Таким образом, каждое приложение в стадии постановки и тестирования RAILS_ENV будет уникальным в соответствии с тем, для которого установлена ​​переменная среды SPECIFIC_APP для каждого приложения.

Смежные вопросы