Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including health with all npm packages installed. Try it out:

var health = require("health")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

health v0.3.0

Resource status monitoring library.


Build Status Dependencies Status Coverage Status Published Version
npm Badge


Health is a resource status monitoring library.

This is handy when you want to monitor the status of multiple resources using a simple configuration file. For example, if your application requires a web service and a MongoDB database to be available, Health module can monitor those resources and return status ok/fail against each resource along with the response time.

It also supports result caching via ttl attribe of each resource, which is handy when you want to monitor multiple resources at a different interval or to reduce the load on certain resources.


npm install -g health 


// use default formatter
var health = new (require('health'))(
  setup: [ { name: 'google', uri: '' } ]

// use built-in formatter (html, text, or xml)
var health = new (require('health'))(
  setup: [ { name: 'google', uri: '' } ],
  formatter: 'html'

// use custom formatter function
var health = new (require('health'))(
  setup: [ { name: 'google', uri: '' } ],
  formatter: function (results) {
    return results.join('|');

// check resources
health.check(function (err, result) {

From command-line:

health -f html -s health.json check


Health setup is just a simple JSON:

  { "name": "Google", "uri", "", "statusCodes": [ 200 ] },
  { "name": "GMail", "uri", "", "timeout": "1000" },
  { "name": "MongoDB", "uri": "mongodb://somehost:27017", "timeout": 200, "ttl": 30000 },
  { "name": "Temp", "uri": "file:///tmp", "mode": "777", "ttl": 360000 }
Attribute Type Description Protocol Usage Default Example
uri string Resource URI to check All Mandatory mongodb://somehost:27017
name string Resource name All Optional someapp
ttl number Cache time to live in milliseconds All Optional 30000
lenient boolean Replace fail or error with warning All Optional false true, false
group string Resource group name, status is set to warning when there's at least one group member having success/warning status, group members status is set to fail/error only when none of the group members has success/warning status All Optional databases, apps, datacenter1
timeout number Request/connect timeout in milliseconds http, https, mongodb Optional 500
statusCode array An array of acceptable response HTTP status codes http, https Optional [ 200, 409 ]
text array An array of all texts that must exist in response body, any of them does not exist means status FAIL http, https Optional [ 'foo', 'bar' ]
mode string 3-digit file/directory mode file Optional 777, 644


Developer's Guide

Build reports:

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free