====== Netmap - the network weather map ====== {{tools:vlanplot.png|}} Netmap was introduced in NAV 3.5 written in Java and replaced the old traffic map ([[trafficmap|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 [[http://d3js.org|D3JS]] library, and uses its [[https://github.com/mbostock/d3/wiki/Force-Layout|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. ===== Features ===== 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 [[backendprocesses#ipdevpoll|ipdevpoll inventory job]] and [[backendprocesses#topology|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. Netmap consists of two navigation bars, one on each side of the screen, and the map itself. The navigation bars can be toggled by clicking the "<<" or ">>" links. You can toggle fullscreen with CTRL+SHIFT+F. The load colors((Click "Show gradient" to get an overview of what the colors indicate)) on edges represent traffic load based on the link's capacity, and the link's thickness represents the link speed. ==== Map ==== * Nodes can be positioned to your liking by clicking and dragging it. * To view information about a node or a link, just click on it. * You may zoom the map by using the scroll-wheel on your mouse. ==== Left navigation bar ==== The left navigation bar has options for filtering and controlling the behaviour of the map. === Searchbox === This searches for the name of a netbox and centers the map on it. If the search hits several netboxes the map will center on the first. === Zoom to extent === Zoom to extent will try to position the whole graph in the center of the view port and scale out so you can see it. === Layer box === Toggle if you want to see layer 2 or layer 3 topology (([[http://en.wikipedia.org/wiki/OSI_model|OSI model]])). === Categories === Choose what categories of netboxes you want to see. === Filter options === * **Filter orphans**: Uncheck this to hide nodes with no links to other nodes. * **Mark by position**: Mark nodes that are 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**: Pause the layout algorithm by clicking the button. A green icon indicates active algorithm, a red an inactive algorithm. Resume it by drag and dropping a node, unfix a node, unfix all nodes or clicking the button again. * **Fix or unfix all nodes**: Set all nodes to fixed or unfixed. Fixed nodes will not move when running the algoritm. === UI options === * **Show topology errors**: for instance mark links with differing speed set on the netbox inerfaces * **Mouseover options**: Enable or disable auto selection when hovering a link or node. This can also be toggled with the keyboard shortcuts «n» or «l» (lowercase of L). === Traffic gradient === Open the traffic load scale used in netmap in a popup. ==== Right navigation bar ==== === Views === Choose active view from the drop-down menu. == Actions == * The save button will update a selected view. If the view isn't saved it will trigger a "Save new as". * The "+" button will create and save a new view. * The "-" button will delete the active view. * The "Favourite" button will mark this view as your favourite. This view will then be the default view. The favourite view is marked with a heart. == Save new view == Enter a title and optionally a description for the new view. You can also set if the view is public or not. === Netbox/Link info === Depending on if you clicked a link or netbox the following info will be displayed: == Netbox == Shows information about this netbox. You also have the option of toggling the fixed-state of the netbox on the map. If we are on layer2, VLAN information will be displayed and an option to select a VLAN. Clicking on a VLAN will display the spread of it. == Link view == If layer3, render netident and netdescription together with active prefixes on 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). Using an old outdated browser with poor javascript performance or having a old computer. (the layout algorithm is quite CPU intensive). Chrome is known to have the best javascript engine, so we recommend the use of chrome webbrowser.