This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

World Map Automatic Placement Nodes

This is my First post after completing my Solarwinds NPM Course.

The Company I work are looking at using the World Map feature in the NPM Solarwinds Software in Version 10.7. I am planning to upgrade to 11.5 this month.

I am trying to find how to automatically add nodes to this map. I tried using the help section

From the Help Page

Automatic Placement of Nodes

If your devices contain information about their location in the OpenStreetMap format, they can be added into the Worldwide Map resource automatically.

Nodes with the same address appear in the map as one location.

By default, the automatic placement of nodes is enabled.

To verify whether the automatic placement of nodes is enabled:

  1. Log in to the Orion Web Console as an administrator.
  1. Click Settings in the top right corner, and then click Web Console Settings.
  1. Scroll down to Worldwide Map Settings and make sure that the Automatic Geolocation box is selected.

  Note: Locations will display in the Worldwide Map resource within an hour after you select this option. 

  1. Click Submit to apply the current settings.

But as far as I can see the see the option does exist on this page.

I have attached screen shots from the system

Guy

attachments.zip
  • This comes with 11.5 and it uses the SNMP location field.  This field must be populated on the device and Orion reads it from the device and then does a lookup for GPS coordinates so that Orion knows where to put it on the map.  Note that currently it only works with SNMP, not WMI or Agent based monitoring.  Note that alexslv‌ has some good posts on ways you can do the location plotting using custom properties which would allow you to enter an address in orion and have a script look up the address and give orion what it needs to plot on a map.

  • So does this mean that you must add coordinates in SNMP SysLocation for this to work?

  • No.  Its like typing in a location in google maps.  Type in the location and google figures out the approx. GPS coordinates  and zooms you in on the location.  Type in "San Diego"  in a SNMP location field and SolarWinds looks up the GPS coordinates and adds them to the database.  Then when you browse to the worldwide map and the nodes will appear in the middle of san Diego.  But you can also type in a more detailed address and the location will be more accurate.

  • Thanks I have now upgerade to 11.5 as now have the option to fo automatic placement

  • I have Automatic Geolocation box is selected. Now what? How do I make the objects to appear in the map? I have few with the address as google like it but they don't popup.

  • Have you found an answer to this Rodolfo?

  • I think lots of people are having problems with this, not sure if there is a solution or not...

    You might be interested in voting this up if you're interested in using Geolocation however!!

  • I have already, So I learned you need a Mapquest API setup for this instructions are below:

    The worldwide map resource is not populating with your nodes information after 90 minutes even if you have configured the SNMP location field on your nodes. The following error is seen in C:\ProgramData\Solarwinds\Logs\Orion\Core.BusinessLayer.log:

    ERROR SolarWinds.Orion.Core.Actions.ActionExecutorBase - Action [Action: ID: , ActionType: Geolocation, Title: , Description: , Enabled: True, Order: 0 , Context:EnviromentType: WorldMap] execution has failed.
    System.Net.WebException: The remote server returned an error: (403) Forbidden.
    at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
    at System.Net.WebClient.DownloadString(Uri address)
    at System.Net.WebClient.DownloadString(String address)
    at SolarWinds.Orion.Core.Actions.Impl.Geolocation.GeolocationExecutor.UpdateCacheWithResults(String requestUrl)
    at SolarWinds.Orion.Core.Actions.Impl.Geolocation.GeolocationExecutor.ExecuteInternal()

    at SolarWinds.Orion.Core.Actions.ActionExecutorBase.Execute(IServiceProvider serviceProvider, ActionDefinition definition, ActionContextBase context, CancellationToken cancellationToken)

    If you have the above error it is because of Mapquest API.

    The resolution:

    1. 1. Generate a key for your site on https://developer.mapquest.com/plan_..._free/register
    2. 2. Take that key and open the following file in notepad:

    C:\Program Files (x86)\SolarWinds\Orion\SolarWinds.Orion.Core.BusinessLayer.dll.config

    1. 3. Look at the section appSettings. After that tag, add the following:

    <add key="MapQuestKey" value="your key value" />

    1. 4. If you look in that file you will see a lot of "add key" with a value paired to it. Match that format, except use the above MapQuestKey for the key= and then insert your personal key after value=

    Below the information from our private key from the Map quest web site

    My Application’s Keys

    Consumer Key

    z5oqG0NaXFFJaVCkmWiblCgUqLo5uYCj

    Consumer Secret

    adAaQH8LmkBWNSIG

    Key Issued

    Wed, 01/20/2016 - 10:45

    Key Expires

    Never

    add key="MapQuestKey" [Consumer Key goes here] value="your key value"[Consumer secret goes here]

    Below will be the result for the new Key

    <add key="z5oqG0NaXFFJaVCkmWiblCgUqLo5uYCj" value="adAaQH8LmkBWNSIG " />

    1. 4. After that, restart the Orion Module Engine / Business Layer service.
    2. 5. In the Orion Web Console, browse to Settings >Web Console Settings.
    3. 6. Verify that the Automatic Geolocation is enabled. If not, enable it. Wait for 90 minutes and the locations should be updated on the map.

  • I'm confused.  When parsing the XML how does the program know to use this key and value?  Where did you find this information?

    I registered with MapQuest for my own API key and tried this solution.  I am, however, still getting the 403 Forbidden error in my log, so it doesn't look like it's using this entry.

  • Some notes from my own usage..

    1)  Once the mapquest keys get installed properly, you shouldn't have any 403 Forbidden messages unless you exceed your API subscriptions limitations.

    2)  SNMP Community String is the best place to set the precise address although there are reasons you might not want to do that for Security.

    3)  If you can't set SNMP Location to the format of:  "111 1st Street, Jersey City, NJ, 07302", you can try using just a bare zip code and it will geo locate at least to the center of the zip code.

    4)  If you can't do that, you can go and enter the address data manually in NodesData.Location, i.e. ICMP nodes that can't be polled for SNMP Location.

    5)  Randomly mapquest API *appears* to get incorrect data from the perspective of the Orion Module Engine and retuns the Lat/Long to place the node halfway in between Atwood and Norton, KS, or due east of denver a bit (center of the US apparently).  I believe this to be some sort of data sanitization issue on the inputs causing incorrect address data to be presented to mapquest.  I supposed this could be verified with a pcap and some digging to be 100% sure, but the mapquest standard UI (www.mapquest.com) returns the correct values.

    6)  When this happens (maybe 2-5% of remote Z locations) you can look at the WorldMapData table which has the NodeID as the primary key and also contains the street address, Lat, Long, and a special yes/no/checkbox field that says "auto added" which allows it to be auto updated whenever location data changes. 

    To adjust this, I simply use Orion Database Mangler, open the table, enable editing and for any manual overrides, paste in the correct Latitude and Longitude figures and deselect the autoadded checkbox, this permanently fixes the broken map display due to invalid GPS coordinates of

    Lat: 39.78373, Long: -100.445882

    In fact, if you just scan down the table you can easily see all affected nodes based on those values or select statements..

    This very manual operation could easily be corrected by an offboard script and SQL, but so far, it hasn't been a huge burden, just an inconvenience.  I'd probably rather see the Google Maps API added as an API option and (if needed after thorough review by dev)
    adjustment to the data sanitization portion and be a bit more flexible and accurate with parsing the data coming from the Location OID.

    Peter