di: Ermanno Ancona 19 Aprile 2006
Con il termine log si intende generalmente un file di puro testo (log file) in cui vengono registrate le operazioni eseguite da un programma. I motivi per i quali si ricorre a tali registrazioni sono principalmente:
Ebbene sì, nell'amministrare un server Apache, il tanto vituperato Grande Fratello o Echelon siamo noi che spiamo ogni mossa dei nostri visitatori.....naturalmente a fin di bene.
Apache prevede due tipi di log, Access Log, log degli accessi, ed Error Log, log degli errori. Il primo registra tutte le richieste HTTP che giungono al server, il secondo memorizza informazioni diagnostiche ed errori incontrati nel processare le richieste. I log degli accessi sono suscettibili di notevole personalizzazione, mentre per gli errori possiamo definire solo il "livello" ovvero l'importanza che essi debbono assumere per essere registrati. Di seguito analizzeremo la memorizzazione degli accessi riservando un prossimo articolo alla descrizione del log degli errori.
Se scorriamo il file di configurazione di Apache, httpd.conf, troveremo due direttive che si occupano di controllare la memorizzazione degli accessi: CustomLog e LogFormat. La prima, più importante, stabilisce la posizione del file di registrazione e cosa debba essere memorizzato. La seconda permette di assegnare un nome ad un prefissato formato di registrazione, per rendere più agevole il riferimento ad esso. Una possibile configurazione potrebbe essere la seguente:
LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog logs/access_log common
Vediamo nel dettaglio le direttive per poterle interpretare. Log Format viene seguita da una stringa delimitata da doppi apici, "%h %l %u %t \"%r\" %>s %b", si noti come venga effettuato l'escape mediante back slash in \"%r\" per evitare che i doppi apici siano interpretati come fine stringa. Al suo interno i caratteri preceduti dal simbolo di percentuale specificano al server un particolare tipo d'informazione che si vuole memorizzare. Ad esempio %h sta per remote host ed indica l'indirizzo IP o il nome dell'host che ha effettuato la richiesta, il %b finale identifica, invece, il "peso" dell'oggetto fornito al client, come potrebbe essere una pagina o un'immagine in essa contenuta. Naturalmente la documentazione ufficiale riporta l'elenco completo dei possibili parametri utilizzabili nella stringa di configurazione. La direttiva termina con la parola "common" che rappresenta il nome assegnato alla stringa di configurazione in modo tale che si possa fare riferimento ad essa mediante tale nick.
Custom Log specifica il path in cui sarà inizialmente creato e successivamente riempito il file degli accessi, il cui nome è, convenzionalmente, access_log nei sistemi unix e access.log nei sistemi windows. Notiamo che il percorso non inizia con una slash: sarà interpretato come relativo alla ServerRoot, directory principale del nostro web server dove normalmente hanno sede le configurazioni. Ad esempio /etc/httpd in un sistema linux e c:/Programmi/Apache Group/Apache2 in windows. In caso contrario dovremo specificarlo in modo completo, ad esempio /var/log/apache/access_log.
Infine ritroviamo le parola "common" che specifica ad Apache di utilizzare il formato per le registrazioni sopra definito.
Con notazione meno elegante, la configurazione sopra riportata poteva essere ottenuta anche così:
CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b"
Guida risparmio energetico per serverDalla determinazione dei consumi al risparmio, dalla... |
Guida SubversionSVN è uno dei sistemi per il versioning più utilizzati al mondo.... |
Guida Application serverCosa sono, quali sono e come possono essere utilizzati nella... |
Ogni settimana, in due distinte newsletter: notizie a approfondimenti su Apache e IIS.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |