The sys admin's daily grind: New logfile tool

Sweet Logger

Article from Issue 158/2014

Just as a craftsman is unlikely to purchase a new angle grinder every month, sys admins are unlikely to change constantly their tried and trusted tools. Columnist Charly Kühnast ditches this conservative philosophy this month, lured by the charms of a new logfile tool.

A system administrator's choice of weapons for dueling with the daily grind is likely to be pretty conservative. For example, Webalizer has been my tool of choice for analyzing web server logs for something approaching eternity. However, there is no shortage of alternatives: AWStats, AWFFull, and others are available for adventurous admins. But, why experiment? The other tools just do the same thing as Webalizer – that is, create intuitive evaluations from web server logs.

I am tempted to be unfaithful, however, if I need a real-time summary, with precision down to a second. Apachetop gives you a line on this, and I wrote about it some time back [1]. Since then, a better tool has hit the market: Go Access [2]. This tool parses the web server logfile, evaluates it up to the present point in time, and displays the results at the command line. Go Access reads typical logfiles in Common Logfile format, but also in Combined Logfile format. If you have something more exotic, you have the option of teaching Go Access how to handle it.

Go Access writes its output continuously. Thus, I can watch the web server work in real time. In the simplest case, you just pass in a single parameter, the path to the logfile, at run time:

goaccess -f /var/log/apache2/access.log

Another very practical aspect is the ability to add an IP address and, at the same time, tell Go Access to ignore access to it:

goaccess -f /var/log/apache2/access.log-e

This approach avoids evaluating access by the monitoring systems (Nagios, Icinga, or load balancers), all of which cyclically check whether the server is still alive.

Forward Roll

The command-line display is divided into sections Go Access calls modules. The modules are listed from the top down, so you need to scroll to see them all. Some lucky admins have access to portrait-format displays – not me.

Figure 1 only shows the first four modules and the first line of the fifth. In fact, however, Go Access displays 11 modules, including overviews of the most commonly used browsers and client operating systems, the most frequently referring sites, and search keys that prompted search engines to point users to my website. Another practical thing is that Go Access painstakingly differentiates between crawlers and genuine browsers in its evaluations.

Figure 1: Four of 11 real-time-capable Go Access modules.

A module only shows the "Top 6" list for its category. More details are quickly accessed, however: Each module is represented by a number in the header; for example, 6 - Operating Systems. If you press 6 on the keyboard and then O (for open Detail View), you are treated to a full list view. Pressing F1 displays more interactive shortcuts.

Authoritative reports on closed logfiles, long the domain of classic log analyzers like Webalizer and others, are naturally part of Go Access's feature set. It looks like I'll be sending Webalizer and Apachetop off to the happy hunting grounds in the near future.


  1. "The Sysadmin's Daily Grind: Webalizer Xtended" by Charly Kühnast, Linux Magazine, February 2006, pg. 65
  2. Go Access:

The Author

Charly Kühnast is a Unix operating system administrator at the Data Center in Moers, Germany. His tasks include firewall and DMZ security and availability. He divides his leisure time into hot, wet, and eastern sectors, where he enjoys cooking, freshwater aquariums, and learning Japanese, respectively.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Charly's Column

    Webalizer is a tool for analyzing web server logfiles. A new patch lets admins see what isn’t there.

  • Charly's Column

    Zsync handles a special case: large volume download files that change frequently but not drastically. Charly shows how this handy file fetcher can save you time and bandwidth.

  • Charly's Column

    It would be great if every MySQL database enjoyed perfect health 24 by 7, but unfortunately, trouble sometimes strikes. A logfile isn’t much help if you are investigating why a database is flooded with requests. Mtop to the rescue.

  • Charly's Column

    The Apache web server can fight back against DoS attacks. You just need a little help from Mod_evasive.

  • Charly's Column

    Using SQL to sift syslog data out of a database is an admittedly universal, but also fairly convoluted approach. phpLogCon, with its web interface, gives admins an easier option.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More