Problème
Après avoir installé l'agent .NET de New Relic pour Azure, vous rencontrez un ou plusieurs des problèmes suivants :
- Vous ne voyez aucune donnée.
- Vous remarquez que le nom de l'application apparaît dans New Relic, mais il manque des données.
Solution
Choses importantes à vérifier et à comprendre :
- Assurez-vous que les étapes d'installation et d'exécution ont été suivies, y compris le redémarrage de votre application Web.
- Vous must désactivez Application Insights pour que l'agent .NET fonctionne correctement.
- L'application must reçoit du trafic pour le démarrage de l'agent .NET.
- À partir de la version 8.22.181.0 de l'agent .NET, Le paramètre
Always On
d’Azure peut être activé sans interférer avec l’agent. Si votre application cible .NET Framework 4.0 ou une version antérieure,Always On
interférera avec l'agent et les solutions de contournement ici sont toujours applicables.
Étape 1 : vérifier le log agent de l'application
Important
Vous pouvez utiliser Kudu pour vérifier le log agent , qui est un site qui s'exécute en parallèle avec votre site Web et fournit divers outils qui peuvent être utilisés pour examiner les processus, consulter le système de fichiers et télécharger des fichiers et des répertoires.
Si l'URL de votre site Web est example.azurewebsites.net
, alors le site Kudu est example.scm.azurewebsites.net
. Utilisez les informations d'identification de déploiement de votre site pour log au site Kudu.
Conseils importants lors de la vérification du log :
- Lorsque New Relic Azure vous utilisez l’extension de site , en supposant que votre Azure application Web utilise une
D:
racine système de fichiers,log l’emplacement par défautD:\home\LogFiles\NewRelic
est. Si votre site Web Azure utilise une racineC:
, vous devrez utiliser la lettre de lecteur correcte. - Si vous avez installé l'agent avec le package NuGet
NewRelic.Agent
ouNewRelic.Azure.WebSites
, vous trouverez le dossierlogs
dans le répertoire où l'agent a été extrait dans votre projet. Il s’agit souvent du dossiernewrelic
dans le dossierwwwroot
.
Pour vérifier le log agent :
- Assurez-vous de consulter les données actuelles. Supprimez ou déplacez tous les fichiers existants dans le répertoire du log afin d'être sûr que le log que vous générez reflète l'état actuel de votre système.
- Redémarrez votre application.
- Exercez votre application pendant au moins quelques minutes d'une manière qui générerait le trafic que vous vous attendez à voir sur votre compte New Relic.
- Notez l'ID de processus (PID) sous lequel votre application s'exécute, afin de pouvoir vérifier si un log est créé pour ce processus. Vous pouvez trouver le PID en utilisant le Process Explorer intégré de Kudu.
- Revenez au répertoire du log de agent et recherchez un fichier de log avec un nom contenant l'ID de processus de votre application, par exemple,
NewRelic.Profiler.[PID].log
. - Si vous voyez ce fichier de du profileur log dans le répertoire des logs, vérifiez également s'il existe un agent log correspondant. Le agent log contient le
newrelic_agent
préfixe. Si vous exécutez plusieurs applications .NET sur votre hôte, il peut y en avoir plusieurs. Si vous en voyez un ou plusieurs, vous devez déterminer celui qui correspond à l'application que vous essayez de monitorer. - Recherchez dans le agent log la
(pid [your PID])
chaîne, par(pid 1573)
exemple. Si vous trouvez cette chaîne dans le fichier de log, vous savez agent log alors application qu'il s'agit du associé à votre . - Recherchez les erreurs réseau ou autres qui pourraient empêcher l'agent d'envoyer des données à New Relic.
Étape 2 : Vérifiez si le profileur d'agent .NET est chargé dans le processus de l'application
Pour vérifier si le profileur est chargé :
- Utilisez l'explorateur de processus intégré de Kudu pour les installations Windows. Pour les installations Linux, reportez-vous aux commandes de cet article.
- Dans Process Explorer, recherchez le processus que vous essayez de monitorer et notez le numéro dans la colonne PID. Si vous essayez de monitorer une application Web, le nom du processus sera probablement
w3wp.exe
sans l'étiquette SCM, qui fait référence au processus Kudu lui-même. L'agent ne doit pas instrumenter le processus SCM (Kudu). - Lorsque vous avez localisé le processus de votre application, cliquez sur le bouton
Properties
. - Cliquez sur l'onglet Modules et recherchez
NewRelic.Profiler.dll
— cette DLL est requise pour que l'agent monitore votre application. Si vous ne le trouvez pas, assurez-vous que les variables d’environnement correctes sont présentes (plus d’informations à ce sujet à l’étape 3) et que Microsoft Application Insights est désactivé.
Si vous ne voyez pas NewRelic.Profiler.dll
, passez à l’étape suivante. Si vous voyez cette DLL et que l’application reçoit du trafic, vous devriez voir le log comme décrit à l’étape 1.
Étape 3 : vérifier les variables d’environnement requises
Pour vérifier les variables d’environnement requises :
- Dans Process Explorer, localisez le processus de votre application et cliquez sur le bouton
Properties
. - Sélectionnez l’onglet Environment .
Si les variables correctes sont définies et que l'application que vous essayez de monitorer y a accès, vous devriez voir un ensemble particulier de variables d'environnement, selon que l'agent que vous avez installé est .NET Framework ou .NET Core.
Important
Ces exemples supposent tous que votre application Web Azure utilise une racine de système de fichiers D:
. Si votre site Web Azure utilise une racine C:
, vous devez utiliser la lettre de lecteur appropriée lors de la configuration de ces chemins.
Pour en savoir plus sur ces variables d’environnement et leurs fonctionnalités, consultez comment comprendre les variables d’environnement de l’agent .NET.
Si le nom application apparaît dans New Relic, mais qu'aucune transaction n'apparaît, c'est probablement parce qu'aucun trafic ne touche l'application ou que l'agent ne rencontre pas de framework connu qu'il peut automatiquement instrument:
- Pour le framework instrumenté automatiquement pour .NET Core et .NET framework, reportez-vous à notre page de compatibilité.
- Si votre application n'utilise pas l'un de ces frameworks d'application compatibles, vous devrez peut-être implémenter instrumentation personnalisée pour indiquer à l'agent quelles parties de votre application sont importantes pour monitoring et ce qui constitue la portée d'une transaction.
Si les étapes ci-dessus ne vous ont pas aidé à résoudre vos problèmes, nous vous recommandons de contacter le support ou de demander de l'aide sur notre forum d'assistance.