healthcheck-fastit
[![Build Status](https://travis-ci.org/FastIT/health-check.svg?branch=master)](https://travis-ci.org/FastIT/health-check) [![codecov.io](https://codecov.io/github/FastIT/health-check/coverage.svg?branch=master)](https://codecov.io/github/FastIT/health-che
Last updated 4 years ago by nicgirault .
MIT · Original npm · Tarball · package.json
$ cnpm install healthcheck-fastit 
SYNC missed versions from official npm registry.

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,
  }
}

Current Tags

  • 0.3.1                                ...           latest (4 years ago)

6 Versions

  • 0.3.1                                ...           4 years ago
  • 0.3.0                                ...           4 years ago
  • 0.2.0                                ...           4 years ago
  • 0.1.1                                ...           4 years ago
  • 0.1.0                                ...           4 years ago
  • 0.0.1                                ...           4 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (5)
Dev Dependencies (22)
Dependents (1)

Copyright 2014 - 2016 © taobao.org |