Enable Geolocation in Access Manager Analytics Dashboard

Enable Geolocation in Access Manager Analytics Dashboard

1. Introduction


 
Analytics Dashboard provides visual analytics of access related data based on the usage, performance, and events of Access Manager. The events are captured and filtered through Analytics Server. For more information about Analytics Server, click here.

The dashboard helps in visualizing the access patterns, tuning the policies, and getting insights about the usage of Access Manager in your environment. You can also monitor the real-time data access patterns to decide further actions.

Geolocation dashboard shows a map with the number of logged in users in a specific geographical location. This solution will demonstrate how to use Maxmind Geolocation Provider with Analytics.

Before using MaxMind, please read through the license agreement: https://www.maxmind.com/en/license_agreement

2. Develop Custom Geolocation Provider


 

2.1 Prerequisite



    1. Download MaxMind offline city database form here.

 

    1. Download MaxMind JAVA API files (geoip2-2.9.0.jar and maxmind-db-1.2.2.jar) from here.
      I have attached a zip file here which contains these two JAR files. MaxMind-API

 

    1. Copy nam-aggregator-core.jar from Access Manager Analytic server (/opt/novell/nam/aggregators)



2.2 Create Java Project and Develop Java Class


 
Create a java project and copy the JAVA code from the attached file. You need to have geoip2-2.9.0.jar, maxmind-db-1.2.2.jar and nam-aggregator-core.jar to your build path in order to compile and build the project.

MyMaxMindLocalDB.java

This JAVA code reads the IP address and makes a query to MaxMind offline DB to get the city and country details of the IP and returns a GraphGeoLocaBean object to Analytics Aggregator to fill the map with geolocation.

2.3 Export JAR and deploy




    1. Right click on the Java project and export as JAR file. I have attached my version of JAR file here for your convenience. LocationProvider

 

    1. Copy three JAR files (LocationProvider.jar, geoip2-2.9.0.jar and maxmind-db-1.2.2.jar) to Access Manager Analytic server (/opt/novell/nam/aggregators)

 

    1. Restart the aggregator using following command:
      /etc/init.d/novell-realtime restart

 

    1. Copy the offline MaxMind DB (GeoLite2-City.mmdb) to Analytic server (/var/opt/novell/maxmindDB)



2.4 Configure Analytics Servers


 
Open Admin Console and go to Devices -> Analytic Servers -> Edit and click on Geolocation Provider.

Enable Location Profiling and provide following information:

Geolocation Provider: Custom Provider
Provider Name: MyMaxMindLocationProvider
Java Class Path: com.microfocus.custom.geolocationcore.MyMaxMindLocalDB
Property Name: citydbfile
Value: /var/opt/novell/maxmindDB/GeoLite2-City.mmdb

27

Apply changes to Analytic servers.

3. Testing


 
Login to your NAM Protected Applications / Federation application from different geographic location you will see the county highlighted in the Analytics Geolocation dashboard.

28

Please feel free to contact me here if you have any issues.

Labels (2)
Attachments

DISCLAIMER:

Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Comments
How do you add internal network (NAT) address's to the DB? Ones that are inside the perimeter?
I have not done any customization of Maxmind DB. But, below link has some information about adding internal IPs into Maxmind DB:
https://github.com/threatstream/mhn/wiki/Customizing-Maxmind-IP-Geo-DB-for-Internal-Networks

I will try this and add to this solution.

Are there any updates to this? I just tried to use it on the latest Analytics server, 4.4.3, but I cannot get it to work.  I don't get any errors, but I don't see it ever calling the class to look up the IP locations.  What about making a class to use the MaxMindPrecision service instead of the local DB?

 

UPDATE: I ended up doing OS patching on the Analytics server and rebooting it and after the reboot, it started working.  So I guess just restarting the novell-aggregator service is not sufficient to get this to work.  Still would be curious to know if it would be possible to use the MaxMind Precision service like you can with RBA.

Top Contributors
Version history
Revision #:
2 of 2
Last update:
‎2020-01-31 11:17
Updated by:
 
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.