Surveillance des applications basées sur l'.NET Framework
Surveillez vos applications en mode «.NET Framework » grâce aux fonctionnalités d'instrumentation automatique et de traçage distribué d' Instana.
Pour les applications .NET et .NET Core, consultez la section « Surveillance des applications .NET et .NET Core ».
Présentation
Instana offre une surveillance complète des applications .NET Framework grâce à :
- Instrumentation automatique : aucune modification du code n'est nécessaire grâce à l' AutoTrace
- Traçage distribué : une visibilité de bout en bout sur l'ensemble de vos services
- Indicateurs de performance : CPU, mémoire, verrous de threads, contention et exceptions
- AutoProfile : analyse continue des performances pour l'optimisation (nécessite la version 0.9 ou ultérieure d'.NET Framework, disponible sur 4.7.2 )
- OpenTelemetry Prise en charge : Intégration aux implémentations existantes d' OTel
Comment fonctionne la surveillance d'.NET Framework
Créez n'importe quelle application à l'aide d'.NET Framework4.5.2 ou une version ultérieure, ou utilisez une application existante. Installez l'agent d' Instana s dans votre environnement. L'agent détecte le processus « .NET Framework » et charge le capteur CLR. Il recueille automatiquement les indicateurs de performance et les données d'intégrité de vos applications .NET Framework.
La traçabilité est automatiquement activée pour les applications hébergées par IIS, tandis que les applications non hébergées par IIS nécessitent une configuration explicite pour permettre la collecte des données de traçabilité. Lorsque l'agent Instana démarre sur votre système Windows, il installe CLR Tracer (extension de traçage pour .NET Framework ) en utilisant l' API de profilage définie dans le fichier .NET Framework. L'extension est composée de plusieurs fichiers qui contiennent les composants de traçage. Étant donné qu' Instana utilise l' API de profilage, il fait appel à des bibliothèques COM et à des assemblages gérés.
L'extension enregistre une DLL COM (profileur) comprenant trois assemblages gérés :
Instana.ManagedTracing.dllInstana.ManagedTracing.Base.dllSystem.Collections.Immutable.dll
Une fois que l'extension a enregistré les composants, Instana met à jour le registre Windows afin que les hôtes d'applications pris en charge, tels que W3SVC ou WebSphere Application Server, intègrent automatiquement le profileur lors de leur prochain démarrage. Instana ne redémarre pas automatiquement ces services afin d'éviter toute interruption de vos services. Les applications en cours d'exécution doivent être redémarrées manuellement pour activer le traçage.
INSTANA_NET_ENABLE_MULTIDOMAIN variable d'environnement sur true, ce qui permet d'instrumenter le domaine principal de l'application (le premier domaine chargé).Le capteur CLR et le traceur fonctionnent de concert pour offrir une visibilité complète sur l'ensemble de vos applications .NET Framework. Pour connaître les dernières versions des capteurs et des traceurs, consultez les pages CLR Sensor et CLR Tracer.
Prérequis
Assurez-vous que les prérequis suivants sont respectés :
- Instana L'agent est installé : l'agent hôte doit être en cours d'exécution sur votre infrastructure d' Windows. Consultez la section « Installation de l'agent » sur Windows.
- InstanaPCP est en cours d'exécution : InstanaPCP permet à l'agent Instana de communiquer avec votre application .NET Framework. Pour vérifier si le service « InstanaPCP » est en cours d'exécution, ouvrez le Gestionnaire des tâches sur Windows et recherchez
InstanaPCP.exe. - Connectivité réseau : votre application .NET Framework doit pouvoir communiquer avec l'agent Instana. Pour plus d'informations, consultez la section « Configuration réseau requise ».
- Versions prises en charge d'.NET Framework : .NET Framework 4.5.2 ou version ultérieure. Consultez les informations d'assistance.
Informations de support
Pour vous assurer que Instana est compatible avec votre configuration actuelle, consultez la page « Environnements d'exécution, bibliothèques et frameworks pris en charge par .NET Framework ».
Configuration de la surveillance d'.NET Framework
Pour configurer la surveillance d'.NET Framework, effectuez les tâches suivantes dans l'ordre :
Étape 1 : Vérification de la configuration de l'agent
Les extensions de capteur et de traçage sont activées par défaut. Au démarrage de l'agent, le fichier « InstanaPCP » enregistre des informations relatives au processus d'activation de la trace.
L'exemple suivant montre le fichier de l'agent configuration.yaml avec le suivi d'.NET Framework s activé :
# .NET Full Framework tracing
com.instana.plugin.clr:
# # Tracing for .NET Full Framework CLR. Enabled by default
tracing:
# # Enabling tracing will instruct the agent to register the IL-rewriting components for .NET
# # alongside with the instrumentation-libraries.
# # It will also set the environment-variables for any IIS hosted .NET applications.
# # Non-IIS hosted applications which you want to trace need these env-vars to be set
# # manually before starting the actual process
# # (see the docs here: https://docs.instana.io/ecosystem/dot-net/#enabling-tracing-for-non-iis-hosted-applications)
enabled: true
instrumentation:
suppressions:
# # The absolute path to a batch-file that should be executed when the tracing-components for
# # NET Full Framework (Windows) have been updated. You can use this script to automate tasks
# # that should be executed when new tracing-components get installed. This usually will be
# # process-restarts or issuing an iisreset command, so that the processes can pickup the new components.
# # The commands issued in the script should be executed asynchronously (start /b <cmd>) in order to not
# # slow down the startup-time of InstanaPCP. In case of long-running synchronous tasks (like iisreset) you might
# # see warnings in the log concerning the unavailability of InstanaPCP for the duration of the execution.
# update_script: <absolute_path_to_batchfile>
# # Memory-limits for InstanaPCP.
# # You can specify these limits to account for high expected load and/or a lot of
# # infrastructure-components being monitored. Values are in mega-bytes.
# pcp_warn_limit: 150
# pcp_stop_limit: 250
Étape 2 : Sélectionner le guide d'installation spécifique à la plateforme
Sélectionnez le guide correspondant à votre environnement de déploiement :
| Environnement de déploiement | PartnerWorld |
|---|---|
| Applications hébergées sur IIS | Configuration du suivi d'.NET Framework s sur IIS |
| Windows processus et services | Configuration du suivi d'.NET Framework s sur Windows |
Pour obtenir un aperçu complet de toutes les options de configuration, consultez la section « Configuration du traçage d'.NET Framework ».
Étape 3 : Configuration des fonctionnalités supplémentaires (facultatif)
Une fois la surveillance de base mise en place, vous pouvez configurer les fonctionnalités optionnelles suivantes pour améliorer les capacités de surveillance d'.NET Framework :
- Tracé personnalisé : ajoutez des segments personnalisés à l'aide du SDK d'.NET.
- Ignorer des processus : exclure certains processus du suivi d'.NET s en configurant une variable d'environnement.
- Liste blanche des processus : ne surveiller que certains processus.
- Filtrage des segments : réduisez le volume de données en filtrant certains segments.
- AutoProfile : Activez le profilage continu pour optimiser les performances.
Pour obtenir des instructions détaillées sur la configuration, consultez la section « Configuration des fonctionnalités supplémentaires ».
Intégration avec OpenTelemetry
Instana fournit des composants d'.NET s permettant l'intégration avec OpenTelemetry,, décrits dans la page « Intégration de OpenTelemetry aux applications .NET ».
Affichage des métriques et des traces
Une fois la surveillance configurée, vous pouvez consulter les métriques et les traces associées aux applications d'.NET Framework s dans l'interface utilisateur d' Instana.
Pour consulter les indicateurs, procédez comme suit :
- Dans le menu de navigation de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
- Cliquez sur un hôte surveillé spécifique.
Vous pouvez consulter un tableau de bord de l'hôte qui regroupe toutes les métriques collectées et les processus surveillés.
Pour afficher les traces, procédez comme suit :
- Dans le menu de navigation de l'interface utilisateur d' Instana, cliquez sur Applications.
- Dans le tableau de bord Applications, sélectionnez une application ou un service d'.NET Framework.
- Dans le tableau de bord de l'application ou des services, cliquez sur Analyse des appels.
- Dans le tableau de bord Analytics, sélectionnez « Appels » ou « Traces » dans le menu « Applications ».
Les guides suivants fournissent des instructions détaillées sur la manière de consulter les données de vos applications :
Données de configuration
| Configuration suivie | Description |
|---|---|
| Nom | Nom de l'application |
| Version | Version d'exécution de CLR |
| Arguments | Motifs de la requête |
Métriques de performance
| Métriques | Description |
|---|---|
| Activité GC | Indique la fréquence et la durée d'exécution du ramasse-miettes d'.NET |
| Utilisation de la mémoire | Indique la quantité de mémoire utilisée par l'application |
| Verrous d'unités d'exécution | Indique quand des threads sont bloqués en attente de verrous |
| Contention | Mesure la concurrence entre les threads pour l'accès aux ressources partagées |
| Exceptions | Affiche le nombre et les types d'exceptions d'exécution |
Signatures d'intégrité
Instana évalue en permanence les indicateurs de santé par rapport aux données reçues et signale les problèmes ou les incidents en fonction de leur impact sur les utilisateurs.
Les événements intégrés déclenchent des tickets ou des incidents en cas de signatures de santé défaillantes sur des entités, tandis que les événements personnalisés déclenchent des tickets ou des incidents en fonction des seuils d'une métrique spécifique à une entité donnée.
Pour plus d'informations sur les événements intégrés d'.NET Framework, consultez la référence des événements intégrés.
InstanaPCP et les compteurs de performances
Pour plus d'informations sur les compteurs de performances d' InstanaPCP, consultez les pages InstanaPCP et Windows.
Désactiver le traçage
Pour désactiver le traçage dans les applications d'.NET Framework, procédez comme suit :
- Mettez à jour le fichier de configuration : ouvrez le fichier de l'agent
configuration.yamlet définissez l'indicateur de suivi « .NET Framework » surenabled: false.L'exemple suivant présente un extrait du fichier
configuration.yamllorsque le suivi d'.NET Framework s est désactivé :# CLR Tracing com.instana.plugin.clr: tracing: enabled: false - Redémarrez l'agent d' Instana s afin que la configuration mise à jour soit prise en compte.
- Redémarrez le processus hôte.
Problèmes connus et limitations
Consultez la liste des problèmes connus et des limitations concernant le traçage d'.NET Framework :
Limites de l'instrumentation de la version de bibliothèque
Instana avec CLR Sensor 1.1.148 et .NET La version du Tracer Framework 1.315.1 (13 mars 2026) limite l'instrumentation aux versions des bibliothèques explicitement répertoriées dans la section « Bibliothèques et frameworks pris en charge pour le traçage ». Les versions non prises en charge ne sont pas instrumentées.
Pour bénéficier d'une assistance continue, effectuez la mise à niveau vers les versions prises en charge. Pour plus de détails et pour connaître les solutions de contournement possibles, consultez la note technique.
Mesures limitées au niveau d'IIS pour les applications d'.NET e 5 et versions ultérieures s'exécutant dans des pools d'applications sans code géré
Lorsqu'une application initialement développée sur .NET Framework est migrée vers .NET 5 ou une version ultérieure (y compris .NET 6, 7, 8 et les versions ultérieures) et hébergée sur IIS, le pool d'applications doit être configuré pour s'exécuter avec No Managed Code. Dans ce mode, Instana ne peut pas collecter de métriques au niveau d'IIS.
Lorsqu'un pool d'applications IIS est défini sur No Managed Code, Instana ne peut pas collecter les métriques IIS suivantes :
- Noms des pools d'applications
w3wp.exeindicateurs de processus- Données de surveillance au niveau des processus de travail
Cette limitation est inhérente à la manière dont IIS héberge les applications .NET 5 et versions ultérieures. L'instrumentation et le traçage au niveau des applications continuent de fonctionner comme prévu, mais les métriques au niveau d'IIS ne sont pas disponibles.
Si vous avez besoin de métriques au niveau d'IIS, envisagez d'utiliser des applications .NET Framework 4 ou antérieures, qui prennent en charge les pools d'applications en code managé.
Multi-AppDomain applications
Lors de l'instrumentation d'applications d' multi-AppDomain (telles que SharePoint ), le fichier System.dll est chargé dans des instances multiples ou partagées d' AppDomains. Cependant, lorsque Instana tente d'instrumenter la classe System.Net.HttpWebRequest dans System.dll, il ne réécrit les méthodes que dans le domaine principal de l'application, ce qui entraîne l'erreur suivante :
Loading this assembly would produce a different grant set from other instances.
Si vous rencontrez cette erreur, définissez les variables d'environnement suivantes :
INSTANA_REWRITER_SUPPRESSION=System.Net.HttpWebRequest
INSTANA_TRACER_SUPPRESSION_ENABLED=1
Lorsque cette option est activée, la réécriture est ignorée pour System.Net.HttpWebRequest, et le reste de l'instrumentation fonctionne comme prévu.
Dépannage de la surveillance d'.NET Framework
Si vous rencontrez des problèmes avec la surveillance ou le traçage d'.NET Framework, procédez au dépannage comme suit :
Étapes courantes de dépannage
Si vous ne voyez pas de traces ou de métriques dans l'interface utilisateur d' Instana, suivez les étapes générales de dépannage suivantes :
- Vérifier les conditions préalables :
- Assurez-vous que la version d'exécution d'.NET Framework s est prise en charge (.NET Framework 4.5.2 ou version ultérieure)
- Vérifiez que l'agent d' Instana ation est en cours d'exécution et accessible
InstanaPCP.exeVérifiez que le service « InstanaPCP » est en cours d'exécution (consultez le Gestionnaire des tâches pour vous en assurer)- Vérifiez la connexion réseau entre votre application et l'agent
- Vérifiez les variables d'environnement :
- Vérifiez que toutes les variables d'environnement requises sont correctement définies
- Assurez-vous que les chemins d'accès sont valides et accessibles
- Vérifiez que les noms des variables sont correctement orthographiés
- Vérifier la configuration du traçage :
- Vérifiez que le traçage est activé dans le fichier de l'agent
configuration.yaml - Redémarrez l'agent et l'application après avoir modifié la configuration
- Pour les applications IIS, relancez-les
iisresetaprès avoir modifié la configuration
- Vérifiez que le traçage est activé dans le fichier de l'agent
- Vérifiez s'il existe des outils APM incompatibles :
- Vérifiez qu'aucun autre outil APM n'utilise les mêmes points de profilage
- Désactivez les autres agents APM s'il y en a
Pour obtenir des scénarios de dépannage détaillés spécifiques à chaque plateforme ainsi que les solutions correspondantes, consultez le guide de dépannage approprié dans la section suivante.
Guides de dépannage spécifiques à chaque plateforme
| Environnement de déploiement | Guide de traitement des incidents |
|---|---|
| Applications Web hébergées sur IIS | Dépannage du suivi d'.NET Framework s sur IIS |
| Windows services ou processus autonomes | Dépannage du suivi d'.NET Framework s sur Windows |
Pour obtenir un aperçu de toutes les options de dépannage, consultez la section « Dépannage du traçage d'.NET Framework ».