node package manager


A services status dashboard

Status Dashboard

Status Dashboard is status page for your configured services or applications.




  • npm install statusdashboard or
  • npm install git+

Optionally, you can install as a global package


  • Improve UI: scrollbars, filters, check type column, ...
  • Add network services like SMTP, POP3, ...
  • Improve REST API to get / push data ...

How To Use

Add your entry in settings.js.

settings['xxx'] = {
  • export APP_ENV=demo
  • ./bin/statusdashboard

You can override settings with an external settings for private information like passwords, ..

  • vi ~/.statusdashboard/settings.js
exports.create = function() {
  var appSettings = {
    port: 8081,
    services: [{
      name: 'FTP Local',
      password: 'xxx'
  return appSettings;
  • export APP_SETTINGS=~/.statusdashboard/settings.js

`` var dashboard = require('statusdashboard').dashboard(settings);


Add a new service to be checked

Remove a service to be checked

Start the scheduled checks. Automatically is started by default when instanciating dashboard

Stop the scheduled checks

Return the current status of checked services

All other calls available in api.js are to be used at your own risk. You have been warned


Daemon init script for node.js:


Some plugins are available out-of-the-box:

  • Console
  • IRC bot
  • Twitter
  • History, save service state in Redis (Thanks to sreeix initial pull request) and graph it!


  • List services
$ curl
{"last":"Fri, 17 Jun 2011 22:33:03 GMT","services":[{"name":"couchdb","label":"Couchdb server @ local","status":"up","statusCode":200,"message":""},{"name":"","label":"Olivier Bazoud blog","status":"up","statusCode":200,"message":""},{"name":"","label":"Olivier Bazoud blog test.php","status":"up","statusCode":200,"message":""},{"name":"redis","label":"Redis server @ local","status":"up","statusCode":0,"message":""},{"name":"FTP Local","label":"Ftp @ local","status":"down","statusCode":0,"message":"ECONNREFUSED, Connection refused"},{"name":"PID file","label":"Pid @ local","status":"unknown","statusCode":9,"message":"EBADF, Bad file descriptor '/tmp/'"}],"lastupdate":"Fri, 17 Jun 2011 22:33:08 GMT","summarize":{"lastupdate":"Fri, 17 Jun 2011 22:33:08 GMT","up":3,"critical":0,"down":1,"unknown":2}}
  • Retrieve a specific service
$ curl
{"name":"couchdb","label":"Couchdb server @ local","status":"up","statusCode":200,"message":""}
  • Retrieve a summary
$ curl
  • Version of application
$ curl -iX GET
{"commit":"641b97cbcfdc53b1b2b825d588afe08e412471d4","author":"obazoud","committer":"obazoud","date":"Fri, 12 Aug 2011 10:15:27 GMT"}
  • And plugin can contribute to statusdashboard REST API
$ curl
["{\"time\":1310024374699,\"status\":\"up\",\"message\":\"\",\"code\":200}","{\"time\":1310024379591,\"status\":\"up\",\"message\":\"\",\"code\":200}", ...]

Early adopters

  • IRC Plugin screenshot @ exoplatform

In the news