Hi there
I'm new to Elastic APM and I'm using ELK and App server 7.7. I've managed to get APM to talk to ELK.
I've been tasked to monitor Node.JS and I thought I'll start by simply monitoring a simple 'Hello World' code.
I'm using a simple code in app.js like so:
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
How do I get a Node JS agent to monitor this?
I have installed agent like so in an offline machine:
sudo npm install elastic-apm-node-3.6.1.tgz --save
I do not know if this is correct since I can't find any doc to show me how to install agent in an offline manner.
I have inserted the following code at the top of app.js:
// Add this to the VERY top of the first file loaded in your app
var apm = require('elastic-apm-node').start({
// Override service name from package.json
// Allowed characters: a-z, A-Z, 0-9, -, _, and space
serviceName: 'testApp',
// Use if APM Server requires a token
secretToken: '',
// Set custom APM Server URL (default: http://localhost:8200)
serverUrl: 'http://10.10.10.10:8200'
})
Again I do not know if this is correct since I'm not familiar with Node.JS and the doc seems to assume I have a fair grasp of it.
When I run "node app.js", I get the following error:
Error: Cannot find module 'elastic-apm-node'
at Function.Module._resolveFilename (module.js:476:15)
at Function.Module._load (module.js:424:25)
at Module.require (module.js:504:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/home/user/app.js:1:101)
at Module._compile (module.js:577:32)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
Again I do not know if this is even the correct way to insert code but I can't get any more clue out of the documentation.
Can anyone pls assist me? Any step by step instruction will be really helpful. Thanks.
ck