Ganglia Dashboard Widget

I spent my Memorial Day weekend building my first Tiger Dashboard widget. It’s a monitor for Ganglia, which is what we use to monitor our server clusters. I wanted this ever since I heard about Dashboard and now I have it. No more refreshing a web page to see the quick status of all the servers.

It should work with anyone’s Ganglia setup, if you install the PHP script that feeds it the XML data it needs and download the widget. Put the PHP script somewhere on your server. You’ll have to modify the code right now to set the URL to that PHP script. Later, I’ll make it configurable from the widget itself (or you can). Consider it GPL’d, so please feel free to improve it but let me know so I can have the improvements too. 🙂

TODO list:
1. Make the flipside of the widget to set configurable options.
2. Display a history graph like the Apple-supplied stocks widget.
3. Make the clusters clickable to go to the standard Ganglia web page for the cluster
4. Make it prettier.

4 thoughts on “Ganglia Dashboard Widget

  1. It would be cool to see a screen-shot of this widget. And isn’t it neat you you don’t have to hit F5 each time that helps too? Btw it might be a bug in IE that makes this comment window resize improperly and get obscured by the vertical archives banner on the right….containing the calendar at top.

  2. I am trying to get this Dashboard widget working……the Ganglia.php file includes something like require_once(“../fum.php”);
    What is in fum.php????

    Ganglia.php is loaded by the Ganglia.js javascript. Instead, I dumped the XML output of my gmetad process to a file and loaded that instead. It looks like it is working (clusters are listed with some load info??) but then the grid title is shortly replaced with “Timer=9 (undefined)”

    Request some assistance please.


  3. Sorry, fum.php can be ignored it’s just some miscellaneous stuff used for the my site, just delete that line.

    The “Timer=N (undefined)” really means that it couldn’t do the HTTP request to get the XML data, i.e., the XMLHttpRequest didn’t get a 200 back. If it’s behind HTTP authentication, you’ll need to modify the URL to include that info.

    The numbers are the average load on the servers in each cluster, and the other numbers are the min and max of the load. The “blank space” will eventually show a graph. 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s