Problème
Après avoir installé l'agent .NET de New RElic sous Linux, vous ne voyez aucune donnée, remarquez des données manquantes ou ne voyez aucun log.
Solution
Important
- Assurez-vous que vous disposez des privilèges d'administrateur sur votre hôte pour continuer
- Assurez-vous que les étapes d'installation et d'exécution ont été suivies (guide d'installation)
Étape 1 : vérifier le log agent de l'application
Conseil
- Si vous avez installé notre agent pour .NET Core, ou installé l'un ou l'autre 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. - Dans certaines méthodes d'installation sous Linux, la valeur par défaut est
/usr/local/newrelic-dotnet-agent
(versions d'agent 10.0.0 ou supérieures) ou/usr/local/newrelic-netcore20-agent
(versions d'agent 9.9.0 ou inférieures).
- 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 une minute 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 l’une des commandes suivantes via la ligne de commande :
pidof dotnet
oupidof the_process_name
. - 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. - Recherchez un autre fichier avec le préfixe
newrelic_agent
. Il peut y en avoir plusieurs si vous exécutez plusieurs applications .NET sur votre hôte. 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 .
Étape 2 : Vérifiez si le profileur d'agent est chargé dans le processus de l'application
Dans la console, exécutez la commande suivante en remplaçant pid
par votre ID de processus :
$sudo cat /proc/PID/maps | grep "libNewRelicProfiler.so"
En fonction du résultat, voici ce que vous devez faire :
- Si vous n’obtenez aucun résultat avec cette commande, passez à l’étape suivante.
- Si vous obtenez des résultats, passez à l’étape 4 (autorisations).
Étape 3 : Vérifiez les variables d’environnement requises :
Exécutez ce qui suit en remplaçant PID
par votre ID de processus.
$xargs --null --max-args=1 < /proc/PID/environ | grep "CORECLR_"
En fonction du résultat, voici ce que vous devez faire :
Si vous n’obtenez aucun résultat, définissez vos variables d’environnement, redémarrez votre application et revenez à l’étape 1.
Si vous obtenez des résultats, assurez-vous que les quatre variables requises sont définies et ont des valeurs valides :
CORECLR_ENABLE_PROFILING
: Doit toujours être défini sur 1.CORECLR_PROFILER
: Doit toujours être défini sur{36032161-FFC0-4B61-B559-F6C5D41BAE5A}
.CORECLR_NEWRELIC_HOME
: Doit être défini sur le chemin d'accès complet au répertoire de l'agent pour .NET Core (le répertoire où se trouventnewrelic.config
,libNewRelicProfiler.so
et le répertoire des extensions).CORECLR_PROFILER_PATH
: Doit être défini sur le chemin d'accès complet au fichierlibNewRelicProfiler.so
. Cela est presque toujours égal àCORECLR_NEWRELIC_HOME
+/libNewRelicProfiler.so
.
Si vous avez apporté des modifications à vos variables d’environnement, redémarrez votre application et revenez à l’étape 1.
Pour plus de détails sur ces variables, veuillez consulter Comprendre les variables d'environnement de l'agent .NET.
É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 pour .NET Core a été extrait sur votre système (
CORECLR_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 l'assistance ou de demander de l'aide dans le forum d'assistance.