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!!
1 of 1 people found this helpful
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.ActionExecutorBase.Execute(IServiceProvider serviceProvider, ActionDefinition definition, ActionContextBase context, CancellationToken cancellationToken)
If you have the above error it is because of Mapquest API.
- 1. Generate a key for your site on https://developer.mapquest.com/plan_..._free/register
- 2. Take that key and open the following file in notepad:
C:\Program Files (x86)\SolarWinds\Orion\SolarWinds.Orion.Core.BusinessLayer.dll.config
- 3. Look at the section appSettings. After that tag, add the following:
<add key="MapQuestKey" value="your key value" />
- 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
Wed, 01/20/2016 - 10:45
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 " />
- 4. After that, restart the Orion Module Engine / Business Layer service.
- 5. In the Orion Web Console, browse to Settings >Web Console Settings.
- 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.
So, you added the key to the .config file? Did you restart the Orion Module Engine / Business Layer service? How long did you wait after this test?
not yet. I'm in NPM 11.5.3 and still not showing
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.
One small thing I forgot..
Some times.. many times.. a Location OID isn't convenient. It would be nice to have a config override so you could point the source to something like a custom property single line address field.
Yes.. Like for nodes where you aren't running snmp.
One other thing.. after all the data is right, you have to restart the Orion Module Engine or just wait around an hour..
We are running NPM 12.1.
World Map / Automatic Geolocation is easy to setup.
- Make sure NPM can get to the Internet. It needs to be able to reach Mapquest. If Internet access goes through a proxy, you'll need to configure NPM proxy settings per the link below.
- Auto-placement on the World Map is dependent on SNMP. For Cisco devices, configure "snmp-server location". We use "street, city, state, postalCode".
- No need to stop/re-start Orion services as NPM will collect the snmp-server location during the next polling cycle.