Si está utilizando una función de Azure en contenedor, puede monitorear sus funciones de Azure con el agente .NET, el agente Python o el agente Node.js de New Relic. Esto le permite monitorear el rendimiento y el estado de sus funciones de Azure en tiempo real.
Requisitos previos
- Cerciorar de que su función de Azure cumpla con nuestros requisitos y compatibilidad.
- Vincula tu cuenta de Azure a New Relic. Para obtener más información, consulte IntegraciónAzure .
Configurar la monitorización Azure Functions
Puede configurar el monitoreo de Azure Functions para diferentes entornos y varias combinaciones de tiempos de ejecución y métodos de implementación. Las siguientes instrucciones detallan cómo configurar New Relic para las aplicaciones de funciones de Azure en contenedores.
Edite el archivo de su función para agregar el siguiente código en la parte superior del archivo de su aplicación:
ENV NEW_RELIC_LICENSE_KEY="YOUR_NEW_RELIC_LICENSE_KEY"ENV NEW_RELIC_APP_NAME="YOUR_APPLICATION_NAME"# ENV NEW_RELIC_HOST='staging-collector.newrelic.com'# Uncomment the previous line if using staging# Inject the agent in NODE_OPTIONSENV NODE_OPTIONS="-r newrelic"# Install New Relic without bin linksARG AGENT_VERSION=latestRUN npm install newrelic@$AGENT_VERSION --no-bin-linksCree su imagen de Docket según los requisitos de su plataforma ejecutando:
bash$docker buildx build --platform=YOUR_PLATFORM_ARCHITECTURE --tag YOUR_DOCKER_ID/azurefunctionsimage:v1.0.0 --pushImportante
Asegúrese de reemplazar
YOUR_PLATFORM_ARCHITECTUREcon la arquitectura adecuada para su función de Azure. Por ejemplo, uselinux/amd64para Linux de 64 bits olinux/arm64para la arquitectura ARM.Publique su imagen en el Registro de contenedor de Azure (ACR) ejecutando:
- Autentique su Registro de contenedor de Azure:
bash$az acr login --name YOUR_CONTAINER_REGISTRY_NAME- Etiquete su imagen construida localmente con el servidor de inicio de sesión de ACR ejecutando:
bash$docker tag YOUR_DOCKER_ID/azurefunctionsimage:v1.0.0 YOUR_LOGIN_SERVER/azurefunctionsimage:v1.0.0- Inserte la imagen etiquetada en su ACR ejecutando:
bash$docker push YOUR_LOGIN_SERVER/azurefunctionsimage:v1.0.0Cree los recursos de Azure requeridos para su aplicación de función de Azure utilizando la documentación de Azure..
Cree y configure la aplicación de función de Azure utilizando la imagen que insertó en el ACR en el paso anterior. Para obtener más información, consulte la documentación de Azure.
Recupere la URL de la aplicación de función de Azure después de la implementación ejecutando:
bash$az functionapp show --name YOUR_APPLICATION_NAME --resource-group NAME_OF_THE_APPS_RESOURCE_GROUP
Para instalar el agente de Python de New Relic, agregue las siguientes líneas a la etapa final de su Dockerfile:
FROM mcr.microsoft.com/azure-functions/python:4-python3.11
# These commands will not be required once the # New Relic Python Agent releases this featureRUN apt-get updateRUN apt-get -y install git
ENV AzureWebJobsScriptRoot=/home/site/wwwroot \ AzureFunctionsJobHost__Logging__Console__IsEnabled=true
RUN pip install newrelic
# Install any other dependenciesCOPY requirements.txt /RUN pip install -r /requirements.txtCOPY . /home/site/wwwrootSugerencia
El ejemplo anterior es para una función de Azure Python 3.11. Puede cambiar la versión de Python para que coincida con sus requisitos.
Después de haber construido la imagen de Docker, publique la imagen en Azure Container Registry. Para obtener más información, consulte la documentación de Azure.
Para instalar el agente .NET de New Relic, agregue las siguientes líneas a la etapa final de su archivo Docker:
# Install the latest New Relic .NET agent using the apt-get package manager# To install a specific version of the .NET agent, add the version number to the apt-get install line (i.e. apt-get install -y newrelic-dotnet-agent=10.38.0)RUN apt-get update && apt-get install -y wget ca-certificates gnupg \ && echo 'deb http://apt.newrelic.com/debian/ newrelic non-free' | tee /etc/apt/sources.list.d/newrelic.list \ && wget https://download.newrelic.com/548C16BF.gpg \ && apt-key add 548C16BF.gpg \ && apt-get update \ && apt-get install -y newrelic-dotnet-agent \ && rm -rf /var/lib/apt/lists/*Cuando implementa su aplicación, el agente .NET se instala en la carpeta /usr/local/newrelic-dotnet-agent .
Configurar variables de entorno
Luego de publicar la aplicación de Azure Functions, configure las variables de entorno:
Navegue a sus funciones Azure en el portal Azure .
En Settings , haga clic en Environment variables y, a continuación, haga clic en Advanced edit .
Según el tiempo de ejecución de su implementación, pegue los siguientes valores:
Importante
Cerciorar de agregar una coma al final de la última línea existente y actualizar su clave de licencia en la siguiente configuración.
{"NODE_OPTIONS": "-r newrelic","NEW_RELIC_LICENSE_KEY": "YOUR_NEW_RELIC_LICENSE_KEY","NEW_RELIC_APP_NAME": "NAME_OF_YOUR_AZURE_FUNCTION_APP"}({"name": "PYTHON_ENABLE_WORKER_EXTENSIONS","value": "1","slotSetting": false},{"name": "FUNCTIONS_WORKER_RUNTIME","value": "python","slotSetting": false},{"name": "PYTHONPATH","value": "${PYTHONPATH}:/home/site/wwwroot:/home/site/wwwroot/.python_packages/lib/site-packages","slotSetting": false},{"name": "NEW_RELIC_APP_NAME","value": "YOUR_NEW_RELIC_APP_NAME","slotSetting": false},{"name": "NEW_RELIC_LICENSE_KEY","value": "YOUR_NEW_RELIC_LICENSE_KEY","slotSetting": false})({"name": "CORECLR_ENABLE_PROFILING","value": "1","slotSetting": false},{"name": "CORECLR_NEW_RELIC_HOME","value": "/home/site/wwwroot/newrelic","slotSetting": false},{"name": "CORECLR_PROFILER","value": "{36032161-FFC0-4B61-B559-F6C5D41BAE5A}","slotSetting": false},{"name": "CORECLR_PROFILER_PATH","value": "/home/site/wwwroot/newrelic/libNewRelicProfiler.so","slotSetting": false},{"name": "NEW_RELIC_LOG_DIRECTORY","value": "/home/LogFiles/NewRelic","slotSetting": false},{"name": "NEW_RELIC_LICENSE_KEY","value": "YOUR_NEW_RELIC_LICENSE_KEY","slotSetting": false})
Resetear sus funciones Azure
Luego de agregar las variables de entorno, resetear Azure Functions para aplicar los cambios.
Buscar y utilizar datos
Una vez que configuró su Azure Function, podrá buscar y usar los datos en la New Relic UI.
Vaya a https://one.newrelic.com > APM & Services.
En el banner de búsqueda, establezca el criterio de búsqueda como
isAzureFunction = true:
De la lista que se muestra, seleccione su función de Azure para ver los datos.