UNPKG

micro-monitor

Version:

add a monitoring endpoint to your node background services

72 lines (52 loc) 2.02 kB
# Micro Monitor [![Build Status](https://img.shields.io/travis/npm/micro-monitor/master.svg)](https://travis-ci.org/npm/micro-monitor) [![Coverage Status](https://coveralls.io/repos/npm/micro-monitor/badge.svg?branch=master)](https://coveralls.io/r/npm/micro-monitor?branch=master) Add a standardized monitoring endpoint to your application. Especially useful for adding monitoring to services that do not expose an HTTP interface. ## Basic Usage Simply initialize the monitor when your application starts up: ```js 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: ```json { "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`. ## Customizing Status Information 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. ## Configuration 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. ## Shutdown You can halt the monitor using `stop`: * **monitor.stop() ⇒ `Promise`**: halt the monitor * `close`: a function returning a Promise which is resolved once the monitor server has halted. ## License ISC