You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在newrelic.yml文件中使用Heroku环境变量实现分环境参数化

New Relic多环境适配操作方案

不需要单独创建newrelic.development、newrelic.staging这类分环境的配置文件,单份newrelic.yml配合Heroku环境变量就能实现需求,维护成本更低,也符合12要素应用的配置规范,具体操作如下:

操作步骤

1. 调整newrelic.yml配置结构

你可以在同一份配置文件中拆分公共配置块和环境专属配置块,通过ERB语法直接读取环境变量,New Relic官方原生支持解析配置文件中的ERB语法,不需要额外适配,示例配置如下:

# 公共配置块,所有环境共用的参数放在这里
common: &default_settings
  license_key: <%= ENV['NEW_RELIC_LICENSE_KEY'] %>
  app_name: <%= ENV['NEW_RELIC_APP_NAME'] %>
  log_level: info

# 开发环境专属配置
development:
  <<: *default_settings
  monitor_mode: false # 开发环境默认不上报性能数据

# 预发环境专属配置
staging:
  <<: *default_settings
  monitor_mode: <%= ENV.fetch('NEW_RELIC_MONITOR_MODE', 'true') %>

# 生产环境专属配置
production:
  <<: *default_settings
  monitor_mode: true

2. 在对应环境配置Heroku环境变量

不同环境的变量值单独设置即可,不需要修改配置文件:

  • 本地开发环境可以在.env文件中配置对应变量值
  • Heroku预发环境设置命令:heroku config:set NEW_RELIC_APP_NAME=你的应用名-staging --app 你的预发环境应用ID
  • Heroku生产环境设置命令:heroku config:set NEW_RELIC_APP_NAME=你的应用名-production --app 你的生产环境应用ID

提示:如果你在Heroku中安装了New Relic官方Add-on,系统会自动生成NEW_RELIC_LICENSE_KEY环境变量,不需要手动配置。

可选:无配置文件方案

如果你完全不想维护newrelic.yml文件,也可以直接通过环境变量覆盖所有New Relic配置项:所有yml中的配置参数都可以通过NEW_RELIC_为前缀的环境变量设置,比如要修改日志级别为debug,只需要设置环境变量NEW_RELIC_LOG_LEVEL=debug即可,环境变量的优先级高于yml文件配置。

内容的提问来源于stack exchange,提问作者Paride Rama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:24:02