3

I have a whole bunch of Apache logs that I'd like to idly thumb through. Because each line is so long, however, it's somewhat painful to do through vim - my terminal just isn't long enough.

I'd like a native OS X application to view each entry in a non-painful way. All I really want is a big human-readable list of requests, with search. Requirements:

  • Work on OS X 10.10 (and 10.11, when it comes out)
  • Accept a standard-format log file - a standard line out of mine, for example, looks like this:

    subdomain.mydomain.com:80 xx.yy.zz.aa - - [28/Sep/2015:03:05:46 +0000] "POST /mini-profiler-resources/results HTTP/1.1" 200 65182 "http://metasmoke.erwaysoftware.com/posts" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36\ **0/99106**
    

    I haven't played with the log format settings at all, to my knowledge.

  • Be free, I'm not willing to pay money for this

Nice to have:

  • Open source would be a huge plus
  • Color coding for responses - I.e., red for a 400/500 class error, black for a 200, green for a 300, etc. Ideally user-configurable, but I'm less concerned about that
  • Allow me to search/filter through all fields or only one field - I.e. all requests from a certain spider, etc.
  • Let me give it an SSH key and path and have it automatically go get the file without me manually copying it down to my local machine.

Is there any software that would do this?

  • 2
    Might this answer help you out? GoAccess is FOSS. It doesn't explicitly mention OSX, but from the install instructions (the typical configure && make && make install) I'd say chances are good you can do that on your Mac as well. Quite convinced me. Reads from log files as well as from pipes, which should solve your SSH part (simple shell script to retrieve, cat and pipe should do the trick) – I use that for picking "only yesterday's" or "only today's" log entries. – Izzy Sep 30 '15 at 8:50
  • Used to use a program called analog - run it on the server, it would generate a nice pretty HTML document with pie charts, bar charts, etc. for all sorts of information. Unfortunately, the domain it was hosted on (analog.cx) is long gone.... – ivanivan Jun 11 '17 at 16:45
1

ELK Stack or Splunk will do want you need and more. Splunk is free if your amount of data is less than 500MB per day.

Of course, there is a bit more setup than a command line tool. They will definitly help if your last point is really important:

Let me give it an SSH key and path and have it automatically go get the file without me manually copying it down to my local machine.

That's the goal of Logstash and Splunk forwarder.

0

lnav would be the software that you want:

  • Open source
  • Free (as in beer)
  • Works on macOS
  • Color coding
  • Advanced search functions

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.