Scroll to navigation

ASQL(8) Perl Programmers Reference Guide ASQL(8)

NAME

asql - Provide an SQL interface to Apache logfiles.

SYNOPSIS

  asql [options]
  General Options:
   --help       Show brief help intstructions.
   --manual     Show more complete help.
   --version    Show the version of the software.
  Scripting Options:
   --load       Load the named file, or glob.
   --execute    Execute a single query then exit.
  Options:
   --file       Rather than running as a shell read commands from a named file.
   --quiet      Don't show the banner at startup.

DESCRIPTION

  asql provides a simple console interface to allow a user to
 query the contents of an Apache logfile via an SQL interface.
  The shell features include:

INTRODUCTION

  The asql shell will create a temporary SQLite database based upon
 any number of Apache logfiles.  This temporary database may then
 be 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 been
 compressed with gzip or bzip2.)
  Once you've loaded at least one file you may run queries, for
 example:

  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.

AUTHOR

 Steve
 --
 http://www.steve.org.uk/

LICENSE

Copyright (c) 2007,2008,2009,2010,2011 by Steve Kemp. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license.

AUTHOR

 Steve
 --
 http://www.steve.org.uk/

LICENSE

Copyright (c) 2007-2011 by Steve Kemp. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license.

2025-01-21 perl v5.40.0