0.3.1 • Published 8 years ago

healthcheck-fastit v0.3.1

Weekly downloads
5
License
MIT
Repository
-
Last release
8 years ago

health-check

Build Status codecov.io Dependency Status

An health check module for express and loopback

Install

npm install --save healthcheck-fastit

Usage

In your app, add the following code:

config = {}
healthcheck = require('healthcheck-fastit') config
app.use healthcheck
curl http://localhost/api/health-check

API response

{
  "uptime": 42 // in seconds
  "postgres": {
    "status": "ok", // or ko
  },
  "mongo": {
    "status": "ok", // or ko
  },
  "elasticsearch": {
    "status": "ok", // or ko
  }
}

Database health check

Postgres

Example with postgres-node:

express = require 'express'
pg = require 'pg'

db =
  name: 'dbname'
  host: 'localhost'
  port: '5432'
  username: 'user'
  password: 'pwd'

connectionString = "postgres://#{db.username}:#{db.password}@#{db.host}:#{db.port}/#{db.name}"

config =
  postgres:
    client: new pg.Client connectionString

app = express()
healthcheck = require('../main/src/module') config
app.use healthcheck

app.server = app.listen 3000

Mongo

Example with mongo-db:

express = require 'express'
mongodb = require 'mongodb'

db =
  name: 'dbname'
  host: 'localhost'
  port: '5432'
  username: 'user'
  password: 'pwd'
connectionString = "mongodb://#{db.username}:#{db.password}@#{db.host}:#{db.port}/#{db.name}"

MongoClient = mongodb.MongoClient
mongoClient = new MongoClient()

app = express()

mongo.mongoClient.connect url, (err, db) ->
  return if err?
  config =
    mongo:
      client: db
  healthcheck = require('../main/src/module') config
  app.use healthcheck

  app.server = app.listen 3000

Elasticsearch

elasticsearch = require 'elasticsearch'
express = require 'express'

config =
  host: 'localhost'
  port: 9200

app = express()

config =
  elasticsearch =
    client: new elasticsearch.Client
      host: config.host + ':' + config.port
      log: 'debug'

healthcheck = require('../main/src/module') config
app.use healthcheck

app.server = app.listen 3000

Custom healthchecks

You can add your own healthchecks like this:

express = require 'express'

config =
  custom:
    hello: (done) ->
      done null, 'hello is OK!'
    dataConsistency: (done) ->
      done null, {
        status: 'ok'
        somethingElse: 123
      }
    error: (done) ->
      done 'Unexpected error' # this error will be logged
  logger: console # you can specify here a logger with an "error" method to log errors

app = express()
healthcheck = require('../main/src/module') config
app.use healthcheck

app.server = app.listen 3000

Then the response looks like this:

{
  uptime: "2.31 s",
  hello: "hello is OK!",
  dataConsistency: {
    status: 'ok',
    somethingElse: 123,
  }
}
0.3.1

8 years ago

0.3.0

8 years ago

0.2.0

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago

0.0.1

8 years ago