Instrumentation APM en une étape sur Windows
Présentation
Grâce à l’instrumentation en une étape (SSI), vous pouvez activer APM pour vos applications Java et .NET sur des VM Windows à l’aide d’une seule commande d’installation du Datadog Agent.
Configurer APM avec un agent
Install the dd-apm skill in your AI coding agent for guided APM setup.
npx skills add https://github.com/datadog-labs/agent-skills --skill dd-apm --full-depth -y
Activer APM sur Windows
Installation d’un nouveau Datadog Agent
Si vous n’avez pas encore installé le Datadog Agent, suivez ces étapes pour installer l’Agent et activer la SSI simultanément.
Vous pouvez activer APM sur Windows de l’une des manières suivantes :
- Instrumenter uniquement les applications .NET sur IIS
- Instrumenter toutes les applications Java et .NET sur l’ensemble de votre host Windows
Pour instrumenter uniquement les applications .NET exécutées sur IIS :
Depuis une session PowerShell administrateur sur votre host Windows, exécutez l’une des commandes suivantes. Remplacez <YOUR_DD_API_KEY> par votre clé d’API Datadog.
Utilisez le programme d’installation PowerShell :
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; $env:DD_API_KEY = '<YOUR_DD_API_KEY>'; $env:DD_SITE = '<span class="js-region-param region-param" data-region-param="dd_site"></span>'; $env:DD_APM_INSTRUMENTATION_ENABLED = 'iis'; $env:DD_APM_INSTRUMENTATION_LIBRARIES = 'dotnet:3'; (New-Object System.Net.WebClient).DownloadFile('https://install.datadoghq.com/datadog-installer-x86_64.exe', 'C:\\Windows\\SystemTemp\\datadog-installer-x86_64.exe'); C:\\Windows\\SystemTemp\\datadog-installer-x86_64.exe
Alternatively, install with the MSI:
$p = Start-Process -Wait -PassThru msiexec -ArgumentList '/qn /norestart /i "https://windows-agent.datadoghq.com/datadog-agent-7-latest.amd64.msi" /log C:\Windows\SystemTemp\install-datadog.log APIKEY="<YOUR_DD_API_KEY>" SITE="<span class="js-region-param region-param" data-region-param="dd_site"></span>\" DD_APM_INSTRUMENTATION_ENABLED=\"iis\" DD_APM_INSTRUMENTATION_LIBRARIES=\"dotnet:3\"'
if ($p.ExitCode -ne 0) { Write-Host \"msiexec failed with exit code $($p.ExitCode) please check the logs at C:\\Windows\\SystemTemp\\install-datadog.log\" -ForegroundColor Red }
To install a different .NET version, change dotnet:3, or omit DD_APM_INSTRUMENTATION_LIBRARIES to install the latest.
Note: The Chocolatey installation method does not preserve the SSI settings and cannot be used to enable SSI.
Restart the IIS applications you want instrumented. (You do not need to restart the entire IIS server.)
The Agent then automatically loads the Datadog .NET SDK into supported application processes to enable distributed tracing.
Generate the command from Datadog: To get a command pre-filled with your API key and site, go to Install the Datadog Agent on Windows and, in the Customize your observability coverage section, toggle Application Performance Monitoring (APM). To pin the .NET SDK version, select Customize Library Versions under Instrumentation Configuration. Then copy and run the generated command.
Rejoignez l'aperçu !L'instrumentation à l'échelle du host pour Windows est en aperçu et limitée aux participants à l'aperçu. Les options d'installation et de configuration décrites dans cet onglet n'apparaissent dans Datadog qu'une fois votre inscription effectuée.
Demandez l'accès pour rejoindre l'aperçu.
Pour instrumenter des applications Java et .NET sur l’ensemble de votre host Windows :
Dans Datadog, accédez à Installer le Datadog Agent sur Windows.
Dans la section Customize your observability coverage, activez Application Performance Monitoring (APM).
(Facultatif) Définissez votre version de SDK :
Par défaut, l’instrumentation en une étape installe la dernière version prise en charge des SDK Datadog .NET et Java. Si vous devez fixer une version spécifique :
- Sous Instrumentation Configuration, sélectionnez Customize Library Versions.
- Sous .NET, choisissez la version que vous souhaitez utiliser.
Copiez et exécutez la commande d’installation fournie sur votre host Windows. Datadog génère cette commande dans l’application une fois que vous êtes inscrit à l’aperçu.
Configurez les règles d’instrumentation.
Le SSI au niveau du host instrumente automatiquement toutes les applications Java sur le host et toutes les applications .NET exécutées dans IIS. Pour instrumenter les applications .NET exécutées en dehors d’IIS, vous devez définir une règle d’instrumentation qui les autorise. Vous pouvez également utiliser des règles d’instrumentation pour un contrôle granulaire sur les applications Java sur le host ou les applications .NET dans IIS qui sont instrumentées.
Redémarrez les services que vous souhaitez instrumenter.
Le SSI ajoute un léger délai de démarrage aux applications instrumentées. Si ce surcoût n'est pas acceptable pour votre cas d'utilisation, contactez
Datadog Support.
Installation d’un Datadog Agent existant
Si vous avez déjà un Datadog Agent installé, utilisez Fleet Automation pour activer le SSI.
Dans Datadog, accédez à Fleet Automation > Configuration.
Cliquez sur Configure Agents.
Appliquez des filtres pour sélectionner les agents que vous souhaitez configurer, puis cliquez sur Suivant.
Cliquez sur la tuile Application Performance Monitoring (APM), puis cliquez sur Next.
Dans l’écran Configure SDKs Installation, cliquez sur Yes pour installer automatiquement les SDK. Sélectionnez Use latest version, ou décochez pour spécifier des versions individuelles du SDK.
Cliquez sur Next.
Vérifiez votre configuration et cliquez sur Deploy Configuration.
Configurez les règles d’instrumentation.
Le SSI au niveau du host instrumente automatiquement toutes les applications Java sur le host et toutes les applications .NET exécutées dans IIS. Pour instrumenter les applications .NET exécutées en dehors d’IIS, vous devez définir une règle d’instrumentation qui les autorise. Vous pouvez également utiliser des règles d’instrumentation pour un contrôle granulaire sur les applications Java sur le host ou les applications .NET dans IIS qui sont instrumentées.
Vérifiez l’installation
Depuis une session PowerShell administrateur, confirmez que l’Agent est sain et que l’Agent APM est en cours d’exécution :
& "$env:ProgramFiles\Datadog\Datadog Agent\bin\agent.exe" status
Vérifiez la section APM Agent de la sortie.
Une fois que vos applications instrumentées reçoivent du trafic, confirmez que vos services apparaissent sur la APM Services page. S’ils n’apparaissent pas en quelques minutes, suivez le guide de dépannage SSI.
Les Unified Service Tags (USTs) appliquent des tags cohérents aux traces, aux métriques et aux logs, facilitant ainsi la navigation et la corrélation de vos données d’observabilité. Découvrez comment définir des UST pour les services Windows.
Activer les produits et fonctionnalités dépendants du SDK
Une fois que SSI a chargé le SDK Datadog dans vos applications et activé le traçage distribué, vous pouvez configurer des produits supplémentaires qui dépendent du SDK :
Note: All variables accept true or false. DD_PROFILING_ENABLED also accepts auto, which profiles only eligible processes and is recommended for SSI.
Pour activer des produits, définissez des variables d’environnement dans la configuration de votre application.
Options avancées
Définir des règles d’instrumentation
Les règles d'instrumentation ne sont pas prises en charge pour le
site Datadog sélectionné (
).
Les règles d'instrumentation (disponibles pour l'Agent v7.73+) s'appliquent uniquement à l'instrumentation à l'échelle du host. Elles ne sont pas prises en charge pour une installation IIS uniquement.
Les règles d’instrumentation vous permettent de contrôler quels processus sont automatiquement instrumentés par SSI sur les hosts Windows. Des règles sont requises pour instrumenter les applications .NET s’exécutant en dehors d’IIS. Elles sont également utiles pour un contrôle granulaire des applications Java sur le host ou des applications .NET dans IIS qui sont instrumentées.
Remarque : Vous pouvez utiliser Bits AI pour créer des règles d’instrumentation en langage naturel. Décrivez les processus que vous souhaitez instrumenter, et Bits AI génère la règle correspondante.
Pour configurer les règles d’instrumentation :
Dans Datadog, accédez à APM > Service Setup > Manage Instrumentation Rules.
Cliquez sur Add or Edit Rules.
Définissez les règles d’instrumentation :
- Cliquez sur Add New Rule, puis choisissez Allow Rule ou Block Rule pour spécifier si les processus correspondants doivent être instrumentés.
- Nommez votre règle.
- Ajoutez une ou plusieurs conditions. Consultez Définir les conditions de règle pour en savoir plus.
(Facultatif) Faites glisser et déposez les règles pour les réorganiser.
Remarque : Les règles sont évaluées dans l’ordre. Une fois qu’un processus correspond à une règle, les règles suivantes sont ignorées.
Définissez le comportement par défaut (autoriser ou bloquer) pour les processus qui ne correspondent à aucune règle.
Cliquez sur Next pour prévisualiser vos règles.
Cliquez sur Deploy Rules.
Si Remote Configuration est activé, les règles sont déployées sur chaque host et appliquées sur ceux pour lesquels SSI est activé dans un délai de 50 secondes. Sinon, cliquez sur Export pour exporter le fichier de configuration et l’appliquer manuellement à vos hosts.
Définir les conditions de règle
Chaque règle se compose d’une ou plusieurs conditions. Une condition comprend les éléments suivants :
- Attribute : La propriété de processus que la règle évalue.
- Operator : La logique de comparaison (
equals, not equals, prefix ou contains). - Value : Le texte ou le motif à faire correspondre, tel qu’un nom de processus ou un indicateur de ligne de commande.
Les attributs pris en charge incluent :
| Attribut | Description | Exemple |
|---|
| Système d’exploitation | OS du host. | windows |
| Exécutable | Nom de l’exécutable du processus. | w3wp.exe |
| Chemin complet de l’exécutable | Chemin complet de l’exécutable. | C:\Windows\System32\inetsrv\w3wp.exe |
| Arguments | Arguments de ligne de commande utilisés pour démarrer le processus. | --env=production |
| Répertoire de travail | Répertoire de travail du processus. | C:\inetpub\wwwroot |
| Langage | Langage de programmation détecté pour le processus. | dotnet |
| Fichier de point d’entrée | Le fichier spécifique utilisé pour lancer l’application. | MyService.dll, app.py |
| Pool d’applications IIS | Le pool d’applications IIS hébergeant le processus de travail. Comme tous les processus de travail IIS partagent l’exécutable w3wp.exe, c’est le moyen le plus fiable de cibler une application .NET spécifique sur IIS. | DefaultAppPool, MyWebApp |
Exemples de cas d’utilisation
Examinez les exemples suivants illustrant comment appliquer des règles d’instrumentation :
Instrumenter tous les processus par défaut. Ajoutez des règles de blocage pour exclure les services qui ajouteraient du bruit sans valeur ajoutée, tels que les jobs cron d'analyse et les processeurs de lots Java.
Bloquer toute instrumentation par défaut. Ajoutez des règles d'autorisation pour inclure des applications IIS spécifiques dans APM. Comme tous les processus de travail IIS partagent le
w3wp.exe exécutable, utilisez
IIS Application Pool pour identifier les applications cibles. Cette approche est utile pour les déploiements progressifs.
Supprimez l’instrumentation APM en une étape de votre Datadog Agent
Pour désactiver SSI pour .NET sur votre host, exécutez :
&"C:\Program Files\Datadog\Datadog Agent\bin\datadog-installer.exe" remove datadog-apm-library-dotnet
Dépannage
Si vous rencontrez des problèmes lors de l’activation de APM avec SSI, consultez le guide de dépannage SSI.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: