Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    healthpublic

    Avatar

    Build Status Dependencies Status Coverage Status Published Version
    npm Badge

    Health

    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.

    Installation

    npm install -g health 
    

    Usage

    // use default formatter
    var health = new (require('health'))(
      setup: [ { name: 'google', uri: 'http://google.com' } ]
    );
    
    // use built-in formatter (html, text, or xml)
    var health = new (require('health'))(
      setup: [ { name: 'google', uri: 'http://google.com' } ],
      formatter: 'html'
    );
    
    // use custom formatter function
    var health = new (require('health'))(
      setup: [ { name: 'google', uri: 'http://google.com' } ],
      formatter: function (results) {
        return results.join('|');
      }
    );
    
    // check resources
    health.check(function (err, result) {
    });
    

    From command-line:

    health -f html -s health.json check
    

    Configuration

    Health setup is just a simple JSON:

    [
      { "name": "Google", "uri", "http://google.com", "statusCodes": [ 200 ] },
      { "name": "GMail", "uri", "https://mail.google.com", "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

    Colophon

    Developer's Guide

    Build reports:

    install

    npm i health

    Downloadslast 7 days

    16

    version

    0.3.0

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar