Light Of Pi: Cloud Monitoring With LEDs

Rackspace processes over a million metrics every minute as we monitor the IT infrastructure of hundreds of thousands of customers. That’s a lot of data.

We monitor our infrastructure too, and know just how overwhelming it can be to manage all the notifications from a cloud monitoring system.

We monitor things such as the CPU and memory utilization, or the time it takes to reach your webserver from a particular part of the world. And of course we set alerts to tell us when the things we monitor start acting strange. And when you monitor at scale you get a lot of notifications: emails, SMS and push notifications are the most common.

These notifications are great for helping you get work done, but we wanted something that our whole office could see and appreciate—something to bridge the gap between the digital and physical worlds. So we built an LED notification system for cloud monitoring alerts. Here, I’ll walk you through how to make one of your own.

Here’s what you need:

  1. Digital RGB LED Weatherproof Strip32 LED
  2. A raspberry pi
  3. Adafruit Assembled Pi Cobbler Breakout + Cable for Raspberry Pi (Optional)
  4. Female DC Power adapter – 2.1mm jack to screw terminal block
  5. Breadboarding wire bundle (Optional)

Here’s what you do:

First, boot up your pi. Then connect the LED strip to the raspberry pi.

You will need a library that makes it easy for you to communicate with the LED strip using the SPI.

Use the and try executing to see if you are able to send bits to the LED strip.

Install flask webserver on the pi. Once you have a webserver running on the pi, you can now write a controller to accept POST payloads and control the LED strip based on the content of the payload. You can checkout as an example of how you can use the Python ledstrip library to light up different lights based on the content of the POST payloads.

Now you can easily integrate with the Rackspace Cloud Monitoring system by using the webhook notification type.

And there you go. You now have a cool visual aid to help you see the state of your infrastructure. The lights will light up 1.5 minutes on an average before you receive the mail in your mailbox. The strip has 32 lights (extensible) and would provide a timeline of the state of your system.

This project was inspired by Amy Lee from Codame, who blew our minds with her presentation on the use of digital LEDs for artwork at Geekdom in San Francisco. We also liked how Viktor Abovyan used the Andon lights to provide instant visual notification of the health of the CI build system at Yahoo! Sports.

Thanks also to: Simon Vetter, for helping to hookup the setup with the Rackspace Cloud monitoring Atom Hopper feed; Rob Emanuele, for helping with the breadboard setup; and James Buchan, for helping to setup the flask controller.

Nachiket has more than eight years of industry experience as a software developer and software developer in test. He was a core contributor to the Yahoo! Fantasy Sports backend engineering team and has extensive experience across the entire web development stack including feed processing, SQL and noSQL databases, REST APIs, caching and large scale distributed systems. He also believes that software testing is a primary quality for a good engineer and has written complicated integration tests and built test platforms running hundreds of thousands of test cases. He has worked extensively in Java and PHP and recently picked up NodeJS. Nachiket now works on the Cloud Monitoring product at Rackspace, which monitors and collects metrics for thousands of corporate customers' complicated infrastructures.



Please enter your comment!
Please enter your name here