L’agent NodeJS couvre uniquement les applications lancées par les commandes : ”> node index.js”, ”> keystone index.js”, etc… .
Pour monitorer les applications NodeJS, Nudge APM met à disposition une sonde composée de deux éléments intégrés:
L’installation d’une sonde sur une application NodeJS se fait en quatre étapes :
À partir du tableau de bord principale de Nudge APM, cliquez sur le bouton Nouvelle application
Sélectionnez le type d’environnement de l’application et acceptez les CGU
Renseignez les caractéristiques de votre application en prenant soin de bien sélectioner le type d’application : NodeJS
Téléchargez l’agent : à partir de l’écran de création ou de paramétrage d’une application, vous disposez d’un lien permettant de télécharger l’agent :
Dézippez l’Agent NodeJS tel quel dans un dossier quelconque ou créez en un auparavant.
⚠️Ne pas mettre à jour les modules de l’agent NodeJS.
⚠️Ne pas lancer “npm install” avec l’agent NodeJS installé.
Configurez l’Agent NodeJS via le fichier configurationAgentNodeJS.ini.
⚠️Récupérez la clé de l’application fournit par NUDGE lors de sa déclaration dans l’IHM et collez sa valeur dans le champs [Nudge]app_id
⚠️L’url pour diriger les métriques vers le collecteur de NUDGE doit être valorisé au champs [Nudge]url
⚠️Le chemin de l’url à NUDGE au champs [Nudge]pathCollect
[NodeJS]refreshLoadCPU période de calcul de charge CPU.
[NodeJS]filterHeader liste dans un tableau le nom des headers à remonter. Si le tableau est vide, tous les headers des requêtes (OpenTelemetry) remontent.
[Drives]refreshScanDrives période entre chaque mesures concernant des métriques Disques en minutes.
[NodeJS]sendUserConnectionString ajoute le user dans la Connection String d’une base de donnée. Cette information sera visible dans l’onglet MAP de Nudge. A vérifier par le client si cela entraine des problèmes de sécurité.
[NodeJS]stackTraceLimit nombre de ligne maximum que la stack JavaScript remonte vers le collecteur Nudge.
D’autres champs sont présents dont l’utilité et orienté “tests de fonctionnalités et mise au point de l’agent” pré paramétré pour un fonctionnement optimum comme:
[NodeJS]openttelemetry qui permet de désactiver (false) ou d’activer (true) OpenTelemetry.
[NodeJS]profilerV8 qui permet de désactiver (false) ou d’activer (true) le profilerV8 consommateur de ressources CPU. Utile si seul le traçage des appels de requêtes sont nécessaires cela libère de la charge CPU et permet à OpenTelemetry de tracer plus rapidement.
[NodeJS]recordProfiler autorise l’enregistrement sur disque des fichiers JSON, de données brutes du profilerV8.
[NodeJS]recordCollecte autorise l’enregistrement sur disque des fichiers JSON, de données brutes OpenTelemetry.
⚠️ (Ne pas modifier - false) [NodeJS]exposeGC permet d’interférer avec le Garbage Collecteur de NodeJS (pas le même que celui du CLR pour .NET).
⚠️ (Ne pas modifier - true) [NodeJS]waitEndService attend la clôture de OpenTelemetry d’un appel de service (traceId) avant de l’envoyer vers le collecteur Nudge.
⚠️ (Ne pas modifier - true) [Profiler]pointEntreeClientOnly renvoie dans Nudge uniquement la stack enfant d’un appel service.
⚠️ (Ne pas modifier - 5000) [Profiler]refreshStopStartRecyclage période minimale entre chaque bloc de profilerV8 à merger avec un appel de service client OpenTelemetry.
⚠️ (Ne pas modifier - false) [Console] affiche des informations dans la console.
⚠️ (Ne pas modifier - en commentaire) [Nudge]sessionId identifiant de session de démarrage de l’agent NodeJS.
⚠️ (Ne pas modifier - 3600) [NodeJS]timeoutBufferTransaction temps de rétention des données OpenTelemetry d’un traceId (transaction) avant l’envoie vers le collecteur Nudge.
⚠️ (Ne pas modifier - 1000) [NodeJS]bufferSizeSpan nombre de Span (cf OpenTelemetry) en rétention en vu de la Version suivante de l’agent.
Si votre application se lance sans taper “node” comme par exemple “keystone” ne comportant pas de commutateur d’injection. Il est toujours possible de lancer l’agent_NodeJS en insérant la ligne suivante dans le fichier point d’entrée de votre application.
require(“[.chemin de l’agent NodeJS]/Agent_Nudge.js”);
Si vous rencontrez des difficultés lors de l’installation n’hésitez pas à nous contactez: support@atakama-technologies.com