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

如何通过settings.py配置NewRelic,用环境变量替代硬编码密钥

解决NewRelic配置文件使用环境变量的问题

正确配置步骤

NewRelic的newrelic.ini本身支持直接引用系统环境变量,无需通过Django的settings.py中转,具体操作如下:

1. 修改newrelic.ini配置

在配置文件中用${环境变量名}的格式直接引用环境变量,示例:

[newrelic]
license_key = ${NEW_RELIC_LICENSE_KEY}
app_name = ${NEW_RELIC_APP_NAME}

注意:如果环境变量未设置,NewRelic启动会失败,务必确保服务启动前已正确配置这两个变量。

2. 设置环境变量

根据运行环境设置对应变量:

  • Linux/macOS终端(本地开发):
    export NEW_RELIC_LICENSE_KEY="你的密钥内容"
    export NEW_RELIC_APP_NAME="你的应用名称"
    python manage.py runserver
    
  • Windows终端(本地开发):
    set NEW_RELIC_LICENSE_KEY=你的密钥内容
    set NEW_RELIC_APP_NAME=你的应用名称
    python manage.py runserver
    
  • 生产环境(Docker/云平台):
    在对应平台的环境变量配置面板中添加NEW_RELIC_LICENSE_KEY和NEW_RELIC_APP_NAME即可。

3. 验证配置有效性

启动服务后,可通过以下命令检查配置是否生效:

newrelic-admin validate-config newrelic.ini

该命令会校验配置文件格式,以及环境变量是否成功加载。

之前方法无效的原因

  • 移除/设空license_key和app_name:NewRelic启动必须读取有效值,空值或缺失会导致初始化失败。
  • 直接写NEW_RELIC_LICENSE_KEY:ini文件会将其当作普通字符串,不会识别为环境变量。
  • 通过Django settings传递:NewRelic的初始化(manage.py中调用newrelic.agent.initialize())早于Django加载settings的时机,因此无法读取到settings里的配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 00:43:13