Analisi dei files di log delle tue applicazioni internet

ArticleCategory:

Applications

AuthorImage:

[EgonWillighagen]

TranslationInfo:

original in en Logreport, Egon Willighagen

en to it kikko

AboutTheAuthor:

Oltre a lavorare per LinuxFocus, Egon lavora per la Fondazione LogReport, che sviluppa il sofrware lire.

Abstract:

Questo articolo è il primo di una serie sull'utilizzo di lire nell'analisi dei files di log delle applicazioni degli internet server. Esso non è limitato ad un solo servizio come per esempio Apache, ma è un analizzatore integrato per molteplici servizi. Sono compresi DNS, WWW e email. Questo articolo spiega come muovere i primi passi nell'utilizzo di lire. Si tratterà della sua installazione e configurazione.

ArticleIllustration:

[illustration]

ArticleBody:

Introduzione

La maggior parte dei servizi per internet possono loggare la loro attività. Per esempio, il web server Apache aggiunge una linea con varie informazioni al file di log per ogni pagina richiesta al web server stesso. A seconda del formato del file di log quella riga conterrà informazioni come ad esempio quale pagina è stata richiesta, quale browser è stato usato, e molto altro ancora. Anche nel caso del server email, il log prodotto ha all'incirca le stesse fattezze. Contiene l'indirizzo email che ha inviato l'email, chi l'ha ricevuta, le dimensioni, ecc. Effettivamente tutti i servizi internet hanno questa caratteristica: produrre files di log.

Questi files di log contengono una mole enorme di informazioni, ma a causa del loro formato non sono facilmente interpretabili a colpo d'occhio. C'è bisogno di un software che ne compili dei riassunti, in modo da agevolarne l'analisi del contenuto.Nel caso dei servizi WWW potrà essere la conversione al formato grafico di 10 browsers, domini e piattaforme più utilizzati, o una lista di accessi per fascia oraria.

Per la maggior parte dei files di log esistono degli strumenti per analizzarne il contenuto: lire è uno di questi. Ma lire è diverso dalla maggior parte degli altri tools. Lire è un sistema integrato capace di analizzare non un solo tipo di servizi internet, ma più di uno. E i resoconti che lire produce sintetizzano le informazioni più interessanti contenute nei files di log. Inoltre potrete aggiungere da voi stessi dei tipi di report personalizzati.

Lire può essere usato in diversi modi. Potrete farlo partire da linea di comando oppure potrete averlo in un processo di cron che vi invierà i report via email. Nel primo caso potrete scegliere il formato in cui il report sarà stilato. Al momento, i formati dei responsi di lire, potranno essere ottenuti come semplice files .txt, come HTML, DocBook, PDF e LogML. Nell'ipotesi in cui optiate per il secondo uso di lire, i results, attualmente, possono essere redatti solo come semplice testo.

Possono essere analizzati i files di log dei seguenti servizi:

