Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A node.js service status dashboard
branch: master

This branch is 3 commits ahead, 102 commits behind statusdashboard:master

Failed to load latest commit information.
lib New REST API: /api/update
plugins Optional dependencies
public Move plugins at the end of the page. Not annoying if we don't see the…
api.js typo
package.json get rid of /api/version gitteh does not work in all (cloud) platform
server.js get rid of /api/version gitteh does not work in all (cloud) platform

Status Dashboard

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




  • See package.json
  • run the following command to install the dependencies
    $ npm install


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

How To Use

  • git clone or fork it
  • node server.js

Add your entry in settings.js.

settings['xxx'] = {
  • export APP_ENV=xxx
  • node server.js

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


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

Something went wrong with that request. Please try again.