Does anyone know of a tool that will analyze an Apache access log and show the location of each client that accessed the site, ideally showing city, state and country on a map in the same way that Google Analytics does ?
I've looked at Webalizer and AWStats, but they only seem to go down to country level, they only show tables of data rather than maps, and they also seem to infer the country based on the domain name of the client rather than doing a location lookup on the IP address. For example, my Webalizer setup shows the country of a .com domain as just ".com", but it will show the country of a .co.uk domain as the UK.
Although I haven't used it personally, Nihuo Web Log Analyzer seems to do what you're looking for.There's also a 30-day free trial available.EDIT: Oh, just realised it doesn't map the hits to a visual map...
AWStats includes the needed plugin by default to get tables down to city and state, but you will need to buy access to that database from MaxMind. Getting a map out of that data would require some custom scripting it looks like though.
you could cut the ip address out and try this: http://ip2country.pauljonesdotuk.co.uk/webmaster
although it is still in alpha testing
Cheers, sprouty
Are you using the geolocation database with Webalizer? You can get it here. Or there's also Google Analytics.
Gip at https://github.com/softhub-software-development/gip visualizes client accesses on an OpenStreetMap when run as a server process. Used as a command line utility, it prints geo-information on ip addresses.