34

I am looking for a Linux alternative to the Windows program “Apache Log Viewer”.

Here is a screenshot:

Screenshot of Apache Logs Viewer

I have been looking around for a while but most of the things I've stumbled upon were commandline tools. Yet, I really want something that runs on Linux and offers a nice and handy GUI… but somehow I fail to find anything appropriate that would fit the bill.

Can you recommend me a good Linux alternative to the MS Windows' Apache Log Viewer?

Features I “definitely need” and would expect from recommended software:

  • Support compressed .gz logs
  • Support IPv4 & IPv6
  • Highlight requests by status code
  • Offer column sorting by Status, IP Address, Requests, Referer, UserAgent, etc.
  • Offer search by any combination of Request, Date, IP, Referrer and UserAgent
  • Offer filter by any combination of Status/IP Address, GET, HEAD, POST Requests, Referer or UserAgent

And what “would be nice to have”:

  • Converting IP & IPv6 to country
  • Whois lookup by IP & IPv6
  • Realtime log monitoring (local and/or remote)
  • Support of NCSA/W3C IIS logs
  • Reports and statistics (with or without piecharts, barcharts and co.)

And before someone points me to the fact that I could run the Windows program in Wine … I am looking for a Linux-native solution, not a (let's just call it) “workaround” that runs on an emulated system.

  • 2
    I don't believe it fills all your requirements, but I use GoAccess on my Debian servers. If it works for you, I'll write it up as an answer. Must be run as root (since it needs to read log files) – Canadian Luke REINSTATE MONICA Mar 19 '14 at 18:04
  • 1
    Because Apache Log Viewer is written using the .NET Framework, it should run just fine on Linux using Mono. Installing Mono is really no different that installing any other framework, language, or toolkit - so this is certainly not worse than any program using Java, Python, Ruby, Qt, and/or Gtk. – Moshe Katz Apr 8 '14 at 4:43
  • (Not an answer because I haven't tried it myself.) You could look at Sawmill. It's not free, but it looks to me like it should do what you want. – Moshe Katz Apr 8 '14 at 4:48
  • 3
    Give alternativeto.net 's page a try see: alternativeto.net/software/apache-log-viewer There does not appear to be a whole lot in the world of graphical log viewers; Though I'm tempted to write one myself for your needs. – ThorSummoner May 4 '14 at 6:04
  • 1
    I'm actively putting together github.com/thorsummoner/apache-log-monitor for you, I've completed whats there in a day, Be aware that its currently like pre-alpha and may consume ungodly amounts of ram/cpu :D Once I've implemented your core feature set i'll focus on making it sustainable to use. Can you please explain what you want by 'Ip v4 and v6 support' ? That means nothing to me. – ThorSummoner May 5 '14 at 8:15
7

There's quite a useful/fun one for Apache called Logstalgia, it's an Apache access log visualization programme. It's not too feature-rich, but rather useful.

Have a look here: https://github.com/acaudwell/Logstalgia and here: http://code.google.com/p/logstalgia/

Also, there's a tutorial by *NixCraft here: http://www.cyberciti.biz/open-source/use-logstalgia-apachepong-as-website-access-log-realtime-visualization-tool/

For more of what you're actually after (apologies for the above, it's just my default - didn't realise it wasn't so customisable), there's GoAccess which has IPv6 support, geo-location, HTTP status codes, and pretty much most of what you want. Have a look here: http://goaccess.io/

GoAccess defaults to terminal output…
GoAccess export as HTML…

But GoAccess also exports to formats like HTML…
GoAccess export as HTML…

  • 1
    Sorry to say so, but that doesn’t even come near the features I “definitely need”. What you’ve recommended is a playful visualization thingy that merely uses the log-files to produce it’s animation, while I’m looking for a GUI that allows me to search, filter, and sort log entries (for purposes beyond visualization). – e-sushi Jun 16 '14 at 12:25
  • Sorry,updated now with GoAccess too (only used it briefly a while ago, but it seems to have had an update since with some more of what you require). – Elliot Reed Jun 16 '14 at 12:50
  • 2
    Gosh, I can’t believe it took about a year to finally accept your answer. Oh well, better late than never. Anyway… having dived into GoAccess and it’s export formats, the fact it handles both live logs as well as "archived logs", and all the other nuts and bolts that come with it, makes GoAccess near to perfect for my needs. Ok, a bit of scripting on the side is needed to automate things… but in the end, it obviously turned out that (looking at it from a Linux perspective) GoAccess is indeed one of the best and most usable alternatives. Thanks for pointing me to it. – e-sushi Mar 31 '15 at 23:57
  • 2
    @e-sushi and thanks for not only accepting it, but editing it to include those screenshots! That made it turn up in our review queue (I've just approved the edit – one more to go so it becomes "publically visible"), and brought it to my attention. Especially your pointing out its capability to handle both live logs as well as "archived logs" makes me wanting it :) // I had already upvoted your question. The upvote for your edit goes to Elliot, hope you don't mind :) – Izzy Apr 1 '15 at 7:15
  • @e-sushi was a bit tricky to setup (custom log format), but: wow, great! Have you figured how to restrict records to a given time-frame – e.g. to show only yesterday's stats, though the log holds the entire week? – Ooops, nevermind: grep ``date +'%d/%b/%Y'`` access.log | goaccess -a for today, add -d yesterday as option to date for, well, yesterday. Finally an easy way to figure what caused "the traffic of the day" :) (make the double-backticks inside the command single ones; couldn't figure out formatting) – Izzy Sep 19 '15 at 21:08
0

You can try Splunk, an advanced analysis monitoring software. Can be used as a tool for collecting, monitoring, visualizing and analyzing machine data from any source. It's a commercial one, but the trial version if free of use and got no limitations.

You just just place the huge amount of log files (including compressed one) into appropriate folder, so it can index them all, so you can perform sophisticated search on them and sort by some criteria (such as time or field).

Checkout the Splunk questions at Stack Overflow to look for any feature you need.

See also: What would be good log parser GUI tool?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.