Defcon status at a hosting company

[Aaron] has been working at iweb hosting for about 5 years. When he started, the number of servers was small enough that managing them was fairly painless and could be done by just manually verifying that everything was operational. As the number of servers grew, this task became more and more difficult. They employed various methods of tracking problems, but found them all lacking in one way or another. They got an idea to build a Defcon status page based on all of the information collected about their server status. The page was built and all rejoiced. As with most projects, they just couldn’t leave it alone. Next, they built an android app to be able to see the defcon status from their phones. As cool as that was, they felt they needed to have yet another way to keep track. They What you see above is the prototype for the office defcon status display. It is extremely simple, using an Arduino (yes, we know, massive overkill) to receive status updates to change the display number. [Aaron] says that right now it is a mess, and you have to shield it from the light with your hands to see it, but it works. What should the next step be? A giant Alpha Numeric LED indicator? A nixie tube?

For a better display you could output to a betabrite. There is a piece of code for the betabrite that will let you display a static “Defcon Level X”. It is currently a backyard baseball game app for the betabrite but you could take that and should be able to drive the sign from an arduino. add some documentation please!

[moogle] – The Arduino can source 20ma for driving an LED, but this display is common anode, not common cathode – you need to sink current, not source it, so I’m using the transistors to pull the pins to ground.

I didn’t actually expect this to be posted; the entry is more about monitoring than hardware; I’m happy to put up a schematic, but it’s basically a 1:1 ratio of transistors to pins.

@ Aaron Brady
avr chip can sink 20ma per io pin, so there should be no problem and you can get rid of the transistors.

in fact, it is much more common to handle io logic by sinking than sourcing (in most cases, logic lines are held high by external pullups resistors). this just means your program logic is inverted; ie to turn on an led you turn the port pin ‘off’.

you’ll still need current limiting resistors for each segment, maybe i’m blind but i don’t see them in your photo… are they built into the 7 seg display?

forget the 7-seg and slap on a VFD similar to http://hackaday.com/2009/07/13/parts-4×20-vfd-character-display-na204sd02/ and the microcontroller won’t be total overkill. Although, I’d much rather see a single chip used for this project instead of wasting an entire development board by dedicating it to this project. Just toss in your choice of far-simpler AVR microcontrollers, program it directly, and boom! Simple, non-overkill, and cheap.

Thanks for all the advice; I wasn’t aware that the AVR could sink as well as source, agent420. There’s a current limiting resistor on the anode; this may not actually be enough, perhaps I do need them on each pin? It was a case of “it worked, it’ll do”.

The 4511 is nice, but really parallel ports are a rare find nowadays. I also like the fact that the Arduino shows up as a class compliant serial port. It saves using parapin and having to run as root. Perhaps a bare AVR with a USB library would be a bit ‘thinner’ than an Arduino, but this was just a two-lunch-time proof of concept.

@swharden – that was pretty much the first thing that we tagged as a possible for the ‘real thing’.

^ Unless you are designing a fixed static led scheme where paralleled leds will not change, you always want to have a current limiting resistor for each led. Using one resistor on the power source wont work well because the current varies as you change the number of leds that are lit.

im guessing you can collect enough data from your servers (sounds like you have quite a few) to generate an 8bit defcon scale. I’d use that data and fade a giant jolly roger from green to red based on server status.

How about a classic (as in, old) feel. Just have a lightbox with 5 lights (flux leds or some such) for the five statuses, with colored plastic with the numeral on it. Add a nice buzzer/noisemaker in the order of the Lost sound, and you’ve got an attention grabber.

difficult to keep track of? HUH? They must not have very good managers or techs. BigBrother is what we used for over a DECADE and it works great to let you know what is good/bad or indifferent for hundreds of servers.