Submit a ticketCall us

AnnouncementsFace your biggest database issues head-on

Our new eCourse helps you navigate SQL Server performance blocks by teaching you how to recognize and deal with the three DBA Disruptors: Performance Hog, Blame Shifter, and Query Blocker. Register today to learn how to defend your environment and fend off menacing disruptions.

Register for your free eCourse.

Home > Success Center > Network Performance Monitor (NPM) > NPM - Knowledgebase Articles > World Map Improvements - Support Documentation

World Map Improvements - Support Documentation

Updated June 30th, 2016


This article provides information on the World Map improvements. 


  • All NPM versions


  • Description
    • 1. Major improvements for WorldMap resource 
      • 1.1. Ability for user to place Groups into map
      • 1.2. Automatically place objects into map
      • 1.3. Automatic zoom aggregation
      • 1.4. Ability to customize world map point title
    • 2. Minor improvements for WorldMap resource 
      • 2.1. Ability to export to PDF manage world map page
      • 2.2. Reset to default location and zoom button
      • 2.3. Filter world map points by entity
  • Database Tables
  • Logging
  • Troubleshooting 
  • FAQ


1. Major improvements for World Map resource 

1.1. Ability for user to place Groups into map

WorldMap resource is now more plug able and modules can add support of its own objects to be placed on this resource. We've removed existing hard coded places which restrict WorldMap resource to work only with nodes object. Now user can select which object he would like to add into the map (currently available Nodes and Groups):


User can expand groups within the Selected Objects right panel:


1.2. Automatically place objects into map

There was lot of requests from customer howto automatically place nodes into the map. So we've implemented here two ways:

    1. Automatic geolocation using SNMP location field (enabled by default).
      This method is only works for that objects with Location field available. How this works? Within the our module engine we've implemented new job which periodically do the following:

      1. check if there is some changes within the (SNMP) location field or some new object has been added (discovered) and get those location names (actually it's street address values)
      2. request MapQuest API services to get GPS coordinates for those locations (street addresses)
      3. place objects into appropriate locations into world map resource
      !!! IMPORTANT: There are the following limitations:
      1. Currently this works only for nodes objects which have Location column available.
      2. Automatic geolocation doesn't change locations for manually placed objects. If user place object into map manually it means that this object would not change his location when there is Location value changes. If user change location for automatically placed object there will be confirmation message like:

      3. and if user click Move Location button all these objects goes to manual mode and automatic geolocation job won't touch them anymore until they'll be deleted from map.
      4. It doesn't work if there is no connection to the Internet due to this functionality requests external MapQuest API services.
    2. Place objects to map using Latitude/Longitude custom properties
      What have been done here:

      1. Implemented Custom Properties for groups - now user can create/update/delete custom properties for groups like we have for nodes/interfaces/volumes
      2. Improved Custom property inline editor and custom property Import/Export pages to be able to easily move CP data to world map points:
      3. There is additional columns within the CPE which will change location directly on world map (these columns aren't shown by default):
      4. User can export Latitude and Longitude CP values  into file and then import them back to WorldMap points. 
        So in case user already have Latitude and Longitude custom properties with specified values than he can do the following things to import them into map:
        1. export  Latitude and Longitude custom properties into the file
        2. Import CP values into world map points:
        The same can be done for Orion groups objects as well (as it also support custom properties now).


1.3. Automatic zoom aggregation

Automatic zoom aggregation - new feature that aggregates into one visual point objects which are close to each other and it's hard to select single one. There is different point image and popup for aggregated objects:

When you click on aggregation point - map will automatically zoom in to see aggregation points. 


1.4. Ability to customize world map point title

Now user is able to customize location names - this is optional setting:


2. Minor improvements for World Map resource 

2.1. Ability to export to PDF manage world map page

Placed Export to PDF button on Manage World Map page, so now user can export whole map into PDF file. Used our standard Export to PDF widget, so nothing special here.


2.2. Reset to default location and zoom button

Within the previous implementation there wasn't Reset button on map - so users have to reload whole page to go back to default location and zoom. Now user can just click reset button and map will back to default location and zoom:


2.3. Filter world map points by entity

User now is able to filter objects on WorldWide map resource by separate filter for each entity or filter object to see only single type of objects (like see only Nodes - in this case just un-check Groups checkbox):


Database Tables

Changed within the DB which have to be done:

  1. Modified existing dbo.WorldMapPoints table:
    1. InstanceID column type changed from (int, null) to (nvarchar(150), null) - this change will allow us to support any object in future (fixes issue it object use GUID as id for example) 
    2. Added column AutoAdded (bit, not null) - this column identify if object placed into map automatically or manually  
    3. Added column StreetAddress (nvarchar(255), null) - this column is used by automatic geolocation job to identify if Location value was changed.
  2. Created new dbo.WorldMapPointLabel table which is used to keep customized location names with the following columns:
    1. LabelId (PK, int, not null)
    2. Title (nvarchar(250), null)


World Map Logs

WorldMap currently uses the following log file:

  • OrionWeb.log - here we should take a look if there is any issues with showing/filtering/saving world map points data, etc.
  • ActionsExecution.log and Core.BusinessLayer.log - if there is any issues with automatic geolocation job (objects doesn't located into map automatically).



Automatic geolocation

  1. There is no connection to Internet - within the ActionsExecution.log and Core.BusinessLayer.log be errors like couldn't connect to the
  2. Object location isn't changed for long time period - there is app setting within the SolarWinds.Orion.Core.BusinessLayer.dll.config file:
    <add key="AutomaticGeolocationCheckInterval" value="01:00:00" />
    This means that Module Engine will check for updates every 1 hour by default. User can change this setting and restart Module Engine service
    In Zelda we moved AutomaticGeolocationCheckInterval setting to Database - WebSettings table
  3. GeolocationExecutor: 403 error  we're using open mapquest API to resolve streetaddress to coordinates with our own AppKey, but in case this key will be blocked for some reason customer may register its own key on,set it within the  SolarWinds.Orion.Core.BusinessLayer.dll.config -> add new app setting like: <add key="MapQuestKey" value="your key value" /> and restart module engine service
    In Zelda we moved MapQuestKey setting to Database - WebSettings table
  4. Some wrong GPS coordinates - there is life documentation of map quest API ( where everyone can check how it resolves street address into coordinates
  5. How to disable automatic geolocation - within the Settings table there is "AutomaticGeolocation-Enable" setting CurrentValue = 1 by default, Set CurrentValue = 0 for this setting to disable automatic geolocation.
  6. How to change geolocation field - in Katamari user can add/change app setting within the SolarWinds.Orion.Core.BusinessLayer.dll.config, setting name is {entityname}+"_GeolocationField" for example <add key="Orion.Nodes_GeolocationField" value="Location" />. In Zelda we moved this to the database (WebSettings table)





Last modified