Tous les produits
Search
Centre de documentation

Application Real-Time Monitoring Service:Composants et frameworks Node.js pris en charge par ARMS Application Monitoring

Dernière mise à jour :Aug 10, 2026

Une fois l'agent Node.js d'ARMS Application Monitoring installé, il instrumente automatiquement les frameworks et composants pris en charge au démarrage. Il collecte ainsi les traces de requêtes, la latence des appels, les erreurs, les accès aux bases de données, les appels de messagerie, la corrélation entre les journaux et les traces, les métriques d'exécution ainsi que les traces d'appels IA.

Prérequis

  • Node.js 14.x ou version ultérieure (recommandé). Pour les composants liés à l'IA et les scénarios utilisant ESM Loader, utilisez Node.js 16 ou une version ultérieure. Pour les environnements de production, privilégiez Node.js 18 ou Node.js 20 LTS.

  • L'agent Node.js ARMS est installé.

    npm install @loongsuite/cms_node_sdk
  • L'agent doit se charger avant vos frameworks et composants applicatifs. Si des modules tels que express, mysql2 ou openai sont chargés avant le démarrage de l'agent, l'instrumentation risque d'être incomplète. Pour les applications CommonJS, utilisez l'option -r pour précharger l'agent. Pour les applications ESM, optez pour l'approche Loader.

    node -r @loongsuite/cms_node_sdk/register app.js
    node --experimental-loader=@loongsuite/cms_node_sdk/import-hooks app.mjs

Comportement de l'instrumentation

Pour les modules intégrés à Node.js, les métriques d'exécution et l'instrumentation basée sur le canal de diagnostic, l'agent n'applique aucun filtre selon la version du package npm. L'instrumentation dépend plutôt de la version du runtime Node.js et de la capacité du module à exposer un point d'entrée collectable.

Si un framework ne figure pas dans la liste ci-dessous mais qu'il utilise des modules intégrés à Node.js tels que http, https, undici ou net, l'agent peut tout de même collecter des traces de base pour les entrées ou sorties. Les fonctionnalités spécifiques au framework, telles que le routage, les intergiciels (middleware), les agents et les outils, nécessitent une instrumentation dédiée.

Frameworks Web


Composant ou framework


Package npm


Versions prises en charge


Données collectées


Express


express


>=4.0.0 <6.0.0


Traces d'entrée HTTP, informations de routage, exécution des intergiciels et des gestionnaires, ainsi que les messages d'erreur


Koa


koa


>=2.0.0 <4.0.0


Traces d'entrée HTTP, exécution des intergiciels, informations de routage et messages d'erreur


Socket.IO


socket.io


2.x, >=3.0.0 <5.0.0


Envoi et réception d'événements, namespaces, diffusion en salle (room broadcasting), latence des messages et messages d'erreur

Communication HTTP, RPC et réseau


Composant ou module


Package npm


Versions prises en charge


Données collectées


Node.js HTTP


http, https


Module intégré à Node.js


Entrées serveur HTTP, sorties client HTTP, codes de statut, latence des requêtes, tailles des requêtes et des réponses, ainsi que les messages d'erreur


Undici


undici


Aucune plage semver fixe


Requêtes client HTTP, codes de statut, latence et messages d'erreur collectés via le canal de diagnostic


gRPC


@grpc/grpc-js


>=1.0.0 <2.0.0


Appels client et serveur gRPC, service et méthode, codes de statut, latence et messages d'erreur


DNS


dns, dns/promises


Module intégré à Node.js


Appels de recherche DNS, latence de résolution et messages d'erreur


Socket TCP/Unix


net


Module intégré à Node.js


Connexions TCP et socket Unix, adresses de destination, ports et erreurs de connexion

Bases de données et ORM


Composant ou framework


Package npm


Versions prises en charge


Données collectées


MySQL


mysql


>=2.0.0 <3.0.0


Traces d'appels SQL, instructions SQL, informations de connexion, requêtes lentes et messages d'erreur


MySQL2


mysql2


>=1.4.2 <4.0.0


Traces d'appels SQL, opérations query et execute, instructions SQL, informations de connexion, requêtes lentes et messages d'erreur


PostgreSQL


pg


>=8.0.3 <9.0.0


Traces d'appels SQL, instructions SQL, informations de connexion, requêtes lentes et messages d'erreur


Pool PostgreSQL


pg-pool


>=2.0.0 <4.0.0


Appels de connexion au pool de connexions et informations complémentaires sur les traces d'accès à la base de données


MongoDB


mongodb


>=3.3.0 <4.0.0, >=4.0.0 <7.0.0


Commandes MongoDB, collections, noms de base de données, informations de connexion, latence et messages d'erreur


Mongoose


mongoose


>=5.9.7 <9.0.0


Appels Model, Query et Aggregate, informations sur les collections, opérations de base de données, latence et messages d'erreur

Mise en cache et files d'attente de messages


Composant ou framework


Package npm


Versions prises en charge


Données collectées


Redis


redis


>=2.6.0 <4.0.0


Commandes Redis, informations de connexion, latence des appels et messages d'erreur


