Surveillance des applications basées sur l'.NET Framework

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.dll
  • Instana.ManagedTracing.Base.dll
  • System.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.

Remarque : À l'heure actuelle, Instana prend uniquement en charge les applications fonctionnant en mode domaine unique. Pour activer la prise en charge d'un environnement multi-domaines, définissez la 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.

Configuration de la surveillance d'.NET Framework

É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 :

Tableau 1. Guide d'installation spécifique à la plateforme
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 :

Pour obtenir des instructions détaillées sur la configuration, consultez la section « Configuration des fonctionnalités supplémentaires ».

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 :

  1. Dans le menu de navigation de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
  2. 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 :

  1. Dans le menu de navigation de l'interface utilisateur d' Instana, cliquez sur Applications.
  2. Dans le tableau de bord Applications, sélectionnez une application ou un service d'.NET Framework.
  3. Dans le tableau de bord de l'application ou des services, cliquez sur Analyse des appels.
  4. 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

Tableau 2. 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

Tableau 3. Indicateurs 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 :

  1. Mettez à jour le fichier de configuration : ouvrez le fichier de l'agent configuration.yaml et définissez l'indicateur de suivi « .NET Framework » sur enabled: false.

    L'exemple suivant présente un extrait du fichier configuration.yaml lorsque le suivi d'.NET Framework s est désactivé :

    # CLR Tracing
    com.instana.plugin.clr:
      tracing:
        enabled: false
  2. Redémarrez l'agent d' Instana s afin que la configuration mise à jour soit prise en compte.
  3. Redémarrez le processus hôte.
Remarque : la désactivation du traçage dans l'agent ne supprime ni ne dissocie le profileur des processus lancés avec le traçage activé. Pour vous assurer que le profileur n'est pas chargé dans l'application, 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.exe indicateurs 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 :

  1. 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
  2. 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
  3. 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 iisreset après avoir modifié la configuration
  4. 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

Tableau 4. 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 ».