Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

I file log

Come leggere e configurare i file di log generati da un web server Apache: cosa sono, a cosa servono e in quali casi possono esserci utili.
Come leggere e configurare i file di log generati da un web server Apache: cosa sono, a cosa servono e in quali casi possono esserci utili.
Link copiato negli appunti

I file log sono uno strumento fondamentale per la corretta amministrazione di un sistema informativo, poiché permettono l'analisi dello stato (presente e passato) dei servizi in esecuzione. Si tratta di semplici file di testo nei quali vengono riportati gli eventi che si verificano durante l'esecuzione di un determinato servizio, siano essi ordinari (eventi che rientrano nella normale attività) o straordinari (errori, richieste non valide, ecc). L'analisi dei log permette di individuare errori di configurazione, produrre statistiche sull'utilizzo dei servizi, verificare l'esistenza di tentativi di violazione della sicurezza, ecc.

Il termine log deriva dall'inglese logbook, termine con il quale nel gergo marittimo si indica il registro di navigazione tenuto a bordo di ogni imbarcazione. Sul registro di navigazione vengono annotati, ad intervalli di tempo regolari, le condizioni meteo, lo stato della nave e qualunque altro evento significativo. Con l'accezione di "registro" in cui annotare eventi in ordine cronologico, il termine log è stato importato in informatica.

Anche il server Apache è in grado di riportare gli eventi relativi alla sua attività in uno o più file log. Le funzionalità di base sono offerte dal modulo core e da mod_log_config, quindi attive per default in ogni installazione di Apache. Moduli aggiuntivi possono aggiungere ulteriori funzionalità di logging ed opzioni di configurazione per le stesse.

Configurazione di Apache

Le modalità con cui i file log vengono gestiti dipendono dalle particolari scelte effettuate in fase di configurazione. Le principali direttive di configurazione relative ai log di Apache sono:

  • ErrorLog
  • ErrorLogFormat
  • LogLevel
  • CustomLog ErrorLog

La direttiva ErrorLog

La direttiva ErrorLog /var/log/httpd/error_log syslogd

Per memorizzare i messaggi su file è sufficiente indicare il percorso del file log tra doppi apici, come nell'esempio di seguito:

ErrorLog "/var/log/httpd/error_log"

In questo caso, Apache creerà un file log di nome error_log /var/log/httpd

Per inviare i messaggi di log ad un altro programma, occorre invece specificare il percorso del programma destinatario, preceduto dal simbolo pipe |

ErrorLog "|/usr/local/apache/bin/rotatelogs"

La possibilità di inviare i messaggi in pipe ad un altro software rende la gestione dei log di Apache molto flessibile. In tal modo è possibile collegare direttamente ad Apache dei software per l'analisi dei log, produzione di statistiche, analisi antiintrusione polling documentazione ufficiale

Infine, su sistemi Unix è possibile utilizzare un demone per la gestione centralizzata dei log (se presente). In questo caso, la sintassi da usare è syslog:facility facility

ErrorLog syslog:daemon

Nell'esempio riportato sopra, Apache utilizzerà syslog indicando che i messaggi provengono da un demone di sistema.

Analogamente è possibile specificare delle etichette (tag VirtualHost

ErrorLog syslog::httpd

La direttiva LogLevel

LogLevel

Il livello di dettaglio dei messaggi di errore è controllato specificando uno dei valori indicati nella tabella riportata di seguito (in ordine crescente di dettaglio):

Livello Messaggi riportati
emerg Solo le emergenze (ad esempio, condizioni di errore che portano alla chiusura del server).
alert Errori gravi, per i quali è necessaria un'azione immediata.
crit Condizioni critiche, ad esempio errori di rete.
error Errori notificati durante l'esecuzione della richiesta (ad esempio, dall'interprete di scripting)
warn Condizioni anormali ma non critiche per l'esecuzione del server.
notice Condizioni normali. Operazioni che non generano errore ma sono significative per l'esecuzione del server.
info Condizioni normali. Operazioni comuni effettuate durante il normale svolgimento delle attività.
debug Indicazioni dettagliate sulle operazioni effettuate.
trace Dettagli passo passo sulle operazioni effettuate.

L'opzione trace si compone di 8 ulteriori livelli di dettaglio (da trace1 a trace8).

La direttiva ErrorLogFormat

ErrorLogFormat

Ad esempio, specificando la stringa nell'esempio riportato di seguito:

ErrorLogFormat "%t - %a - %M"

il server anteporrà ad ogni messaggio di log l'ora attuale (%t %a documentazione ufficiale

La direttiva CustomLog

La direttiva CustomLog ErrorLog CustomLog access_log access.log

Conclusioni

Come per altre direttive di configurazione di Apache, anche quelle relative ai file log possono essere indicate sia nel file http.conf, con effetti globali, o nei file di configurazione dei VirtualHost, con effetto limitato al VirtualHost al quale si riferiscono.

Ti consigliamo anche