Services Status Dashboard

Today, I was looking for an Open Source alternative to Pingdom as I needed something free, customizable, and lightweight. I love the GitHub’s Status Panel, unfortunately they didn’t open source it.

Basically, this kind of application is simple. You just need a crawler, and few rules to know whether an application is alive or not. Additionally, you may want to store results in order to make graphs or to calculate uptime average, and so on. Before to write this kind of application myself, I tried to search existing projects on GitHub.

Good news! I found a really nice project: Status Dashboard created by Olivier Bazoud. This project is easy to configure, you can use provided plugins (Twitter, IRC bot, History, …) or add your owns, and you can monitor various services (not only HTTP). If you don’t want to use the beautiful interface, then you’ll find a REST API.


Run npm install to setup the project and its dependencies, then add your own configuration in settings.js. Mine is:

// ...
settings['william'] = {
  services: [{
    name: '',
    label: 'William DURAND (blog)',
    check: 'http',
    host: '',
    port: '80',
    path: '/',
    headers: {
    'Host': ''
  plugins: {
    history: {
    enable: true,
    host: "",
    port: 6379,
    namespace: "statusdashboard",
    options: {
    client: true

Then, start the server:

node server.js

Check the server is running by browsing or by querying the API:

> curl
{"lastupdate":"Mon, 16 Jan 2012 13:29:11 GMT","services":[{"name":"","label":"William DURAND (blog)","status":"up","statusCode":200,"message":""}],"summarize":{"lastupdate":"Mon, 16 Jan 2012 13:29:11 GMT","up":1,"critical":0,"down":0,"unknown":0}}

The project is available at:

By the way, if you found a typo, please fork and edit this post. Thank you so much! This post is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

If you like this post or if you use one of the Open Source projects I maintain, say hello by email. There is also my Amazon Wish List. Thank you ♥


Fork me on GitHub