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.


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


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.


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


How To-Best Practice
Comment List