Bitser freeware icon
Bitser freeware logo
Free archive and backup software for Windows

Apachetail - Download

Apachetail is a free real-time Linux Apache web server log monitoring tool that runs from a Windows Desktop. It connects directly via SSH to your Apache web server reading, parsing and analysing the logs in real-time. The logs are written to a local SQLite database and displayed in a dashboard showing detailed stats for your website. It reports visitor ip addresses,  Browsers, Operating systems, status codes, webpage requests, referrers and combined stats over time similar to Google analytics. Its allows you to specify multiple logs on a single webserver so you can analyse multiple virtual hosts simultaneously. It can also now tail any linux logs into a combined real-time view.

download zip Apachetail - Version 1.2 (2MB)

Supported Operating Systems

Windows 10
Windows 8.1
Windows 7
Windows XP, Vista
Windows Server 2003
Windows Server 2008
Windows Server 2012
Windows Server 2016
32-bit and 64-bit versions are supported.
Checksum SHA-256:
b43f6c6d2a09ebd024987fcae0a0384f
5cfa3b878dc16c509538ffd32e705df8

Requirements

Microsoft .NET 4.0 which is freely available from Microsoft's website and may already be installed on your computer.

 

Sponsored Links

Apachetail Overview

Apachetail was original designed for personal use to analyse my own Linux server Apache web server logs without having to use Google analytics which only shows stats for 1 site at a time in real-time. Also as I have seen in testing Google Analytics is not all that accurate. It doesnt catch all visitors to a page even though it has the analytics code. For example, GA doesnt detect visits from my Android Firefox browser at all, even when firefox protection is turned off! Another reason I dont like many of the apache log analyzers is because they require you to install software directly on the web server which I'd rather not. Apachetail is still in Beta but seeing that its quite useful I thought to make it available to other web server admins. Its portable and requires very little setup on your Windows desktop and Linux server other than making sure the log format on the Apache server is in the supported format. It doesn't support Windows Apache servers at the moment but may in future. It has mainly been tested with a Centos server with a mild load so I'm not sure how well it will work with a high traffic server. Feel free to send through any feedback.

How Does Apachetail Work?

Apachetail connects from your Windows desktop to your Linux server using putty and SSH. It runs the "tail" command on the logs you specify and pumps the Apache logs back to a local SQLite database. Note that the password you configure in the profile is not saved and has to be entered each time your connect. Also the password is not sent until the SSH connection is established with the server. SSH port 22 will need to be open on the server and your IP address will need to be allowed to connect. If you can connect with putty from your desktop then Apachetail should be able to connect also. The account you specify must have read access to the logs on the server.

How to use Apachetail

Download the above zip file and extract it to a folder. You can verify the download using this Virustotal link. Apachetail is completely portable. To start Apachetail just run Apachetail.exe.

To begin using Apachetail you must first setup a new Profile or edit the default.

First, click the Config tab then click the Add button to create a new profile with default values.

Server IP Address - enter the ip address and port of the server that contains your Apache logs. eg. 192.168.0.10:22

Username - enter the username or the account that has SSH access to the server with read access to the apache logs.

Password - the password!

Apache Log Format - by default the combined format is used here but you can specify your own format. Apachetail has been designed to make use of the Referrer and User-Agent data so its recommend to use this format in your logs. The LogFormat directive is specified in your Apache servers .conf file. It must be the same as the log format specified here. Also Apachetail has mainly been tested with this format so other formats may or may not work correctly. Apachetail will parse the log format you specify here and in theory should be able to determine the ordering of your logs automatically but it hasn't been fully tested with varying formats. Also make sure the quotes are left exactly as shown.

Apache Log Paths - enter the exact path to your Apache server's request logs. This can be found in your Apache servers .conf file under the directive CustomLog. If the server is hosting multiple websites then you can enter each log you wish to monitor on a new line. Apachetail will create a new SSH connection for each log path you specify. Examples:

/var/www/mydomain1.org/requests.log
/var/www/mydomain2.org/requests.log 

General Log Paths - enter the exact path to any of your server's logs such as the apache error logs or the main syslog file. You can enter multiple paths on a new line. You can also use the new journalctl -f commands on Linux servers that support it. Examples:

/var/www/mydomain1.org/error.log
/var/www/mydomain2.org/error.log
/var/log/messages
/var/log/syslog
/var/log/maillog
journalctl -f
journalctl --follow --lines=50

Status - once you have clicked the start button this field will show you the status of the connections to the server. If the connections are successful you should see listed the putty SSH process id's as running. Also Apachetail's main text bar will also show running and the total minutes its has been running.

Apache Logs Tab

This tab shows 2 tables. The top table shows the current active users. It only shows the requests in the last minute. The bottom table shows the last 500 logs. The toolbar at the top of this tab allows you to filter logs so that they are not displayed and they are not added to the database. You can either use an include filter or and exclude filter. The filter will simple include or exclude any log that contains the text you specify. You can specify multiple strings by simply separating them with a space.

Troubleshooting Apachetail

Normally after you click the start button the status field should show something like the following if the connection is successful:

Established SSH Connection PID: 3188 - Running: True

If you have multiple Apache log paths specified then you should see one connection for each path. Also if you click the Logs tab you should see at least one log file shown in the tables. If the connection fails for whatever reason then you will see:

Connections closed

Connection failures are caused by one of the following:

General Tips

Release Notes

Version 1.2 - 20th May 2018

Version 1.1 - 17th November 2018

Version 1.0 - 8th January 2016

 

Screenshots

apachetail