Client Node Redis


@redis/client, @node-redis/client


>=1.0.0 <2.0.0, >=5.0.0 <6.0.0


Commandes client Redis v4 et v5, commandes multiples, informations de connexion, latence des appels et messages d'erreur


ioredis


ioredis


>=2.0.0 <6.0.0


Commandes Redis, informations de connexion, latence des appels et messages d'erreur


KafkaJS


kafkajs


>=0.3.0 <3.0.0


Appels producteur et consommateur Kafka, topics, latence d'envoi et de réception des messages, ainsi que les messages d'erreur

Frameworks de journalisation


Composant ou framework


Package npm


Versions prises en charge


Données collectées


Pino


pino


>=7.0.0 <11.0.0


Injection du champ de corrélation de trace dans les journaux


Winston


winston


>=3.0.0 <4.0.0


Injection du champ de corrélation de trace dans les journaux


Bunyan


bunyan


>=1.8.0 <3.0.0


Injection du champ de corrélation de trace dans les journaux


Console


console


Objet global Node.js


Injection du champ de corrélation de trace dans console.log, console.info, console.warn et console.error

Composants d'application IA


Composant ou framework


Package npm


Versions prises en charge


Données collectées


OpenAI Node SDK


openai


>=4.0.0 <6.0.0


Appels Chat, Completion et Image, informations sur le modèle, utilisation des jetons, appels en streaming et messages d'erreur


LangChain JS


@langchain/core, langchain


Aucune plage semver fixe. Dépend de la disponibilité des points d'entrée de module tels que @langchain/core/callbacks/manager.


Traces d'exécution Chain, LLM, Tool, Retriever et Embedding, utilisation des jetons et messages d'erreur


LangGraph


@langchain/langgraph


Aucune plage semver fixe. Dépend de la disponibilité des points d'entrée de module tels que @langchain/langgraph/prebuilt et @langchain/langgraph/pregel.


Agent ReAct, flux Pregel, métadonnées Agent et Step, permettant de former des traces Agent complètes en collaboration avec l'instrumentation LangChain


Vercel AI SDK


ai


>=4.0.0 <7.0.0


Traces d'appels generateText, streamText, generateObject, streamObject, Tool, Embedding, Rerank et Agent


Anthropic Claude Agent SDK


@anthropic-ai/claude-agent-sdk


>=0.3.0 <1.0.0


Appels query et startup, exécutions d'agent, requêtes de modèle, appels d'outil, informations de session, utilisation des jetons et messages d'erreur

Métriques d'exécution Node.js


Catégorie de métrique


Cible de collecte


Données collectées


Boucle d'événements


Boucle d'événements Node.js


Délai de la boucle d'événements, utilisation de la boucle d'événements et autres métriques


V8


Moteur V8


Mémoire heap, nombre de GC, latence GC, utilisation de l'espace heap et autres métriques


Processus


Processus Node.js


CPU, mémoire, métriques liées aux threads, changements de contexte et autres métriques de processus

Configuration

Toutes les instrumentations intégrées sont activées par défaut. Vous pouvez les ajuster par application dans la console ARMS ou via le champ instrumentations lors de l'initialisation du SDK.

L'exemple suivant configure le champ instrumentations :

const { NodeSDK } = require('@loongsuite/cms_node_sdk');

const sdk = new NodeSDK({
  serviceName: 'your-app-name',
  licenseKey: 'your-license-key',
  regionId: 'cn-hangzhou',
  instrumentations: {
    mysql2: {
      enabled: true
    },
    openai: {
      enabled: true
    },
    vercel_ai: {
      enabled: true
    },
  },
});

sdk.start();

Clés de configuration courantes :


Catégorie


Clés de configuration


HTTP et réseau


http, undici, grpc, dns, net


Frameworks Web


express, koa, socketio


Bases de données


mysql, mysql2, pg, mongodb, moogoose*


Mise en cache et messagerie


redis, ioredis, kafka


Journalisation


pino, winston, bunyan, console


IA


openai, langchain, langgraph, vercel_ai, claude_agent


Exécution


runtime

Remarque

La clé de configuration pour Mongoose est moogoose, et non mongoose. Il s'agit d'un nom de clé connu au niveau du code. Le composant Mongoose s'affiche sous la forme mongoose dans les contextes destinés aux utilisateurs. Si vous configurez explicitement l'activation de l'instrumentation Mongoose dans le code, utilisez moogoose.

Remarques d'utilisation

  • Les composants IA peuvent collecter le contenu du corps des requêtes, tels que les prompts, les réponses et les entrées/sorties des outils. En production, configurez les politiques de collecte et les limites de longueur maximales en fonction de vos exigences de conformité.

  • Pour les composants non répertoriés, l'agent peut toujours collecter des traces de base via l'instrumentation sous-jacente des clients HTTP, RPC ou de base de données, mais les champs sémantiques spécifiques au framework et les capacités de vue ne sont pas garantis.

  • Les plages de versions des composants sont mises à jour à chaque publication de l'agent. Après une mise à niveau, consultez la documentation et les notes de version pour vérifier la prise en charge des versions actualisée.