asql8
Provide an sql interface to apache logfiles.
Usage
asql [options]
Overview
asql provides a simple console interface to allow a user toquery the contents of an Apache logfile via an SQL interface.The shell features include:
- Persistent alias definitions.
- Command line completion
- Command history
- Simple scriptability
Introduction
The asql shell will create a temporary SQLite database based uponany number of Apache logfiles. This temporary database may thenbe interactively queried using common SQL syntax.To get started you should load your logfiles into the database:
load /var/log/apache2/acces*
(The tool will automatically decompress files which have beencompressed with gzip or bzip2.)Once you've loaded at least one file you may run queries, forexample:
SELECT source,COUNT(id),SUM(size) AS Number FROM logs GROUP BY source ORDER BY Number DESC, source
This example will show the number of requests each distinct IP address has made, along with the total size of the files they've requested.
As you can see we've selected three columns "source", COUNT(id), and "SUM(size)". You may see which other columns are available via the "show" command.
Because parsing the Apache logfile(s) specified might be quite slow there is the option of dumping the temporary SQLite database to a known filename with the 'save' command. The analog to the save command is the 'restore' command, which will read in an existing SQLite database and allow future queries to be executed against it.
Files
When the shell starts up it will read and intepret the initialisation file of ~/.asqlrc if it exists. Any commands present in that file will be executed prior to the launch of the interactive session.
All aliases will be read and written to the file ~/.asql.aliases.
All interactive history will be written to the file ~/.asql.
Releases
9 releases since Debian 5.0 (Lenny); the text changed 5 times.