Problème
Après avoir installé l'agent .NET de New Relic pour Windows, vous rencontrez un ou plusieurs des problèmes suivants :
- Vous ne voyez aucune donnée
- Vous remarquez des données manquantes
- Vous ne voyez aucun log
Solution
Choses importantes à vérifier et à comprendre :
- Assurez-vous que vous disposez des privilèges d'administrateur sur votre hôte.
- Assurez-vous que les étapes d'installation et d'exécution ont été suivies
Étape 1 : vérifier le log agent de l'application
Conseils importants avant de vérifier le log :
- Lorsque vous utilisez le programme d'installation MSI Windows , la valeur par défaut est
%ALLUSERSPROFILE%\New Relic\.NET Agent\Logs
. - Si vous avez installé l'agent avec le package NuGet
NewRelic.Agent
, vous trouverez un dossierlogs
dans le répertoire où l'agent a été extrait sur votre système.
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. Si votre application est hébergée dans IIS, exécutez une ligne de commande IISRESET dans une prompt de commande d'administration.
- 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 Gestionnaire des tâches Windows ou l'Explorateur de processus.
- 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
profiler log
fichier dans le répertoire log, vérifiez également s'il existe un agent log correspondant. Le agent log contient lenewrelic_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é :
Téléchargez et extrayez Microsoft Process Explorer sur votre serveur.
lancer la version appropriée de Process Explorer pour votre environnement (32 vs 64 bits) en tant qu'administrateur (clic droit Run as Administrator).
Dans la fenêtre principale de 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 hébergée par IIS, le nom du processus sera
w3wp.exe
.Dans la barre de menu de Process Explorer, sélectionnez View > Show lower pane puis View > Lower pane view > DLLs.
Mettez en surbrillance votre processus application dans le volet supérieur, puis vérifiez le volet inférieur pour les DLL suivantes.
NewRelic.Profiler.dll
- Cette DLL est nécessaire pour que l'agent monitore votre application. Si ce n'est pas le cas, assurez-vous que l'utilisateur sous lequel l'application s'exécute dispose des autorisations de lecture sur le dossier dans lequel l'agent a été installé.Important
- Dans le .NET Framework agent cela devrait être identique à la variable d'environnement
NEWRELIC_INSTALL_PATH
. - Dans le .NET Core agent cela devrait être identique à la variable d'environnement
CORECLR_NEWRELIC_HOME
.
- Dans le .NET Framework agent cela devrait être identique à la variable d'environnement
mscorlib.dll
: .NET Framework agent only. La présence de cette DLL permet à l'agent d'identifier votre application comme une application.NET Framework. S'il n'est pas présent, l'agent ignore complètement l'application. Si votre application ne contient pas cette DLL, veuillez vérifier que votre application répond aux exigences de compatibilité deagent .
Important
L’utilisation de Code Access Security est compatible avec l’agent .NET uniquement lorsque Full Trust est fourni. L'agent n'est pas compatible avec des niveaux de confiance plus restrictifs.
Si vous ne voyez pas NewRelic.Profiler.dll
, passez à l’étape suivante. Si vous obtenez des résultats, passez à l’étape 4 (autorisations).
Étape 3 : vérifier les variables d’environnement requises
Pour vérifier les variables d’environnement requises : cliquez avec le bouton droit sur le processus dans Process Explorer et sélectionnez Properties. Vous verrez un ensemble d’onglets en haut de la fenêtre qui apparaît. 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.
Étape 4 : vérifier les autorisations
Vérifiez les tâches d’autorisations suivantes :
- Assurez-vous que l'utilisateur sous lequel votre processus d'application s'exécute dispose des autorisations de lecture/écriture/exécution sur le répertoire dans lequel l'agent .NET a été extrait sur votre système (
NEWRELIC_INSTALL_PATH
ouCORECLR_NEWRELIC_HOME
) et sur tous ses sous-répertoires. - Si vous avez apporté des modifications, redémarrez votre application et revenez à l’étape 1.
Si les étapes ci-dessus ne résolvent pas le problème, nous vous recommandons de contacter le support ou de demander de l'aide sur notre forum d'assistance.