Common causes of failure within the innovation process in most organizations can be distilled into five types:

  • Poor goal definition
  • Poor alignment of actions to goals
  • Poor participation in teams
  • Poor monitoring of results
  • Poor communication and access to information

Had initial meeting to discuss possible projects. Contenders were as below.

All to look into each and then we will re-meet to choose the most appropriate for team work.

We went for the touchscreens option. So far, we have:

System Status

The idea was to pull status information from nagios to provide a high-level dashboard for users to allow them to be able to quickly check service status (e.g. file store, authentication, mail, ssh servers, printing, login & compute servers).

The nagios status information is stored in a file - /var/log/nagios/status.dat - this has a peculiar format which is not particularly easy to parse. We used a set of Perl modules found on CPAN which are in the Nagios::Status namespace. Although they can handle the file format and support looking up hosts and service groups they are very limited in functionality. For example, they don't merge in the service information with the host information so although you can check if a machine is up or down you cannot query whether the apache service on a particular host is working correctly. There is also the issue that these modules make things rather slow, you end up reparsing the file for every query.

A web interface to this status information was built using the Perl Catalyst framework (named hyperion). Some investigation was done into providing a REST interface using the Catalyst::Controller::REST module. This worked very well, it supports returning data in many formats (e.g. JSON, XML, YAML) which makes it very easy to add javascript-based status widgets on web pages. To get something working on the touchscreens status page in the time available we used an iframe. A second Catalyst controller was added to hyperion which returned html pages using Template Toolkit. By altering the template it is possible to give status views which different levels of information to allow a user to "drill down" through information related to a problem.

If hyperion was to be properly deployed we would need to write our own nagios status parsing module for speed and also to allow us to fully query the information available. We would also need to think about the service groups we have configured, it would be much easier to generate high-level information if we had a few more groups (e.g. SSH service, print service).

-- TimColles - 12 Dec 2012

Topic revision: r6 - 17 Apr 2013 - 06:10:37 - StephenQuinney
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies