Simple, self-hosted module based on Socket.io and Chart.js to report realtime server metrics for Nest.js based node servers.
Demo can be found here
- Run
npm install nest-status-monitor --save - Setup module:
@Module({ imports: [StatusMonitorModule.setUp(statusMonitorConfig)],- Run server and go to
/status
- Run
npm install nest-status-monitor@0.0.3 --save - Setup module:
@Module({ imports: [StatusMonitorModule.setUp(statusMonitorConfig)],- Run server and go to
/status
- Go to
cd examples/test-status-monitor - Run
npm i - Run server
npm start - Go to
http://localhost:3001
Monitor can be configured by passing options object during initialization of module.
Default config:
pageTitle: 'Nest.js Monitoring Page', port: 3001, path: '/status', ignoreStartsWith: '/health/alive', spans: [ { interval: 1, // Every second retention: 60, // Keep 60 datapoints in memory }, { interval: 5, // Every 5 seconds retention: 60, }, { interval: 15, // Every 15 seconds retention: 60, } ], chartVisibility: { cpu: true, mem: true, load: true, responseTime: true, rps: true, statusCodes: true, }, healthChecks: []You can add a series of health checks to the configuration that will appear below the other stats. The health check will be considered successful if the endpoint returns a 200 status code.
// config healthChecks: [ { protocol: 'http', host: 'localhost', path: '/health/alive', port: 3001, }, { protocol: 'http', host: 'localhost', path: '/health/dead', port: 3001, }, ];MIT License © Ivan Vasiljevic
Forked from express-status-monitor

