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

Azure Python容器部署时如何动态配置New Relic应用名称

问题原因与解决方案

1. 先修正Dockerfile的拼写错误

你Dockerfile中ARG定义的变量名和ENV引用的变量名不一致,属于低级拼写错误:
原错误写法:

ARG NEW_RELIC_APP_NAME
ENV NEW_RELIC_APP_NAME $NEWRELICAPPNAME

修正为:

ARG NEW_RELIC_APP_NAME
ENV NEW_RELIC_APP_NAME=${NEW_RELIC_APP_NAME}

注意:你当前是在Azure App Service运行时注入的环境变量,所以这个拼写问题暂时不影响运行时配置,但为了避免构建时传参失效建议修正。

2. 修正New Relic代理的启动方式(核心问题)

New Relic Python代理默认只有通过官方指定的启动方式运行时,才会自动读取NEW_RELIC_前缀的环境变量覆盖newrelic.ini中的配置,你当前直接启动python app.py的方式不会触发环境变量覆盖逻辑,所以一直使用ini文件中的固定占位名。

有两种常用解决方式,二选一即可:

方式1:修改启动命令(官方推荐)

将Dockerfile中的CMD指令修改为通过newrelic-admin启动应用,代理会自动读取环境变量覆盖ini配置:

CMD ["newrelic-admin", "run-program", "python3", "app.py"]

方式2:代码初始化时手动传入应用名

如果你不想修改启动命令,可以在应用代码初始化New Relic代理时手动读取环境变量覆盖配置,在app.py最开头新增如下代码:

import newrelic.agent
import os
# 第二个参数app_name会覆盖ini文件中的配置
newrelic.agent.initialize('newrelic.ini', app_name=os.getenv('NEW_RELIC_APP_NAME', '默认占位名称'))

验证

修正后重新发布容器,重启Web App后,New Relic就会使用你在Azure App Service中配置的NEW_RELIC_APP_NAME值上报数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:57:04