Si vous utilisez une fonction Azure conteneurisée, vous pouvez monitorer vos fonctions Azure avec l'agent .NET New Relic, l'agent Python ou l'agent Node.js. Cela vous permet de monitorer les performances et l'état de vos fonctions Azure en temps réel.
Prérequis
- Assurez-vous que votre Azure Function répond à nos exigences de compatibilité.
- Liez votre compte Azure à New Relic. Pour plus d’informations, consultez l’intégration Azure.
Configurer Azure Functions monitoring
Vous pouvez configurer le monitoring des fonctions Azure pour différents environnements et diverses combinaisons de runtimes et de méthodes de déploiement. Les instructions suivantes expliquent comment configurer New Relic pour les applications de fonction Azure conteneurisées.
Modifiez votre fichier de fonction pour ajouter le code suivant en haut de votre fichier d'application :
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-linksGénérez votre image Docket selon les exigences de votre plateforme en exécutant :
bash$docker buildx build --platform=YOUR_PLATFORM_ARCHITECTURE --tag YOUR_DOCKER_ID/azurefunctionsimage:v1.0.0 --pushImportant
Assurez-vous de remplacer
YOUR_PLATFORM_ARCHITECTUREpar l'architecture appropriée pour votre fonction Azure. Par exemple, utilisezlinux/amd64pour Linux 64 bits oulinux/arm64pour l'architecture ARM.Publiez votre image dans Azure Container Registry (ACR) en exécutant :
- Authentifiez votre Azure Container Registry :
bash$az acr login --name YOUR_CONTAINER_REGISTRY_NAME- Taguez votre image créée localement avec le serveur de connexion ACR en exécutant :
bash$docker tag YOUR_DOCKER_ID/azurefunctionsimage:v1.0.0 YOUR_LOGIN_SERVER/azurefunctionsimage:v1.0.0- Envoyez l'image taguée vers votre ACR en exécutant :
bash$docker push YOUR_LOGIN_SERVER/azurefunctionsimage:v1.0.0Créez les ressources Azure requises pour votre application de fonction Azure à l'aide de la documentation Azure..
Créez et configurez l'application de fonction Azure à l'aide de l'image que vous avez envoyée à l'ACR à l'étape précédente. Pour plus d'informations, consultez la documentation Azure.
Récupérez l'URL de l'application de fonction Azure après le déploiement en exécutant :
bash$az functionapp show --name YOUR_APPLICATION_NAME --resource-group NAME_OF_THE_APPS_RESOURCE_GROUP
Pour installer l'agent Python New Relic, ajoutez les lignes suivantes à la dernière étape de votre 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/wwwrootConseil
L'exemple ci-dessus concerne une fonction Azure Python 3.11. Vous pouvez modifier la version de Python pour qu'elle corresponde à vos besoins.
Après avoir généré l'image Docker, publiez l'image dans Azure Container Registry. Pour plus d'informations, consultez la documentation Azure.
Pour installer l'agent .NET New Relic, ajoutez les lignes suivantes à la dernière étape de votre fichier 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/*Lorsque vous déployez votre application, l'agent .NET est installé dans le dossier /usr/local/newrelic-dotnet-agent .
Configurer les variables d’environnement
Après avoir publié l’application Azure Function, configurez les variables d’environnement:
Accédez à votre Azure Function dans le portail Azure .
Sous Settings , cliquez sur Environment variables , puis sur Advanced edit .
En fonction de votre environnement d’exécution de déploiement, collez les valeurs suivantes :
Important
Assurez-vous d'ajouter une virgule à la fin de la dernière ligne existante et de mettre à jour votre clé de licence dans la configuration suivante.
{"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})
Redémarrez votre Azure Function
Après avoir ajouté les variables d’environnement, redémarrez votre Azure Function pour appliquer les modifications.
Rechercher et utiliser des données
Après avoir configuré votre Azure Function, vous pouvez rechercher et utiliser les données dans l’interface utilisateur de New Relic.
Accédez à https://one.newrelic.com > APM & Services.
Dans la bannière de recherche, définissez les critères de recherche sur
isAzureFunction = true:
Dans la liste affichée, sélectionnez votre Azure Function pour afficher les données.
Articles connexes
Compatibilité et exigences
Exigences pour vos Azure Functions
Instrumentation Linux
Découvrez comment configurer vos Azure Functions pour Linux afin de les monitorer dans New Relic.
Instrumentation Windows
Découvrez comment configurer vos Azure Functions pour Windows afin de les monitorer dans New Relic.