The NodeJS agent only covers applications launched by the commands : ”> node index.js”, ”> keystone index.js”, etc… .
To monitor NodeJS applications, Nudge APM provides a probe composed of two integrated elements:
There are four steps to installing a probe on a NodeJS application:
From the Nudge APM main dashboard, click on the New application button.
Select the type of application environment and accept the terms and conditions.
Enter the characteristics of your application, taking care to select the type of application: NodeJS
Download the agent: from the application creation or setup screen, you’ll find a link to download the agent:
Unzip the NodeJS Agent as is into any folder, or create a new one beforehand.
⚠️Ne do not update NodeJS agent modules.
⚠️Ne do not run “npm install “ with the NodeJS Agent installed.
Configure the NodeJS Agent using the configurationAgentNodeJS.ini file.
⚠️Récupérez the application key provided by NUDGE when it was declared in the GUI, and paste its value in the [Nudge]app_id field.
⚠️The url for directing metrics to the NUDGE collector must be set to [Nudge]url.
⚠️The path from url to NUDGE in [Nudge]pathCollect field
[NodeJS]refreshLoadCPU CPU load calculation period.
[NodeJS]filterHeader lists the names of the headers to be retrieved in an array. If the array is empty, all request headers (OpenTelemetry) are retrieved.
[Drives]refreshScanDrives period between each disk metric measurement in minutes.
[NodeJS]sendUserConnectionString adds the user to the Connection String of a database. This information will be visible in the MAP tab of Nudge. To be checked by the client if this leads to security problems.
NodeJS]stackTraceLimit maximum number of lines that the stack JavaScript can send to the Nudge collector.
Other fields are present whose usefulness is oriented towards “functionality testing and agent fine-tuning “ pre-configured for optimum operation, such as:
[NodeJS]openttelemetry which allows you to disable (false) or enable (true) OpenTelemetry.
[NodeJS]profilerV8 to disable (false) or enable (true) the CPU-intensive profilerV8. Useful if only the tracing of query calls is required, it frees up CPU load and allows OpenTelemetry to trace faster.
NodeJS]recordProfiler allows you to save JSON files, raw data from the profilerV8, to disk.
NodeJS]recordCollecte allows you to save JSON files of raw OpenTelemetry data to disk.
⚠️ (Do not modify - false) [NodeJS]exposeGC interferes with the NodeJS Garbage Collector (not the same as the CLR for .NET).
⚠️ (Do not modify - true) [NodeJS]waitEndService waits for the OpenTelemetry closure of a service call (traceId) before sending it to the Nudge collector.
⚠️ (Do not modify - true) [Profiler]pointEntreeClientOnly returns to Nudge only the child stack of a service call.
⚠️ (Do not modify - 5000) [Profiler]refreshStopStartRecycling minimum period between each profilerV8 block to be merged with a OpenTelemetry customer service call.
⚠️ (Do not modify - false) [Console] displays information in the console.
⚠️ (Do not modify - comment) [Nudge]sessionId agent NodeJS startup session identifier.
⚠️ (Do not modify - 3600) [NodeJS]timeoutBufferTransaction time to retain the OpenTelemetry data of a traceId (transaction) before sending it to the Nudge collector.
⚠️ (Do not modify - 1000) [NodeJS]bufferSizeSpan number of Span (cf OpenTelemetry) retained for next agent version.
If your application launches without typing “node”, such as “keystone”, which does not include an injection switch. You can still launch agent_NodeJS by inserting the following line in your application’s entry point file.
require(“[.path of NodeJS agent]/Agent_Nudge.js”);
If you encounter any difficulties during installation, please do not hesitate to contact us: support@atakama-technologies.com