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:
- Digital RGB LED Weatherproof Strip32 LED
- A raspberry pi
- Adafruit Assembled Pi Cobbler Breakout + Cable for Raspberry Pi (Optional)
- Female DC Power adapter – 2.1mm jack to screw terminal block
- Breadboarding wire bundle (Optional)
Here’s what you do:
You will need a library that makes it easy for you to communicate with the LED strip using the SPI.
https://github.com/labatrockwell/raspberrypi-experiments/tree/master/Led_Strip_Library and try executing
https://github.com/labatrockwell/raspberrypi-experiments/blob/master/Led_Strip_Library/examples/simple_example/simple_example.py 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
https://github.com/ynachiket/halo/blob/master/server.py 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.