Add OpenLayers map view to OpenNMS

Description

From the commit:

This patch adds support for slippy maps to display a live geo-location
aware status view of your network. The new display (called node-map)
is scoped by surveillance categories. By selecting a category the map
will snap to the size to fit all elements in. If nodes are too close
to each other they are globed together until the map zooms to a
suitable level when they can be expanded into individual icons.

Configuration
=============

You will require a working OpenLayers and Tile Cache setup. In our
case we run it on our NMS machine but there is no reason to. For
Debian/Ubuntu systems the package dependencies look like:

python-mapnik (>=0.7.1-2), openlayers, tilecache, osm2pgsql,
osm-mapnik-utils, osm-base-data

The osm-base-data provides a world map, you will need additional data
if you want more detail.

OpenNMS uses the following parameters in /etc/opennms/opennms.properties:

In a standard Debian setup the tilecache scripts will just be in cgi
along with all other system installed cgi.

Geo-location data
=================

Currently the only way to import geo-location data for nodes is
through the model-importer (which is what CBNL uses as OpenNMS cannot
discover network topology on its own). The node element now takes an
optional geolocation tag, e.g.:

<geolocation lat="52.227352" lon="0.154387"></geolocation>

Updates
=======

Server Side:

  • Remove knowledge of CBNL specific relationships

  • Replace with a generic parent/child relationship and categories

  • Add ability to return an arbitrary depth of child relationships

  • Servlet returns availability as a formatted string

Web-side:

  • Re-factored the code into Map/Table and Data controllers

  • Cleaned up DOM manipulation using jQuery methods

  • Changed mapping for map markers based on alarm and availability

  • re-organises the layout in into more OpenNMS like 3 pane view

  • Add OpenNMS style info boxes to the display

  • Add the ability to display child nodes

  • Made the pop-up box use OpenNMS table styling

  • Removed a bunch of dead code, generalised a bunch more

Acceptance / Success Criteria

None

Attachments

5
  • 25 Aug 2011, 10:42 AM
  • 25 Aug 2011, 10:42 AM
  • 01 Jun 2011, 10:33 AM
  • 01 Jun 2011, 10:33 AM
  • 01 Jun 2011, 10:33 AM

Lucidchart Diagrams

Activity

Show:

Seth Leger May 11, 2015 at 4:02 PM

I'm not totally sure but I think that this was superseded by our geographical map.

Duncan Mackintosh August 25, 2011 at 10:42 AM

Replacement for above patch which doesn't have the System.out.println("****...") statements.

Additional patch that tweaks the annotations in model/OnmsGeolocation so lat/lon are both @XmlElements.

Alex Bennee June 1, 2011 at 10:33 AM

Latest patch set as sent to the dev mailing list. Split up.

Alex Bennee April 11, 2011 at 10:32 AM

Updated patch - all inclusive (ignore other patches).

Alex Bennee April 11, 2011 at 10:31 AM

I''ve updated the patch to broadly:

  • merge in the clean-ups from Benjamin

  • remove a bunch of CBNLisms - made the code more generic

  • clean-up the Javascript

  • themed the map view to better fit in

What I haven't done is update to use the OpenNMS DAO model so it respects ACLs. However this is a stepping stone to that.

Details

Assignee

Reporter

Affects versions

Priority

PagerDuty

Created January 20, 2011 at 10:38 AM
Updated August 4, 2023 at 1:52 AM