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/status is now available, and will
respond with a 200 status 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/ping is also available and will respond with
status 200 and the text pong.You can customize the status information returned using contribute:
/_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:
Promise: halt the monitor
close: a function returning a Promise which is resolved once the
monitor server has halted.ISC