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,mysql2ouopenaisont chargés avant le démarrage de l'agent, l'instrumentation risque d'être incomplète. Pour les applications CommonJS, utilisez l'option-rpour 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Communication HTTP, RPC et réseau
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bases de données et ORM
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mise en cache et files d'attente de messages
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Frameworks de journalisation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Composants d'application IA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Métriques d'exécution Node.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.