Geolocation of log entries
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.
Clojure Compojure Incanter Datomic
You will need Leiningen 1.7.0 or above installed.
To retrieve dependancies, run:
lein deps
To run the tests, run:
lein test
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
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
- [ ]