Thursday, September 20, 2012

Example: Rackmonkey

Rackmonkey is a tool for managing data center assets.

Rackmonkey makes keeping track of assets in a data center much easier. It maintains information about servers and switches such as IP addresses, hostnames, customer information, OS version, additional hardware informaton, rack location, room location, building location, etc.

There are several things about Rackmonkey that I like. I work with a team in a data center at IBM, and I realized just how unorganized and cumbersome maintaining multiple spreadsheets with IP addresses, customer information, etc can become. I wanted a simple, easy-to-use web interface for the entire lab. This way, clients can easily find their machines without having to remember all of their hostnames or IP addresses. This also reduces the number of support tickets or emails we receive requesting an IP or hostname that the customer may have forgotten. Additionally, Rackmonkey is open source, so my team and I can update it in the future to our liking.

There are many other asset management apps out there that function similarly. The main problem with them is that they have so much extra clutter that is unnecessary. Rackmonkey has exactly what we needed and not a lot of extra overhead features (well, most of what we needed anyway...it isn't perfect – more on this later).
Basically, this app works exactly like you expect it to. You can add a device (servers/switches) and then define which building/room/rack it is in. Then, you can specify what its purpose or role is (what kind of role the server is fulfilling. i.e. Web server, file server, etc - http://sourceforge.net/projects/rackmonkey/screenshots/218182), the hardware model/make, the OS or hypervisor, customer name, and additional notes. You can then view the racks you created and it will show a layout of the devices inside of it, by unit number (racks are arranged by unit number, each server being 1+ units tall - http://sourceforge.net/projects/rackmonkey/screenshots/218184).

There are some things that I might add in the future, such as bladecenter capability. Currently, Rackmonkey doesn't support inserting individual blades into a bladecenter if you add it to a rack. The bladecenter only appears as a huge server and any additional information about each of the individual blades within the bladecenter has to be entered in the additional information/notes section. Currently, Rackmonkey also does not support hyperlink directly on the device information pages. It only supports plain text. In the very near future, I will add this feature so that clients can easily get to their device's web interface (if it has one) without copy/pasting an IP/hostnamee. Another thing I don't like is that is consists of primarily perl scripts...and I have no experience with perl, but this isn't too big of a deal. By default, Rackmonkey uses sqlite, but I setup mysql and used it instead. Thankfully, Rackmonkey was designed in such a way that this was relatively easy to do.

Additionally, Rackmonkey also creates statistics based on the devices currently created. It will display the total number of devices, both currently inside and not inside of a rack. It will display how many devices per customer, along with links to the device's information or the device's IP/web interface (if it has a web interface). This isn't entirely necessary, but it is a nice feature. This is also something I might add to in the future, like more meaningful statistics for our use.

I cannot provide a link to Rackmonkey because it is a tool that must be downloaded and installed for your own use.

Voicethread link: https://voicethread.com/share/3420935/

No comments:

Post a Comment