Surveiller vos services et applications Node.js avec Application Insights
Application Insights surveille vos composants après déploiement pour détecter des problèmes de performances et autres. Vous pouvez utiliser Application Insights pour les services Node.js hébergés dans votre centre de données, dans les machines virtuelles et applications web Azure, et même dans d’autres clouds publics.
Pour recevoir, stocker et explorer vos données de supervision, incluez le SDK dans votre code. Configurez ensuite une ressource Application Insights correspondante dans Azure. Le kit de développement logiciel (SDK) envoie les données à cette ressource pour une analyse et une exploration plus approfondies.
La bibliothèque de client Node.js peut automatiquement analyser les requêtes HTTP entrantes et sortantes, les exceptions et certaines métriques du système. À partir de la version 0.20, la bibliothèque de client peut également analyser certains packages tiers courants, comme MongoDB, MySQL et Redis.
Tous les événements liés à une demande HTTP entrante sont mis en corrélation pour une résolution des problèmes plus rapide.
Vous pouvez utiliser l’API TelemetryClient pour instrumenter et surveiller manuellement des aspects supplémentaires de votre application et de votre système. L’API TelemetryClient est décrite plus en détail plus loin dans cet article.
Attention
Nous recommandons la Distribution OpenTelemetry Azure Monitor pour que les nouvelles applications ou les nouveaux clients alimentent Application Insights Azure Monitor. La Distribution OpenTelemetry Azure Monitor fournit une expérience et une fonctionnalité similaires à celle du Kit de développement logiciel (SDK) Application Insights. Il est possible de migrer à partir du Kit de développement logiciel (SDK) Application Insights en utilisant les guides de migration pour .NET, Node.js et Python, mais nous travaillons encore à l’ajout de quelques fonctionnalités supplémentaires pour la compatibilité descendante.
Démarrage
Terminez les tâches suivantes pour configurer la surveillance d’une application ou d’un service.
Prérequis
Avant de commencer, vérifiez que vous disposez d’un abonnement Azure ou obtenez-en un gratuitement. Si votre organisation possède déjà un abonnement Azure, un administrateur peut suivre ces instructions pour vous y ajouter.
Configurer une ressource Application Insights
- Connectez-vous au portail Azure.
- Créez une ressource Application Insights.
Notes
Le support de l’ingestion de clé d’instrumentation prendra fin le 31 mars 2025. L’ingestion de clé d’instrumentation continuera de fonctionner, mais nous ne fournirons plus de mises à jour ni de support pour la fonctionnalité. Passez aux chaînes de connexion pour tirer parti des nouvelles fonctionnalités.
Configurer la bibliothèque de client Node.js
Incluez le SDK dans votre application afin qu’il collecte des données.
Copiez la chaîne de connexion de votre ressource à partir de votre nouvelle ressource. Application Insights utilise la chaîne de connexion pour mapper des données à votre ressource Azure. Pour que le kit de développement logiciel (SDK) puisse utiliser votre chaîne de connexion, vous devez la spécifier dans une variable d’environnement ou dans votre code.
Ajoutez la bibliothèque de client Node.js aux dépendances de votre application via
package.json
. À partir du dossier racine de votre application, exécutez :npm install applicationinsights --save
Notes
Si vous utilisez TypeScript, n’installez pas de packages « typages » distincts. Ce package NPM contient de typages intégrés.
Chargez explicitement la bibliothèque dans votre code. Étant donné que le kit de développement logiciel (SDK) injecte l’instrumentation dans beaucoup d’autres bibliothèques, chargez-la dès que possible, même avant les autres instructions
require
.let appInsights = require('applicationinsights');
Vous pouvez également fournir une chaîne de connexion via la variable d’environnement
APPLICATIONINSIGHTS_CONNECTION_STRING
au lieu de la passer manuellement àsetup()
ounew appInsights.TelemetryClient()
. Cela vous permet de conserver des chaînes de connexion en dehors du code source validé, ainsi que de spécifier des chaînes de connexion différentes selon les environnements. Pour configurer manuellement, appelezappInsights.setup('[your connection string]');
.Pour des options de configuration supplémentaires, consultez les sections suivantes.
Vous pouvez essayer le kit de développement logiciel (SDK) sans envoyer de télémétrie en définissant
appInsights.defaultClient.config.disableAppInsights = true
.Commencez à collecter et à envoyer automatiquement des données en appelant
appInsights.start();
.
Notes
Dans le cadre de l’utilisation de l’instrumentation Application Insights, nous collectons et envoyons des données de diagnostic à Microsoft. Ces données nous permettent d’exécuter et d’améliorer Application Insights. Vous avez la possibilité de désactiver la collecte de données non essentielles. Plus d’informations
Surveiller votre application
Le Kit de développement logiciel (SDK) recueille automatiquement les données de télémétrie sur le runtime Node.js et certains modules tiers courants. Utilisez votre application pour générer certaines de ces données.
Ensuite, sur le Portail Azure, accédez à la ressource Application Insights que vous avez créée. Dans la Vue d’ensemble de la chronologie, cherchez vos premiers points de données. Pour voir plus de données détaillées, sélectionnez des composants différents dans les graphiques.
Pour visualiser la topologie découverte pour votre application, vous pouvez utiliser Cartographie d’application.
Pas de données
Comme le SDK regroupe par lots les données à envoyer, l’affichage des éléments dans le portail peut prendre un certain temps. Si les données n’apparaissent pas dans votre ressource, essayez ce qui suit :
- Continuez d’utiliser l’application. Prenez plus de mesures pour générer davantage de données de télémétrie.
- Sélectionnez Actualiser dans l’affichage des ressources du portail. Les graphiques s’actualisent périodiquement et automatiquement. Les actualiser manuellement les force à s’actualiser immédiatement.
- Vérifiez que les ports sortants requis sont ouverts.
- Utilisez la fonction Recherche pour chercher des événements spécifiques.
- Consultez les FAQ.
Utilisation de base
Pour la collecte des requêtes HTTP prêtes à l’emploi, les événements populaires de la bibliothèque tierce, les exceptions non gérées et les métriques du système :
let appInsights = require("applicationinsights");
appInsights.setup("[your connection string]").start();
Notes
Si la chaîne de connexion est définie dans la variable d’environnement APPLICATIONINSIGHTS_CONNECTION_STRING
, .setup()
peut être appelé sans argument. Cela facilite l’utilisation de différentes chaînes de connexion pour différents environnements.
Chargez la bibliothèque Application Insights require("applicationinsights")
le plus tôt possible dans vos scripts avant de charger d’autres packages. Cette étape est nécessaire pour que la bibliothèque Application Insights puisse préparer des packages ultérieurs pour le suivi. Si vous rencontrez des conflits avec d’autres bibliothèques en procédant à une préparation similaire, essayez de charger la bibliothèque Application Insights par la suite.
En raison de la façon dont JavaScript gère les rappels, un travail supplémentaire est nécessaire pour effectuer le suivi d’une requête sur les dépendances externes et les rappels ultérieurs. Par défaut, ce suivi supplémentaire est activé. Désactivez-le en appelant setAutoDependencyCorrelation(false)
comme décrit dans la section Configuration du SDK.
Migrer à partir de versions antérieures à 0.22
Il existe des changements cassants entre les versions antérieures à la version 0.22 et les versions ultérieures. Ces changements sont conçus pour apporter une cohérence avec d’autres Kits de développement logiciel (SDK) Application Insights et permettre une extensibilité future.
En général, vous pouvez migrer avec les actions suivantes :
- Remplacez les références à
appInsights.client
parappInsights.defaultClient
. - Remplacez les références à
appInsights.getClient()
parnew appInsights.TelemetryClient()
. - Remplacez tous les arguments des méthodes client.track* par un objet unique contenant des propriétés nommées en tant qu’arguments. Consultez les indications de type intégré de l’IDE ou TelemetryTypes pour l’objet exempté et pour chaque type de données de télémétrie.
Si vous accédez aux fonctions de configuration du SDK sans les chaîner à appInsights.setup()
, vous pouvez maintenant trouver ces fonctions dans appInsights.Configurations
. par exemple appInsights.Configuration.setAutoCollectDependencies(true)
. Passez en revue les modifications apportées à la configuration par défaut dans la section suivante.
Configuration du kit de développement logiciel (SDK)
L’objet appInsights
fournit de nombreuses méthodes de configuration. Elles sont répertoriées dans l’extrait de code suivant avec leurs valeurs par défaut.
let appInsights = require("applicationinsights");
appInsights.setup("<connection_string>")
.setAutoDependencyCorrelation(true)
.setAutoCollectRequests(true)
.setAutoCollectPerformance(true, true)
.setAutoCollectExceptions(true)
.setAutoCollectDependencies(true)
.setAutoCollectConsole(true)
.setUseDiskRetryCaching(true)
.setSendLiveMetrics(false)
.setDistributedTracingMode(appInsights.DistributedTracingModes.AI)
.start();
Pour mettre pleinement en corrélation les événements dans un service, veillez à définir .setAutoDependencyCorrelation(true)
. Lorsque cette option est définie, le kit de développement logiciel (SDK) peut effectuer le suivi de contexte entre les rappels asynchrones dans Node.js.
Passez en revue leurs descriptions dans les indications des types intégrés de l’IDE ou dans applicationinsights.ts pour obtenir des informations détaillées et des arguments secondaires facultatifs.
Notes
Par défaut setAutoCollectConsole
est configuré pour exclure les appels à console.log
et à d’autres méthodes de console. Seuls les appels aux enregistreurs d’événements tiers pris en charge (par exemple, Winston et Bunyan) sont collectés. Vous pouvez modifier ce comportement pour inclure des appels aux méthodes console
à l’aide de setAutoCollectConsole(true, true)
.
échantillonnage
Par défaut, le Kit de développement logiciel (SDK) envoie toutes les données collectées au service Application Insights. Si vous souhaitez activer l’échantillonnage afin de réduire la quantité de données, définissez le champ samplingPercentage
sur l’objet config
d’un client. Définir samplingPercentage
sur 100 (la valeur par défaut) signifie que toutes les données seront envoyées ; le définir sur 0 signifie que rien ne sera envoyé.
Si vous utilisez la corrélation automatique, toutes les données associées à une requête unique sont incluses ou exclues en tant qu’unité.
Ajoutez du code tel que le suivant pour activer l’échantillonnage :
const appInsights = require("applicationinsights");
appInsights.setup("<connection_string>");
appInsights.defaultClient.config.samplingPercentage = 33; // 33% of all telemetry will be sent to Application Insights
appInsights.start();
Plusieurs rôles pour les applications à composants multiples
Dans certains scénarios, votre application peut consister en plusieurs composants que vous voulez instrumenter avec la même chaîne de connexion. Vous voulez néanmoins toujours voir ces composants comme des unités distinctes dans le portail, comme s’ils utilisaient des chaînes de connexion distinctes. Ce serait par exemple le cas de nœuds distincts sur Cartographie d’application. Vous devez configurer manuellement le champ RoleName
pour distinguer la télémétrie d’un composant des autres composants qui envoient des données à votre ressource Application Insights.
Utilisez le code suivant pour définir le champ RoleName
:
const appInsights = require("applicationinsights");
appInsights.setup("<connection_string>");
appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.cloudRole] = "MyRoleName";
appInsights.start();
Chargeur du Kit de développement logiciel (SDK) du navigateur
Remarque
Disponible en préversion publique. Conditions d’utilisation supplémentaires pour les préversions de Microsoft Azure
L’instrumentation web automatique peut être activée pour le serveur de nœud via l’injection de script du Loader SDK JavaScript (web) par configuration.
let appInsights = require("applicationinsights");
appInsights.setup("<connection_string>")
.enableWebInstrumentation(true)
.start();
ou en définissant la variable d’environnement APPLICATIONINSIGHTS_WEB_INSTRUMENTATION_ENABLED = true
.
L’instrumentation web est activée sur des réponses du serveur de nœud une fois toutes les conditions suivantes remplies :
- La réponse a un code d’état
200
. - La méthode de réponse est
GET
. - La réponse du serveur présente un html
Content-Type
. - La réponse de serveur contient à la fois les balises
<head>
et</head>
. - Si la réponse est compressée, elle ne doit avoir qu’un seul type
Content-Encoding
et le type d’encodage doit être un degzip
,br
oudeflate
. - La réponse ne contient aucun point de terminaison CDN d’instrumentation web /backup actuels. (points de terminaison CDN d’instrumentation web actuels et de sauvegarde ici)
Un point de terminaison CDN d’instrumentation web peut être modifié en définissant la variable d’environnement APPLICATIONINSIGHTS_WEB_INSTRUMENTATION_SOURCE = "web Instrumentation CDN endpoints"
.
Une chaîne de connexion d’instrumentation web peut être modifiée en définissant une variable d’environnement APPLICATIONINSIGHTS_WEB_INSTRUMENTATION_CONNECTION_STRING = "web Instrumentation connection string"
Notes
L’instrumentation web peut ralentir le temps de réponse du serveur, en particulier si la taille de la réponse est élevée ou si la réponse est compressée. Dans le cas où certaines couches intermédiaires sont appliquées, il est possible que l’instrumentation web ne fonctionne pas et que la réponse d’origine soit retournée.
Instrumentation tierce automatique
Pour suivre le contexte entre les appels asynchrones, certaines modifications sont nécessaires dans les bibliothèques de tiers, comme MongoDB et Redis. Par défaut, Application Insights utilisera diagnostic-channel-publishers
afin de créer des MonkeyPatch pour certaines de ces bibliothèques. Cette fonctionnalité peut être désactivée en définissant la variable d’environnement APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL
.
Notes
En définissant cette variable d’environnement, les événements peuvent ne plus être associés correctement à l’opération appropriée.
Les MonkeyPatch individuels peuvent être désactivés en définissant la variable d’environnement APPLICATION_INSIGHTS_NO_PATCH_MODULES
sur une liste séparée par des virgules de packages à désactiver. Par exemple, utilisez APPLICATION_INSIGHTS_NO_PATCH_MODULES=console,redis
pour éviter la mise à jour corrective des packages console
et redis
.
Il y a actuellement neuf packages instrumentés : bunyan
, console
, mongodb
, mongodb-core
, mysql
, redis
, winston
, pg
et pg-pool
. Pour plus d’informations sur la version exacte de ces packages corrigés, consultez le fichier README de diagnostic-channel-publishers.
Les correctifs bunyan
, winston
et console
génèrent des événements de suivi Application Insights selon si setAutoCollectConsole
est activé ou non. Le reste génère des événements de dépendance Application Insights selon si setAutoCollectDependencies
est activé ou non.
Mesures actives
Pour activer l’envoi de métriques en temps réel de votre application vers Azure, utilisez setSendLiveMetrics(true)
. Le filtrage des métriques en temps réel dans le portail n’est actuellement pas pris en charge.
Métriques étendues
Notes
La possibilité d’envoyer des métriques natives étendues a été ajoutée dans la version 1.4.0.
Pour activer l’envoi de métriques natives étendues de votre application vers Azure, installez le package de métriques natives distinct. Une fois installé, le kit de développement logiciel (SDK) se charge automatiquement et démarre la collecte des métriques natives de Node.js.
npm install applicationinsights-native-metrics
Actuellement, le package de métriques natives effectue la collecte automatique du temps processeur du nettoyage de la mémoire, des cycles de boucle d’événements et de l’utilisation du tas :
- Nettoyage de la mémoire : La quantité de temps processeur passée sur chaque type de nettoyage de la mémoire, et le nombre d’occurrences de chaque type.
- Boucle d’événements : Le nombre de cycles qui se sont produits et le temps processeur passé au total.
- Avec ou sans tas : La quantité de mémoire de votre application utilisée avec ou sans le tas.
Modes de suivi distribué
Par défaut, le SDK envoie des en-têtes comprises par d’autres applications/services instrumentés avec un SDK Application Insights. Vous pouvez activer l’envoi et la réception d’en-têtes de contexte de trace W3C en plus des en-têtes AI existants. De cette façon, vous ne rompez pas la corrélation avec vos services hérités existants. L’activation des en-têtes W3C permettra à votre application de se mettre en corrélation avec d’autres services qui ne sont pas instrumentés avec Application Insights mais adoptant ce standard W3C.
const appInsights = require("applicationinsights");
appInsights
.setup("<your connection string>")
.setDistributedTracingMode(appInsights.DistributedTracingModes.AI_AND_W3C)
.start()
API TelemetryClient
Pour une description complète de l’API TelemetryClient, consultez API Application Insights pour les événements et les mesures personnalisés.
Vous pouvez suivre les requêtes, les événements, les métriques ou les exceptions à l’aide de la bibliothèque de client Application Insights pour Node.js. L’exemple de code suivant présente certaines des API que vous pouvez utiliser :
let appInsights = require("applicationinsights");
appInsights.setup().start(); // assuming connection string in env var. start() can be omitted to disable any non-custom data
let client = appInsights.defaultClient;
client.trackEvent({name: "my custom event", properties: {customProperty: "custom property value"}});
client.trackException({exception: new Error("handled exceptions can be logged with this method")});
client.trackMetric({name: "custom metric", value: 3});
client.trackTrace({message: "trace message"});
client.trackDependency({target:"http://dbname", name:"select customers proc", data:"SELECT * FROM Customers", duration:231, resultCode:0, success: true, dependencyTypeName: "ZSQL"});
client.trackRequest({name:"GET /customers", url:"http://myserver/customers", duration:309, resultCode:200, success:true});
let http = require("http");
http.createServer( (req, res) => {
client.trackNodeHttpRequest({request: req, response: res}); // Place at the beginning of your request handler
});
Suivre les dépendances
Utilisez le code suivant pour effectuer le suivi de vos dépendances :
let appInsights = require("applicationinsights");
let client = new appInsights.TelemetryClient();
var success = false;
let startTime = Date.now();
// execute dependency call here....
let duration = Date.now() - startTime;
success = true;
client.trackDependency({target:"http://dbname", name:"select customers proc", data:"SELECT * FROM Customers", duration:duration, resultCode:0, success: true, dependencyTypeName: "ZSQL"});;
Un exemple d’utilitaire utilisant trackMetric
pour mesurer le temps nécessaire à la planification de la boucle d’événements :
function startMeasuringEventLoop() {
var startTime = process.hrtime();
var sampleSum = 0;
var sampleCount = 0;
// Measure event loop scheduling delay
setInterval(() => {
var elapsed = process.hrtime(startTime);
startTime = process.hrtime();
sampleSum += elapsed[0] * 1e9 + elapsed[1];
sampleCount++;
}, 0);
// Report custom metric every second
setInterval(() => {
var samples = sampleSum;
var count = sampleCount;
sampleSum = 0;
sampleCount = 0;
if (count > 0) {
var avgNs = samples / count;
var avgMs = Math.round(avgNs / 1e6);
client.trackMetric({name: "Event Loop Delay", value: avgMs});
}
}, 1000);
}
Ajouter une propriété personnalisée à tous les événements
Utilisez le code suivant pour ajouter une propriété personnalisée à tous les événements :
appInsights.defaultClient.commonProperties = {
environment: process.env.SOME_ENV_VARIABLE
};
Suivre les demandes HTTP GET
Utilisez le code suivant pour effectuer le suivi manuel des demandes HTTP GET :
Notes
- Toutes les demandes sont suivies par défaut. Pour désactiver la collecte automatique, appelez
.setAutoCollectRequests(false)
avant d’appelerstart()
. - Les requêtes API de récupération natives ne sont pas automatiquement suivies par Application Insights classique ; un suivi manuel des dépendances est nécessaire.
appInsights.defaultClient.trackRequest({name:"GET /customers", url:"http://myserver/customers", duration:309, resultCode:200, success:true});
Vous pouvez aussi suivre les requêtes en utilisant la méthode trackNodeHttpRequest
:
var server = http.createServer((req, res) => {
if ( req.method === "GET" ) {
appInsights.defaultClient.trackNodeHttpRequest({request:req, response:res});
}
// other work here....
res.end();
});
Suivre le temps de démarrage du serveur
Utilisez le code suivant pour effectuer le suivi du temps de démarrage du serveur :
let start = Date.now();
server.on("listening", () => {
let duration = Date.now() - start;
appInsights.defaultClient.trackMetric({name: "server startup time", value: duration});
});
Purge
Par défaut, la télémétrie est mise en mémoire tampon pendant 15 secondes avant d’être envoyée au serveur d’ingestion. Si votre application a une durée de vie courte, par exemple un outil CLI, il peut être nécessaire de vider manuellement votre télémétrie mise en mémoire tampon quand l’application se termine en utilisant appInsights.defaultClient.flush()
.
Si le SDK détecte un blocage de votre application, il appelle la fonction de vidage en utilisant appInsights.defaultClient.flush({ isAppCrashing: true })
. Avec l’option de vidage isAppCrashing
, votre application est présumée être dans un état anormal, non adapté à l’envoi de la télémétrie. Au lieu de cela, le kit de développement logiciel (SDK) enregistre toutes les données de télémétrie en mémoire tampon dans un stockage persistant et permet la fermeture de votre application. Lors du redémarrage de votre application, celle-ci tente d’envoyer toutes les données de télémétrie sauvegardées sur le stockage persistant.
Prétraiter des données avec des processeurs de télémétrie
Vous pouvez traiter et filtrer les données collectées avant leur envoi pour les conserver en utilisant des processeurs de télémétrie. Les processeurs de télémétrie sont appelés un par un dans l’ordre dans lequel ils ont été ajoutés avant l’envoi de l’élément de télémétrie vers le cloud.
public addTelemetryProcessor(telemetryProcessor: (envelope: Contracts.Envelope, context: { http.RequestOptions, http.ClientRequest, http.ClientResponse, correlationContext }) => boolean)
Si un processeur de télémétrie renvoie false
, cet élément de télémétrie ne sera pas envoyé.
Tous les processeurs de télémétrie reçoivent des données de télémétrie et leur enveloppe à inspecter et à modifier. Ils reçoivent également un objet de contexte. Le contenu de cet objet est défini par le paramètre contextObjects
lors de l’appel d’une méthode de suivi pour la télémétrie suivie manuellement. Pour les données de télémétrie collectées automatiquement, cet objet est rempli avec les informations de requête disponibles et le contenu des requêtes persistantes, tel qu’il est fourni par appInsights.getCorrelationContext()
(si la corrélation de dépendance automatique est activée).
Le type de TypeScript pour un processeur de télémétrie est le suivant :
telemetryProcessor: (envelope: ContractsModule.Contracts.Envelope, context: { http.RequestOptions, http.ClientRequest, http.ClientResponse, correlationContext }) => boolean;
Par exemple, un processeur qui supprime les données de trace des exceptions peut être écrit et ajouté comme suit :
function removeStackTraces ( envelope, context ) {
if (envelope.data.baseType === "Microsoft.ApplicationInsights.ExceptionData") {
var data = envelope.data.baseData;
if (data.exceptions && data.exceptions.length > 0) {
for (var i = 0; i < data.exceptions.length; i++) {
var exception = data.exceptions[i];
exception.parsedStack = null;
exception.hasFullStack = false;
}
}
}
return true;
}
appInsights.defaultClient.addTelemetryProcessor(removeStackTraces);
Utiliser plusieurs chaînes de connexion
Vous pouvez créer plusieurs ressources Application Insights et envoyer différentes données à chacune d’entre elles à l’aide de leurs chaînes de connexion respectives.
Par exemple :
let appInsights = require("applicationinsights");
// configure auto-collection under one connection string
appInsights.setup("Connection String A").start();
// track some events manually under another connection string
let otherClient = new appInsights.TelemetryClient("Connection String B");
otherClient.trackEvent({name: "my custom event"});
Options de configuration avancées
L’objet client contient une propriété config
avec de nombreux paramètres facultatifs pour les scénarios avancés. Pour les définir, utilisez :
client.config.PROPERTYNAME = VALUE;
Ces propriétés étant spécifiques au client, vous pouvez configurer appInsights.defaultClient
séparément des clients créés avec new appInsights.TelemetryClient()
.
Propriété | Description |
---|---|
connectionString | Un identificateur pour votre ressource Application Insights. |
endpointUrl | Le point de terminaison d’ingestion auquel envoyer les charges utiles de télémétrie. |
quickPulseHost | L’hôte Flux de métriques temps réel auquel envoyer la télémétrie des métriques en temps réel. |
proxyHttpUrl | Serveur proxy pour le trafic HTTP du SDK. (Facultatif. La valeur par défaut est extraite de la variable d’environnement http_proxy .) |
proxyHttpsUrl | Serveur proxy pour le trafic HTTPS du SDK. (Facultatif. La valeur par défaut est extraite de la variable d’environnement https_proxy .) |
httpAgent | Agent HTTP à utiliser pour le trafic HTTP du SDK. (Facultatif. La valeur par défaut n’est pas définie.) |
httpsAgent | Agent HTTPS à utiliser pour le trafic HTTPS du SDK. (Facultatif. La valeur par défaut n’est pas définie.) |
maxBatchSize | Le nombre maximal d’éléments de télémétrie à inclure dans une charge utile pour le point de terminaison d’ingestion. (La valeur par défaut est 250 .) |
maxBatchIntervalMs | Délai d’attente maximal pour qu’une charge utile atteigne maxBatchSize. (La valeur par défaut est 15000 .) |
disableAppInsights | Indicateur spécifiant si la transmission de la télémétrie est désactivée. (La valeur par défaut est false .) |
samplingPercentage | Le pourcentage d’éléments de télémétrie suivis qui doivent être transmis. (La valeur par défaut est 100 .) |
correlationIdRetryIntervalMs | Délai d’attente avant une nouvelle tentative de récupération de l’ID pour la corrélation entre composants. (La valeur par défaut est 30000 .) |
correlationHeaderExcludedDomains | Liste des domaines à exclure de l’injection d’en-tête de corrélation entre composants. (Valeur par défaut. Voir Config.ts.) |
Forum aux questions
Comment puis-je désactiver la corrélation des données de télémétrie ?
Pour désactiver la corrélation des données de télémétrie, utilisez la propriété correlationHeaderExcludedDomains
dans une configuration. Pour découvrir plus d’informations, consultez ApplicationInsights-node.js.
Dépannage
Pour des informations sur la résolution des problèmes, notamment les scénarios « aucune donnée » et la personnalisation des journaux, consultez Résoudre les problèmes liés à l’analyse Application Insights des applications et services Node.js.