I haven’t been blogging much lately, mainly because I’ve been on the road a lot. It doesn’t look like this is going to change much for the rest of the year, but I am hoping to share more about what is going on in OpenNMS-land.
For the next stable release of OpenNMS, we are aiming to greatly improve aspects of the user interface. We have settled on a technology called Vaadin which should make the UI more like a desktop client than a web page.
A lot of that effort has been focused on a new topology view, i.e a map. I’ve gone on record before as someone who really hates maps. It goes back to some time I spent in 1999 where I was deployed at a client site where I spent hours each day tweaking HP OpenView maps. While the pointy-haired boss types really seem to like maps, they tend to have limited usefulness in actually diagnosing network issues, and quite frequently the effort that goes into maintaining the map isn’t worth it.
So the problem we were trying to solve is: how to make a map that is both useful and maintainable?
Leveraging the fact that OpenNMS is an application platform, Matt wrote a complex piece of code we call the “topology provider”. The idea was that different people need to see the network in different ways, so rather than limit things to one view, why not create a generic topology provider that can be customized to fit those needs. You could look at the network from a Layer 2 and/or Layer 3 perspective (i.e. most maps), or you could choose a geographical view, or a business function view, etc.
The development team in Fulda, Germany, ran with this and decided to create a VMWare VSphere view. With this topology provider, VSphere is queried in order to gather a layout of virtual machines, both host systems and guests, as well as their network attached storage.
One nice feature of the new topology view is what we are calling “semantic zooming”. While you can zoom around the map like you are used to, you can also zoom in and out from a semantic perspective. For example, here is a top level view of three separate VSphere instances.
As you zoom in, you get to see the main host machines as well as other network details:
Zooming in farther brings up a much greater level of detail:
And then you can use traditional zooming to zero in on a machine that is having issues:
The new topology view also provides context sensitive menus. In this case you can bring up the ability to SSH into the system that is having problems:
This is a web-based SSH client that proxies through the OpenNMS system, so you can reach devices on your network even if you are accessing OpenNMS over a VPN or NAT (of course, you can remove this if you think it poses a security risk).
This is available in the current 1.11 development (unstable) branch of OpenNMS, and we are improving it every day. This is just one of the changes we hope will improve the usability of OpenNMS. I’ll post another one tomorrow.