Lire è in pieno sviluppo, e vi stanno lavorando tre persone stipendiate. Uno dei loro incarichi è quello di fornire supporto, perciò se avete delle richieste particolari (per esempio l'aggiunta di nuovi servizi) o avete la necessità di ulteriori informazioni di carattere generale, siete invitati ad inviare un messaggio al sito su sourceforge di LogReport.

Installazione

Le ultime versioni di lire possono essere scaricate dal sito di SourceForge. Sono disponibili i tar.gz, gli RPM e i pacchetti per Debian. Anche Debian Woody e Sid comprendono lire. L'installazione dei pacchetti binari va fatta nel modo consueto. Anche l'installazioni dei pacchetti va fatta nel solito modo:
./configure
make
make install

Il programma di configurazione (configure) ha le seguenti opzioni:

option description
--prefix=/some/dir Setta /root come directory per l'installazione. Di default si installa in /usr/local.
--with-perl5libdir=/some/dir Setta la directory dove installare i moduli Perl di lire. Di default andranno in $prefix/share/perl5.
--with-sgmldir=/some/dir Path per la directory di installazione di SGML. Di default è $prefix/lib/sgml e $prefix/share/sgml.

Se avete intenzione di utilizzare un formato diverso da .txt per i responsi di lire, dovreste installare XMLtools e inoltre DocBook, XML stylesheets, Jade, e un XML processor come Xalan o Sablotron. Nella terza ipotesi di configurazione del programma dovreste specificare dove son installati i vostri files SGML.

Lire come processo di cron

Una volta che lire è stato installato, potrai usare il programma lr_log2report. Ma se intendi usare lire in un processo di cron, dovrai prima configurarlo. Lo si configura con il programma lr_config. Qui di seguito son proposte le domande commentate, tenute in lingua originale per non stravolgerne il senso logico:

Did you start this script as this user?

Lo script richiede che a farlo partire sia un user abilitato a leggere i files di log. Molto spesso i files di log possono essere letti solo dal root o da utenti che siano inseriti nel gruppo di adm. Assicuratevi che il vostro livello di user sia abilitato a leggere i files di log. Un esempio:

~> cd /var/log
/var/log> ls -al apache/access.combined.log
-rw-r----- 1 root root 70902 Jul 27 13:23 apache/access.combined.log
/var/log> whoami
egonw
/var/log> groups
egonw adm dialout

In questo esempio l'attuale user egonw non può leggere i files di log di Apache. Solo il root può, per ora, leggere tali log. Tuttavia, essendo l'user egonw nel gruppo degli adm possiamo risolvere il problema facendo cambiare dal root il gruppo per il log file:

/var/log# whoami
root
/var/log# chgrp adm apache/access.combined.log
/var/log# ls -al apache/access.combined.log
-rw-r--r-- 1 root adm 70902 Jul 27 13:23 apache/access.combined.log

Temporary files are by default not kept. Do you want to keep these?

Per un utilizzo normale dovreste rispondere di no..

Are you planning to run an online responder?

L'"Online Responder" è uno strumento che rende possibile inviare i vostri log files, come email, a questo "Responder", ed ottenere quindi un rapporto, da esso eseguito, sul log . E' utilissimo per gli amministratori di grossi sistemi. Ma per un vostro utilizzo normale è consigliabile rispondere di no.

By default, temporary files are stored in ~/tmp. Do you want to change this?

Di default i files temporanei vengono conservati nella vostra dir personale. Potete modificare questa opzione rispondendo "si" (yes) e indicando la directory dove volete che vadano i files temporanei. Non dimenticate che si tratta di una dir sulla quale l'utilizzatore di lire deve avere i permessi in scrittura.

Do you want to sent a disclaimer with the generated reports?

Se intendete inviare i vostri reports ad altri, potreste voler aggiungere un disclaimer, in questo caso rispondete "yes". Se i reports di lire saranno utilizzati solo per usi interni, rispondete "no".

By default, status and error messages are sent to stderr. Do you want to change this to syslog?

Rispondendo "yes" (si) a questa domanda, fate in modo che i messaggi di errore siano inviati al logger(1) piuttosto che allo standard error (STDERR). Per poter utilizzare quest'opzione dovete aver installato un logger(1) di syslog.

By default, informative and debug messages are suppressed. Do you want to run the system in debug mode? For Per un uso normale, dovreste rispondere di no.

Do you want to use some default settings for all services?

Per ogni servizio potete specificare un indirizzo email e un soggetto distinto. Per semplificare il tutto potreste settare un valore di default. Rispondi "yes" per settare questo come di default.

Would you like to use a default to-address?

Se rispondete "yes", l'indirizzo email verrà usato da lire per inviare i risultati (reports). In ogni caso, quest'indirizzo, può essere modificato per servizi specifici.

Would you like to use a default subject stem for the generated email?

Se rispondete "yes", creerete un modello per le email che saranno create dai vari servizi. Di default avreste una cosa simile: "[LogReport] www / apache report" per i report dei files di log di Apache.

Which services are running?

Tutte le domande successive vi chiederanno di quali servizi volete che lire analizzi i log e vi produca i report. Le domande son poste tutte in modo simile, e perciò non saranno esaminate una per una. Ma per ogni servizio la domanda è simile a quella qui di seguito:

Are you collecting ***** logfiles on this host which you'd like to get processed?

I programmi che lire supporta son raggruppati in "super services". La prima questione per ogni super servizio è sempre se volete raccogliere i file di log di un programma di cui volete che lire esegua l'analisi e ci mostri il suo rapporto. Se rispondete "no", tutte le altre domande supplementari di questo super servizio saranno saltate. I super servizi supportati da lire son enumerati nell'Introduzione di questo articolo. C'è un'argomento di cui non si è trattato: apachemodgzip. Esso si occupa dei files di log di Apache compressi.

La configurazione del programma potrebbe allora chiedervi quali servizi girano sulla macchina, uno-per-uno.Per l'email, per esempio, questi servizi potrebbero essere exim, postfix, qmail o sendmail. Per ogni programma lr_config vi chiede dove, lire, deve andare a cercare i files di log. Questi potrebbero essere compressi, e allora lire vi chiederà con quale specifico programma dovrebbe leggere questi files compressi: possono essere usati anche zcat e gunzip -c.

Are any of your ***** logfiles rotated weekly?

Se rispondete "yes" (si) la crontab sarà configurata in modo che lire vada in esecuzione una volta alla settimana. L'altra opzione disponibile contempla un controllo giornaliero.

Se avete risposto a tutte le domande che lire vi ha posto, allora saranno scritti tutti i settaggi nei files di configurazione (*/defaults.local). Questi files son usati dal job che in cron si riferisce a lire. Sfortunatamente, questo job di cron non si attiva automaticamente. Devi farlo "a mano", scrivendo il seguente comando:

~> { echo '0 10 * * * /usr/local/logreport/bin/lr_cron daily';
     echo '0 10 * * 0 /usr/local/logreport/bin/lr_cron weekly'; } | crontab -

Una volta attivato il cronjob, i(l) report(s) saranno inviati settimanalmente o quotidianamente. Potete anche raffinare la vostra configurazione andando a modificarvi manualmente i files di configurazione sopra menzionati.

Lire come strumento autonomo

Lire può anche essere usato come strumento autonomo da cron e vi offre il vantaggio di poter scegliere di ricevere i report in diversi formati (e c'è anche la possibilità di includere immagini). Il tool autonomo lr_log2report viene avviato da un secondo programma di liree chiamato lr_run:
~> lr_run lr_log2report /tmp/err www apache combined <
   /var/log/apache/access.combined.log > apache.txt

Il programma lr_log2report utilizza almeno tre parametri. Il primo è un file sul quale andranno gli errori. In questo caso tmp/err. Il secondo parametro è il super service del file di log. Ci son disponibili tre super servizi: www, dns e email. Il terzo parametro richiesto è il service stesso, ovvero il tipo di file di log. Nel caso testè esaminato si tratta di un file combined di Apache, così deduciamo che il service è Apache. C'è un parametro ulteriore che ci dice che i files log che Apache usa son di formato "combined". Come la maggior parte dei programmi di lire, otterrete maggiorni informazioni con man:

~> man lr_log2report

Per cambiare il formato dei report potete usare l'opzione "-i <format>" . Sono formati validi: txt (default), logml (sito_web LogML ), DocBook XML (DocBook Open Repository), HTML e PDF. Per gli ultimi due c'è bisogno di avere DocBook stylesheets e Jade installati. Inoltre tutti i formati, tranne il testo semplice, richiedono un processore XSLT come xsltproc di Gnome. Per esempio, se voleste ottenere i risultati dell'analisi di lire in PDF:

~> lr_run lr_log2report -o pdf /tmp/err www apache combined
   < /var/log/apache/access.combined.log > apache.pdf

Conclusioni

Questo articolo era solo una breve introduzione al progetto lire, e vi ha mostrato come installare e configurare il software.Il prossimo articolo tenderà ad approfondire il software e il suo modo di utilizzo. Per adesso, potrete trovare ulteriori informazioni al nostro sito: http://www.logreport.org/.

Se volete entrare in contatto con noi, il modo migliore sarebbe tramite IRC. I programmatori possono essere trovati sulla room #logreport nel server irc OpenProjects.org IRC network. Domande, commenti e richieste di supporto sono benvenute.

mirror server hosted at Truenetwork, Russian Federation.