This content has been written a long time ago. As such, it might not reflect my current thoughts anymore. I keep this page online because it might still contain valid information.

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:

Feel free to fork and edit this post if you find a typo, thank you so much! This post is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.


No comments here. You can reach me on Twitter or send me an email if you prefer.