Sunday, 29 June 2008

Processing Nagios Status Data - part 1

I've been tinkering with Processing of late, and having a lot of fun with it.
After finding the awsome traer physics library and Sean McCullough's implementation of force directed graph layout, I thought I would see if could visualise the status data from Nagios ( an Open Source host, service and network monitoring program).

Essentially, after defining hosts (devices) and services (stuff the hosts provide), Nagios will monitor their performance.
I wrote a utility to extract the data I wanted from Nagios, and output an xml file.
I have plans to extend that as a seperate project - Nagiosity. The processing app uses the xml to constructs a graph. It's a bit rough, but I liked the result anyway.
The bigger circles are the hosts, the smaller circles are the servcies.
The more transparent the colour the older the status data.
Green is good, red is bad, the rest are somewhere in between.
The graph layout it's force directed, and uses an inverse gravity model; bigger mass repells.
We can use this property to create an intresting effect.
As the status data updates (every 10 secs) we adjust the mass slightly, and the graph reconfigures accordingly.
For failing services, or old data, we increase the mass, and they migrate to the edge of the screen. Click the image below and run the app, it's quite a neat organic effect.

1 comment:

Anonymous said...

The demo isn't working. Can you fix it? I'd like to try this out.