/Log4Jeo

Geolocation of log entries

Primary LanguageJavaScript

log4jeo

Geolocation of log entries

Overview

We aim to consume Apache HTTPD access_log entries and display their distribution on a map (global or UK). We also wish to take subsets of the data (e.g. 3 weeks ago until 1 week ago) and display this subset distribution.

Suggested Technologies (subject to change)

Clojure Compojure Incanter Datomic

Prerequisites

You will need Leiningen 1.7.0 or above installed.

Get dependancies

To retrieve dependancies, run:

lein deps

Running tests

To run the tests, run:

lein test

Running

To start a web server for the application, run:

lein ring server

To start a headless web server, run:

lein ring server-headless

To kick off auto-compilation of clojurescript code, in a separate terminal or screen, run: lein cljsbuild auto

License

Copyright © 2014 FIXME

This product includes GeoLite2 data created by MaxMind, available from http://www.maxmind.com

##TODO

  • Merge timestamp and ip address functions- AL
  • Convert timestamp and ip to JSON - AL
  • Convert timestamp to epoch time - AL
  • Extract all long and lats from Apache log and convert them to JSON - AL
  • GET endpoint JSON with relevant data from Apache logs - AL
  • Integrate database (Maxmind CSV) with GeoIP location - RL
  • Provide a lookup function for IP address to location - RL
  • Visualise map with :longitude(s), :latitude(s), (:city?) - NL (contour)
  • Render statistics : Create some starting graphs that consume the data - UT
  • Add instructions for lein cljs build - UT
  • Decide on which rendering graphs - UT - at this stage incanter with memoization most straightforward
  • Instructions on Datatomic install - RL
  • Get data from MaxMind urls and unzip as a periodic background process
  • [ ]