Azure Python容器以及如何传入New Relic应用程序名称



所以我有一个docker容器与python应用程序和新的relic python代理。在azure devops中,我将容器推送到注册表,然后将其释放到web应用程序容器中。容器中的newrelic.ini文件包含新的relic应用程序名称,现在我将其设置为虚拟名称。部署时,该应用程序在虚拟名称下报告新遗迹,所以我知道新遗迹正在从容器中正确报告。我现在需要做的是根据我部署容器的web应用程序更改应用程序名称。所以在dockerfile中我有:

FROM python:3.8-slim-buster
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip3 install --upgrade pip
RUN pip3 install -r requirements.txt
ARG NEW_RELIC_APP_NAME
ENV NEW_RELIC_APP_NAME $NEWRELICAPPNAME
COPY . .
CMD ["python3", "app.py"]

然后在发布中我指定应用程序设置:

steps:
- task: AzureRmWebAppDeployment@4
displayName: 'Deploy Container'
inputs:
azureSubscription: 'Subscription ID'
appType: webAppContainer
WebAppName: 'MYAPPNAME'
DockerNamespace: myregistry.azurecr.io
DockerRepository: 'myappcontainer:latest'
ConfigurationSettings: '-NEW_RELIC_APP_NAME MYAPPNAME'

我可以在环境变量部分和应用程序设置部分的https://myapp.scm.azurewebsites.net/env中看到这个应用程序设置:

APPSETTING_NEW_RELIC_APP_NAME = MYAPPNAME
NEW_RELIC_APP_NAME = MYAPPNAME

我已经尝试重新启动,扩展,重新部署。它只报告在newrelic.ini文件中设置的名称。当将相同的容器部署到不同的环境时,是否有人将值转换为更改新遗迹报告的位置?我错过了什么?

谢谢!

关于环境变量的New Relic文档:https://docs.newrelic.com/docs/apm/agents/python-agent/configuration/python-agent-configuration/#agent-configuration-file

环境变量允许您覆盖某些核心设置的默认值。如果在代理配置文件中显式列出了等效设置,则配置文件设置优先于环境变量。

最新更新