Add a standardized monitoring endpoint to your application. Especially useful for adding monitoring to services that do not expose an HTTP interface.
Simply initialize the monitor when your application starts up:
const Monitor = require('micro-monitor') let monitor = Monitor(9999, () => { // do something now that monitoring is running })http://0.0.0.1:9999/_monitor/statusis now available, and will respond with a200status and status object:
{ "pid": 42176, "uptime": 0.796, "rss": { "rss": 53907456, "heapTotal": 37728256, "heapUsed": 26032248 }, "cmdline": [ "/Users/benjamincoe/.nvm/versions/node/v7.1.0/bin/node", "/Users/benjamincoe/npm-inc/micro-monitor/node_modules/mocha/bin/_mocha", "test.js" ], "git": "b0c57aa" }http://0.0.0.1:9999/_monitor/pingis also available and will respond with status200and the textpong.
You can customize the status information returned using contribute:
- monitor.contribute(contributor): contribute additional information to the status object returned on
/_monitor/status.contributor: a function returning the object to supplement the status object with.
When the monitor is first started, it will attempt to pull the commit hash for the current project by performing a git rev-parse. If you wish to supply your own value for the git field, set the BUILD_HASH environment variable.
You can halt the monitor using stop:
- monitor.stop() ⇒
Promise: halt the monitorclose: a function returning a Promise which is resolved once the monitor server has halted.
ISC