Apache SQL Analyser – Cum să obții mai multe detalii din log-urile Apache

ASQL este o unealtă software utilă în analiza log-urilor Apache, având ca principală funcționalitate convertirea acestora în format SQLite, un format în care aceastea pot oferi mai multe detalii, mult mai ușor. Folosind comenzile clasice precum “cut”, “uniq” sau “wc” fișierele de log pot fi analizate pentru obținerea numărului unic de vizitatori de exemplu, dar, cu ajutorul ASQL, analiza se poate face mult mai rapid, găsirea unei adrese unice se reduce la o comandă simplă de  SELECT DISTINCT .

Pentru a funcționa îi sunt necesare modulele Perl, conectorul Perl pentru baze de date SQLite și modulul Term::Readline.

Pe sistemele de operare Debian și Ubuntu, asql se intalează astfel:
sudo apt-get install libdbd-sqlite3-perl libterm-readline-gnu-perl asql
Pentru a instala asql pe sisteme *BSD:

  • Se descarcă sursele de pe site-ul steve.org.uk
  • Se dezarhivează
  • Se instalează

cd /usr/ports/www/asql/ && make install clean

  • Apoi se adaugă pachetul:

pkg_add -r asql

Pentru restul majoritar de sisteme de operare
make install

ar trebui să instaleze aqsl.

aslq se poate descărca folosind următoarele legături:

După instalare, indiferent de metoda prin care a fost făcută aceasta, se pornețe cu comanda: “asql” direct din consolă.

După pornire, aveți la dispoziție un set de comenzi, foarte comune sistemelor de baze de date. Pentru o lista completă a comenzilor disponibile, tastați “help”.

Cele mai importante trei comenzi sunt:

load
Încarcă fișierele de log ale Apache într-o bază de date temporară pe care o crează la pornire. Ca sursă pot fi folosite fișiere individuale sau grupuri de fișiere. Ex.:

load /var/log/apache2/acces*

Din considerente de timp, pentru a evita încărcarea datelor în baza de date la fiecare pornire, e recomandată salvarea bazei de date și restaurarea ei ulterioară, ori de câte ori e nevoie.

select
Permite rularea unei interogări SQL

show
Afișează structura tabelelor în care a fost încărcat log-ul.

Un exemplu de sesiune de lucru, unde se folosește și comanda “alias” pentru crearea aliasurilor persistente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
asql v0.6 - type 'help' FOR help.
LOAD /var/logs/apache/access.log
Loading: /var/logs/apache/access.log
SELECT COUNT(id) FROM logs
46
alias hits SELECT COUNT(id) FROM logs
ALIAS hits SELECT COUNT(id) FROM logs
alias ips SELECT DISTINCT(source) FROM logs;
ALIAS ips SELECT DISTINCT(source) FROM logs;
hits
46
alias
ALIAS hits SELECT COUNT(id) FROM logs
ALIAS ips SELECT DISTINCT(source) FROM logs;

(Am îngroșat comenzile introduse de utilizator)
Pentru mai multe detalii despre asql puteți vizita pagina produsului.