Warewulf

Warewulf-Web 3.0.1

warewulf-red-banner.png

Features

  • Scalable interface
  • Dynamic, real-time updates
  • Data visualization using graphs, charts
  • Easy-to-use, intuitive interface

Synopsis

Warewulf-web 3.0.1 is focussed towards the development of an easy-to-use, dynamic cluster monitoring web front end. I plan to use upcoming web technologies like AJAX to make the interface more intuitive and responsive. AJAX exchanges data with the server "behind the scenes" avoiding frequent reloading of pages. I have discussed a general architecture for the proposed system.

Note: To come up with the areas of improvement, I have based my comparisons on some of the existing cluster monitoring tools — namely Ganglia and Clumon.

Architecture

  1. Warewulf Status module.
  2. warewulf.cgi
  3. Archive Database
  4. Data Visualization (Graphing) Module.
  5. Web Interface Module
warewulf.jpg

Warewulf Status Module

The Warewulf::Status code can be reused in it's entirety. However, with comparisons to Ganglia I could find that it can yank up some extra info — (Memory Cached, Memory Buffered Total In-core memory; Network & Packets Summary; Temperature & Fan Speed!)
Are these parameters critical and if so, Is there a way to get these parameters easily?
The status module gets the status from warewulfd(or wulfd) and writes it to a database (preferably MySQL) periodically.

Data Visualization Module

It would generate the graphs, charts to visualize the collected data. Identifying the dimensions for the graphs would be a critical ( and difficult, for me :P) issue.
Implementation


RRDtool : Using the Perl-rrdtool bindings, the graphs can be generated and embedded into the web front-end. This approach is being used by Ganglia.


SVG Graphs : SVG Graphs can be generated through Perl SVG modules. SVG graphs are scalable/zoomable and the text within SVG is searchable & selectable. SVG files are pure XML.
However, SVG at the moment is not supported by all the browsers. :(


The canvas tag is considered to be a very promising resource for displaying graphcs and animation within the browser. Generated graphs can displayed using the CANVAS tag. It can be dynamically updated using javascript, and <kaboom> we've graphs which move in real-time. :)


Web Interface Module NEW

The Web Interface module interfaces with the database module and the data visualization (graphing module) to generate the web front-end HTML page. Most of the code/logic would remain the same except the addition of Javascript and asynchronous XMLHttpRequest requests into the generated page. The interfacing between CGI and Ajax is done using CGI::Ajax

  • New improved, scalable design and artwork.

CHECK OUT THE DESIGN MOCK-UPS!!

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.