User Tools

Site Tools


This is an old revision of the document!

Netmap - the network weather map

Netmap was introduced in NAV 3.5 written in Java and replaced the old traffic map (vlanplot). Netmap got rewritten from scratch using open standards as HTML, JavaScript and SVG (Scalable Vector Graphics in XML markup).

Netmap is based on the D3JS library, and uses its ForceBasedLayout-engine for finding the optimal graphical layout for the network topology. Netmap should work in all new common browsers that support SVG (IE9 and newer), Firefox (3.5 (really recommend a newer version, as the firefox javascript engine is having performance issues) and up), Chrome (auto updates, testing with Chromium in Debian Squeeze at least). Opera has some issues that we will look into later.

Netmap has these features (in no particular order):

  • Dynamic generation of network-topology based upon prefixes for gwports, and the to_swportid field for swports (discovered by ipdevpoll inventory job and topology (cronjob running every hour)).
  • Fetching of rrd-load data for links between netboxes (links are colored by relative usage for it's interface speed)
  • Links capacity between netboxes shown with fixed rates (0-100, 100-512,512-2048,2048-4096,>4096 Mbit/s) on it's line-width/weight.
  • Filtering of netboxes based on categories. These categories are set from the categories you have in the database.
  • Filtering orphans (netboxes not linking to anything)
  • * Note: elink is a fictive category, and Netmap itself detects where the elink should be based on NAV's known topology.
  • * Note2: can't save metadata / positions of elink nodes, since there is no relation to them as it is a fictive node.
  • Searching. One can search after netboxes based on sysname
  • Option to pause the layout engine to preserve cpu-load. This should not be needed as the layout engine should stabilize the graph rather quickly in a newer browser and modern PC. In case your living in the past, there's an option to pause it ;-)
  • Toggle sidebars by a click of a mouse button.
  • Toggle 'fullscreen' by clicking CTRL+SHIFT+F (hides sidebars and NAVs header and footer)
  • Mark nodes located in same room or location as the selected node.
  • Fix or unfix all node positions. (this is position metadata that is saved to a view)
  • Views
  • * User specific views and possibility to share em among other users
  • * Delete your own views
  • * Update current view
  • * Create new view from selected view (incase you want a modify a view that isn't yours)
  • * Select a favorite view
  • * Administrator can set a global favorite view for users who does not have an favorite view selected.
  • Different info templates for selected netbox or selected link.
  • Traffic gradient popup (will be nice when RRD/traffic load is refreshed every x min.
  • Show topology errors (mark links/nodes) red if there's something unusual in your network topology. ie, different interface speeds between the links can cause to network congestion
  • Mouse over UI actions, «Auto-clicks» a node or link by simply hoovering em.

NOTE: Icons for the following categories are included GSW, GW, OTHER, SRV, SW, WLAN, EDGE and the fictive category ELINK. If you have other categories, put an icon with the category name in $NAV_ROOT/share/htdocs/images/netmap/ in the png format. Note: use lower case filename of the category name.

Brief user guide

The netmap is available from the toolbox. Clicking it will launch the Java applet.

The applet will take some time to load, depending on the scale of your network. If it takes more than 10 seconds, please ensure that your rrd_file-table has an index on the value-field, if not create it ( CREATE INDEX rrd_file_value ON rrd_file(value); ).

The first thing you see will be a blank page with a menubar. If you select the “Filters” menu you've got two choices, Categories and Linktypes. These category-checkboxes define what kind of netboxes that are visible on screen. Typically you'd want to select GW, GSW and SW, but thats up to you. Then select what kind of linktypes you want to see. What you'll see now is a bunch of nodes appearing at the center of the screen and moving outwards. Netmap now applies physical properties to the netboxes and applies negative gravity on each of them. You can zoom in and out of the map by holding your right mousebutton and moving your mouse up and down. You can tell netmap to try zooming for best fit by double-clicking your right mouse-button. Panning the map is done by holding the left mouse-button and moving the mouse.

Every element in the page can be clicked for more information about it, both the netboxes themselves and the edges (links) that connect them.

The load colors on the edges defaults to fixed-rate colors. To change this go to the “Visualization”-menu and select “Show load based on relative usage”.

When you are satisfied with how the network has spread it self, you can freeze the layout in the “Actions” menu.

Searching is done in the text field on the menu bar. Netmap starts searching as soon as you type, and tries to zoom in on the objects that match. So, if you would like to zoom into a part of your network, say every netbox in 10.0.10.*, you'd type 10.0.10. in the search field, and netmap should zoom into that section. The same applies for sysnames and rooms.


1. Rendering is horrible slow This kind of problem can be two things (or both). Either cpu-bound problems, or gpu-bound problems. The CPU-part is hard to combat except with filtering out more devices. The GPU-bound problems can cause massive cpu-load also though (fallback to software-rendering). For these kind of problems try various combinations of in the java-plugin control-panel (under Runtime-settings).

netmap.1347881297.txt.gz · Last modified: 2012/09/17 11:28 by norangshol