Blinkenlights and the Church of Graphs

Last week Swizec wrote a brilliant (>30K views, >300 RTs) post for Zemanta's FruitBlog about our internal status dashboard aka. Blinkenlights. I wanted to write a post about importance of measuring everything for a long time, but Swizec put it so eloquently that the only thing I have to add to his post are some implementations details that will hopefully show how trivial it is to build an effective visualization of your system. Our dashboard is just a regular web application that uses divs for layouting charts and graphs on the screen. The dashboard is mainly supported by backend and Operations people, so complex JavaScript is beyond our capabilities. The charts and graphs themselves are not included through HTML, but through JavaScript on DOM ready event. Graphite graphs and other images are loaded into an img element and then periodically refreshed. Charts that require more complex rendering and special JS scripts are organized as independent web pages that are loaded into divs of the main page using jQuery load method. Finally, charts that are served from different domains, are included as iframes due to same origin policy of the browsers.

It took me a hackday and a weekend to build the whole dashboard (and special version of it that works on iPad) and I'm not particular versed in web technologies. I hope this will provide an encouragement for you to build your own dashboard and join "The Church of Graphs" also yourself.