【问题标题】:Separate newrelic application name for same rails environment为相同的 Rails 环境单独的 newrelic 应用程序名称
【发布时间】:2013-08-27 14:37:16
【问题描述】:

我已经为 Heroku 上的 Rails 应用程序设置了 NewRelic。 我注意到 NewRelic 正在根据 rails 环境定义确定应用程序名称。这是通过 newrelic.yml 配置文件中的 app_name 变量来调节的。但是,我在不同的 Heroku 应用程序上运行相同的 rails 环境,每个应用程序都用于不同的开发测试或登台目的。因此,我们完全希望所有这些应用程序(尽管使用相同的 rails 环境)向同一个 NewRelic“应用程序”报告。这在 NewRelic 中根本没有任何价值——相反,每个 Heroku 应用程序在 NewRelic 中应该是它自己的“应用程序”,否则我们只会为所有这些应用程序获得一个无用的聚合,每个应用程序运行不同的源版本,具有不同的负载或测试模拟。

配置这种分离的最直接、最可靠的方法应该是什么?

谢谢!

附注当然,对于我们的生产环境,我们确实希望将所有测功机报告为一个 NewRelic 应用程序。只是不适用于不同的暂存/测试环境。

【问题讨论】:

    标签: heroku newrelic


    【解决方案1】:

    您可以为每个不同的暂存和测试环境创建一个新的环境变量,然后将该环境变量拉入您的 app_name 中的 newrelic.yml 暂存和测试环境中。

    例如,您可以创建一个名为 SPECIFIC_APP 的环境变量,并通过在相应的应用程序中运行以下命令,将其中一个应用程序设置为“staging_one”,将另一个应用程序设置为“staging_two”:

    heroku config:set SPECIFIC_APP=staging_one

    heroku config:set SPECIFIC_APP=staging_two

    然后,您可以为每个 SPECIFIC_APP 环境修改 New Relic app_name,如下所示:

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

    您可以对每个测试应用执行相同的操作,在 newrelic.yml 末尾的“测试”环境中附加一个额外的特定于应用的环境变量。

    这样,根据每个应用程序的 SPECIFIC_APP 环境变量的设置,暂存和测试 RAILS_ENV 中的每个应用程序都是唯一的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多