2013-08-24 18 views
1

我已經爲Heroku上的rails應用程序設置NewRelic。 我注意到NewRelic正在從rails環境定義中確定應用程序名稱。這是通過newrelic.yml配置文件中的app_name變量來調節的。但是,我在不同的Heroku應用程序上運行相同的rails環境,每個應用程序都用於不同的開發測試或分段目的。所以我們完全不需要希望所有這些應用程序(儘管使用相同的rails環境)向同一個NewRelic'應用程序'報告。這在NewRelic中根本沒有任何價值 - 相反,每個Heroku應用程序都應該是NewRelic中的自己的「應用程序」,否則我們只會爲所有這些應用程序獲得一個無用的聚合,每個應用程序運行不同的源應用程序源版本或不同的負載或測試模擬。針對同一個rails環境的單獨的newrelic應用程序名稱

什麼應該是最直接和最可靠的方式來配置分離?

謝謝!

P.S.當然對於我們的生產環境,我們確實希望所有的動態鏈接報告作爲一個NewRelic應用程序。只適用於不同的分段/測試環境。

回答

6

您可以爲每個不同的分段和測試環境創建一個新的環境變量,然後將該環境變量拉到您的newrelic.yml分段和測試環境中的app_name中。

例如,您可以創建一個名爲SPECIFIC_APP環境變量和「staging_one」爲您的應用程序之一,「staging_two」其它應用程序,通過運行在各自的應用程序,這些命令設置:

heroku config:set SPECIFIC_APP=staging_one

heroku config:set SPECIFIC_APP=staging_two

然後,您可以修改New Relic的APP_NAME爲每個SPECIFIC_APP環境中,像這樣:

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

對於每個測試應用程序,您都可以做同樣的事情,在newrelic.yml結尾處的「測試」環境中附加一個額外的特定於應用程序的環境變量。

這樣,根據每個應用程序的SPECIFIC_APP環境變量的設置,分段和測試RAILS_ENV中的每個應用程序都是唯一的。

相關問題