User Tools

Site Tools


netmap

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 redirect you to the javascript netmap application.

The page starts with loading the javascript application (big loading spinner, keeps spinning until it has loaded its required resources. This will go for the next times you visit netmap, as the resources will then be cached in your browser.). The spinner will decrease in size when the javascript application is loaded and it starts “running the application” and continue to load the network topology information.

The first thing you'll see is that the navigation menu on the left side is loaded, and soon after the network topology graph pops up. Depending on your loading a view with fixed nodes or not, the layout algorithm will do it's work and position nodes as good as making the nodes not collide.

Your presented with two navigation bars, one on each side of your screen that you can toggle by clicking the “«” or “»” links. You can toggle fullscreen with CTRL+SHIFT+F which toggles both sidebars and NAV's footer and header. In the center your presented with the network topology map it self.

The load colors on edges represent load based on the link's capacity, and the link's weight represents a few static categories of link speeds. (0-100, 100-512,512-2048,2048-4096,>4096 Mbit/s) Using the traffic gradient popup can help you tell the load % without having to click on a link to read it's traffic data.

Map

Nodes and be drag and dropped and positioned to your liking. When a view is saved, it will save current zoom/scale, position of the map, active network topology layer, categories (orphan filter) as meta data to it's view. Nodes get fixed and auto selected automagically after a drag and drop. In the netbox view you have an option to easily uncheck it again if you want to.

Left navigation bar

Starting on the left navigation bar, your presented with a:

Type in part of the sysname of the box your looking for, it run loop thru it dataset and stop on the first match it hits and fetch it's graph position and translate the node to be centered in the graph. At the moment the search is quite simple, but in the _future_ it will have support for finding the bounding box for all matches and translate the bounding box to it's view port and set correct zoom level. Zoom to extent will try it's best to position the bounding box for the whole graph in the center of the view port and scale out so you can see it. A tip is to just click it a few times so it gets it right ;-) (or wait for the layout algorithm to finish)

Layer box

Radio button to toggle which network topology view you want to view, either layer 2 or layer 3. Shouldn't require any further explanation, if you need .. look into the OSI model.

Categories

You can run filters on the loaded network topology graph, pr. default the GSW,GW,SW,OTHER,WLAN,SRV, and EDGE categories are selected on by default. Here you can deactivate active filters, and nodes of the deactivated filters will disappear. You can toggle this filters back and forth without having to reload the network topology graph, it will only 'bounce' the layout algorithm to make sure the nodes aren't colliding.

Filter options , orphans

As you play around with filters, or NAV 'topology analyzer' (ipdevpoll / topology) there is certain to render single instance nodes which is nodes who has no relations to any other nodes in the current state of active filters. Here you have the option to disable or enable em.

Mark by position

Option to mark other related nodes that are either located in the same room or location. This is shown by drawing a red circle around the nodes who are related to the selected node.

Pause force algorithm

If your on either running a old version of Firefox (known to have poor javascript performance in our experience) or equipped with a «bad computer from the past», you have a option to pause the layout algorithm here.

You can resume it by drag and dropping a node, unfix a node, unfix all nodes etc.

UI options

  • Show topology errors, option to render network topology errors like a link between two netboxes who doesn't run on the same interface speed which might cause network congestion etc
Mouseover options

Enable or disable auto clicking of a node when simply hovering a link or node. This can also be toggled with the keyboard shortcuts «n» or «l» (lowercase of L).

Traffic gradient

A button to open the traffic load scale used in netmap in a popup.

Right navigation bar

Available views

A drop down / combi box which shows your available views. Your own views are listed at the top and public views are listed below it. The selected view is always rendered as the first choice in the drop down.

If the view has a description, it will be shown below the “Save” and “Favorite” buttons.

The save button is a button for updating changes to a selected view, if the view isn't saved it will trigger a “Save new as”. You probably also noticed the “+” and “-” buttons on the right side, the “+” button is always known as “Save new as” and the “-” button is known for “Delete active view”. Careful, there is no confirmation dialog when deleting a view and as an administrator you are allowed to delete any view!

A heart will popup if the selected view is the user's favorite view.

= Save new view =

Popups up a modal form, where you can enter title for the view (shown in dropdown) and a longer description if that is needed. A checkbox is available to select if the view should be open for other users in netmap or private.

Map info

This is the view that will render with a Netbox or Link template for a selected netbox or link. If your an administrator, a link to the administration area will be available at the bottom here. Depending on which network topology layer you have active, it will render a bit different information.

Netbox view

Renders the sysname and it's management IP first together with the “pping” indicator of the netbox is up or down. (this is atm only loaded at network topology graph load, in the future this will automagically refresh)

A checkbox for knowing if the node's position is fixed or unfixed in the graph. Fixed positions is what get's saved when your saving a view.

Category is the netbox's category.

(Missing atm: Device type ;-( )

Room and location information.

If layer2, render VLAN information and option to select a vlan. When clicking on a VLAN, it will mark other nodes and links that is member of the current VLAN in it's broadcast domain.

If layer3, render netident and netdescription together with active prefixes over this link.

Renders from netbox [interface] to netbox [interface]

Link speed of the link.

Traffic in and out. (from: in , out: to) Example: netbox A and B, a is listed first. That means you will read it like this: netbox A A is receiving 200mbps in and transfers 400mbps out to B.

Troubleshooting

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 http://java.sun.com/j2se/1.5.0/docs/guide/2d/flags.html in the java-plugin control-panel (under Runtime-settings).

netmap.1347886867.txt.gz · Last modified: 2012/09/17 13:01 by norangshol