Skip to content

Toro Cloud Dev Center

GeoIP data for Tracker documents

Martini can also automatically add geolocation data to a Tracker document from an HTTP request. It does this by leveraging MaxMind's GeoIP database. You can either install the database yourself in the data/geoip directory, or have Martini download and update them for you.

Installation using the user interface

To have Martini download the GeoIP database for you:

  1. Sign up for GeoLite2 downloadable databases.
  2. Once you have an account, create a license key.
  3. Provide the license key to Martini using the geoip.maxmind-license-key application property.
  4. In the Martini Runtime Admin UI, hover over the Configuration menu, then click Geo. IP Database.

    Downloading the GeoIP database

    Once the file has been downloaded, a dialog will appear telling you that it has completed:

    Prompt showing successful download of the GeoIP database

Installation using REST endpoints

Martini also provides REST endpoints for downloading and updating the GeoIP database. Send a POST request to the following endpoint to download the database: <host>:<port>/esbapi/tracker/geoip/initialize.

The easiest way to do this is to use the API Explorer.

API Explorer after downloading the GeoIP database

Martini will also log messages similar to the ones below outlining that the database has been downloaded.

28/04/20 02:26:12.886 INFO  [MaxmindGeoIpService] Starting to download cities database
28/04/20 02:26:14.449 INFO  [MaxmindGeoIpService] GeoIP database downloaded to /opt/toro-martini/data/geoip/cities.mmdb
28/04/20 02:26:14.631 INFO  [MaxmindGeoIpService] Starting to download countries database
28/04/20 02:26:14.870 INFO  [MaxmindGeoIpService] GeoIP database downloaded to /opt/toro-martini/data/geoip/countries.mmdb

GeoIP properties

Once the database is installed, any subsequent document that was created from an HTTP request will have the Request City, Request Coordinates, and Request Country properties added, as shown below:

Martini Runtime Admin UI showing GeoIP properties

Integration with Google Maps

Martini can also show a map of the GeoIP location. To enable this, get a Google Maps API key, and add it to the application property. Once this is done, the Martini Runtime Admin UI will also display a map of the location for all existing and new documents.

Martini Runtime Admin UI showing GeoIP map