What every Technology Director needs
Another little project with an Arduino and the $1 display from All Electronics. This one using 8 of the displays connected to a iDuino from Fundamental Logic.
I just spent the last 6+ months completely redoing our website here at Democracy for America (http://democracyforamerica.com) and wanted to make sure I could keep an eye on things and know the health of the servers with a quick glance. While a simple web page would have worked, flashing led lights mounted on the wall is much more fun.
There are 4 production web servers I need to monitor which are sent traffic from our load balancer in round robin fashion (web3 is currently removed from this and is used a staging server so you will notice the numbers in the lower left display are lower) Thus the bottom half of the display has 4 modules, one for each server. The entire display cycles between 3 frames showing Ram usage, Load avg and apache requests per sec for all servers. These stats are updated by a perl script running on my local desktop which connects to a perl script on each server every 30 seconds.
The top line of the display is 4 display modules side by side allowing for a 28 character (4*7) line. (You can see the spacing between the 4 displays, but it is not too bad) This line also has 3 frames and can be updated to show anything I like via the perl script. Currently besides showing “Democracy for America”, it pulls some stats from our member database and shows the number of active users in the last 24 hours and the number of signups in the last 24 hours (in our system a signup is not always an active user). When we have ongoing petitions and fund raising drives, I can easily update it to show those stats as well.
The entire displays is a 12×12 shadow box frame (a bit large but the only size I could find) with the darkest window tint I could find over the glass. The tint hides the uglyness of the led displays themselves and cuts down on the orangy brightness and overall makes the setup look very professional. No one in my office realized I had built it until I took it down and opened up the backside. The displays themselves are hot glued to a piece of plexiglass (just what I had on hand) and there is mass amounts of hook up wire running everywhere. (5 pins per display)
While it is done and working, I would like to update the code driving it a bit. Scrolling text as an option for the 28 char line would be nice. Also there are 4 icons on each display that are currently not being used that could be used for some purpose. There are also a number of free pins left on the iDuino.. seems like such a waste when more lights could be lit up.
The stats themselves need a bit tweaking as well. The req/sec is directly from apache status page and seems to be an average as long as the servers has been up. Which means spikes in traffic are not easily reflected, and even less the longer the server is up. I would also like to find some Ruby on Rails specific stats to display.
After all this, the servers seem to be pretty rock solid, so this is pretty much just eye candy for now.
(this picture is a bit dark, you can read the display from the hallway)
Kim Helberg Said,
May 27, 2008 @ 4:46 am
Wow.. I am amazed at how smooth and proffessional the construction looks! Geek cred to you, man, it’s always cool to see projects that bring thing from the computer world out into our physical world!
And besides, if I built something like that it would probably be mounted on a piece of cardboard, with generous amounts of ducttape to hold things together.. -_-’
Jerry A Said,
May 29, 2008 @ 1:17 pm
This is very cool. Any chance of sharing the code for this?
Thanks in advance!