Come qualsiasi sviluppatore o amministratore di sistema ti dirà, i file di log sono uno strumento estremamente utile per il debug di problemi all’interno di un’applicazione Web. Infatti, i file di log sono in genere utilizzati come fonte primaria di informazioni quando un sito web non funziona correttamente.
Un file di registro specifico che può essere utilizzato nelle applicazioni di debug (o semplicemente ottenere informazioni sull’attività dei visitatori) è il log di accesso prodotto da un server HTTP Apache., Di seguito, entrerò nei dettagli di questi registri: spiegherò cosa viene registrato nei registri di accesso di Apache, dove possono essere trovati e come dare un senso ai dati contenuti nel file. Poiché il vero potere dei dati di log deriva dalla comprensione del significato dei dati attraverso l’analisi, discuterò anche i vantaggi di lavorare con una piattaforma di gestione e analisi dei log (come la logica Sumo) per ricavare preziose informazioni dai dati di log di accesso.
Cosa sono i log di accesso Apache?,
Come accennato in precedenza, il log di accesso Apache è uno dei diversi file di log prodotti da un server HTTP Apache. Questo particolare file di registro è responsabile della registrazione dei dati per tutte le richieste elaborate dal server Apache. Quindi, se un individuo visita una pagina Web sul tuo sito, il file di log di accesso conterrà i dettagli relativi a questo evento., informazioni sono utili in una varietà di situazioni: per esempio, se una richiesta comune è la mancanza di ogni individuo per cercare di arrivare a una particolare pagina web, il link può essere che punta a una pagina che non esiste più; se una certa pagina del sito sta prendendo più tempo di quanto dovrebbe a carico, le voci di registro potrebbe indicare una query SQL che può essere rielaborato per migliorare le prestazioni; se una particolare pagina del sito è molto popolare, l’aggregazione dei dati di log di accesso potrebbe brillare di una luce più comunemente richieste di risorse, così consentendo alle imprese di aumentare la loro popolarità, fornendo più contenuti correlati.,
Dove posso trovare i log di accesso Apache?
La posizione dei log di accesso Apache dipende dal sistema su cui è in esecuzione il server HTTP Apache. La maggior parte delle istanze del server HTTP Apache viene eseguita su distribuzioni Linux. Quindi, ai fini di questo articolo, ci atterremo a dettagliare dove i registri di accesso Apache possono essere trovati su una macchina Linux.
Sulla distribuzione Ubuntu Linux, ad esempio, i record del registro di accesso verranno scritti nella seguente posizione per impostazione predefinita:
/var/log/apache2/access.,log
La posizione predefinita può variare leggermente su altre distribuzioni Linux, ma non dovrai guardare molto lontano nella maggior parte dei casi. In definitiva, la posizione e il formato (ne parleremo più avanti) dei log di accesso sono definiti da una direttiva CustomLog che può essere visualizzata e modificata all’interno della configurazione del server HTTP Apache.
Interpretazione dei log di accesso Apache
Ora che sapete cosa sono i log di accesso Apache e dove possono essere trovati, possiamo spiegare come interpretare le voci in modo che il tuo team di sviluppo e altro personale IT possano farne buon uso.,
Leggere i log di accesso di Apache
Dare un senso ai log di accesso di Apache richiede che l’analista comprenda il formato in cui vengono registrati i log di accesso. Come accennato in precedenza, il formato per i registri di accesso è definito nella direttiva CustomLog insieme alla posizione. Daremo un’occhiata a due formati di log popolari che vengono spesso utilizzati con i registri di accesso Apache di seguito.
Formato di registro comune
Il formato di registro comune è un formato di file di testo standardizzato utilizzato da vari server Web nella generazione di file di registro del server., Con un server HTTP Apache, il formato di registro comune può essere utilizzato per produrre i registri di accesso che sono abbastanza semplice per gli sviluppatori e gli amministratori di leggere. Inoltre, poiché si tratta di un formato standardizzato in uso da più server Web, i file di log formattati CLF possono essere facilmente utilizzati da molte piattaforme di analisi dei log.
Un record di log di accesso scritto nel formato di log comune sarà simile a questo:
127.0.0.1 – Scott “GET/server-status HTTP/1.1” 200 2326
I campi nel record di esempio sopra rappresentano quanto segue:
- 127.0.0.,1-Indirizzo IP del client che ha effettuato la richiesta;
- Il trattino che definisce il secondo campo nel file di log è l’identità del client. Questo campo viene spesso restituito come trattino e la documentazione del server HTTP di Apache consiglia di non fare affidamento su questo particolare campo tranne nel caso di una rete interna controllata.
- Scott-id utente della persona che richiede la risorsa;
- – data e ora della richiesta;
- “GET/server-status HTTP / 1.,1” – tipo di richiesta e risorsa richiesta;
- 200-Codice di stato della risposta HTTP;
- 2326-dimensione dell’oggetto restituito al client.
Formato di log combinato
Un altro formato che viene spesso utilizzato con i log di accesso di Apache è il formato di log combinato. Questo formato è molto simile al formato di registro comune, ma contiene alcuni campi aggiuntivi per fornire ulteriori informazioni da utilizzare nelle operazioni di analisi e debug., Un record di log di accesso registrato nel formato di log combinato è simile a questo:
Come puoi vedere, i primi sette campi sono identici a quelli nel formato di log comune. I campi rimanenti rappresentano due proprietà aggiuntive:
La direttiva “CustomLog”
In precedenza, ho menzionato che la configurazione per i registri di accesso Apache viene eseguita tramite la direttiva CustomLog all’interno di un file di configurazione del server HTTP Apache., Diamo un’occhiata a un esempio di log di accesso di configurazione per mostrare la flessibilità prevista dalla direttiva CustomLog:
LogFormat “%h %l %u %t \”%r\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\” combinato”
CustomLog /var/log/apache2/accesso.log combined
Qui, abbiamo definito il formato di log combinato tramite la direttiva LogFormat, e lo abbiamo seguito definendo la posizione e il formato (combinati) per il log di accesso utilizzando la direttiva CustomLog. Come puoi vedere, modificare la posizione o il formato del registro di accesso è un processo semplice., Inoltre, l’uso della direttiva CustomLog ci offre diverse altre funzionalità che descriveremo di seguito.
Multiple Access Log
non C’è nessuna regola che dice che non si può configurare più registri di accesso per il server HTTP Apache, e il processo è in realtà abbastanza facile; tutto quello che dovete fare è semplicemente aggiungere ulteriori CustomLog direttive per aggiungere un supplemento, accesso personalizzato file di log:
LogFormat “%h %l %u %t \”%r\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\” combinato”
LogFormat “%{User-agent}i” agente
CustomLog /var/log/apache2/accesso.,log combinato
CustomLog/var/log/apache2 / agent_access.log agent
Log condizionali
Inoltre, è possibile scrivere per accedere ai log in modo condizionale. Questo potrebbe essere utile per una serie di motivi, tra cui l’esclusione dei record associati a particolari client. In genere, questo viene fatto impostando variabili di ambiente e facendo riferimento a loro tramite la clausola “env”. Visita la documentazione ufficiale sulla direttiva CustomLog per ulteriori informazioni.
Log Rotation&Piped Logs
Come qualsiasi altra cosa su un server, i file di log occupano spazio., E su un server Apache relativamente occupato, i file di log come i log di accesso possono crescere rapidamente. Pertanto, è importante disporre di processi per spostare o eliminare regolarmente i vecchi file di registro. Fortunatamente, un server HTTP Apache ha la capacità di farlo attraverso l’uso di riavvii aggraziati e processi di registro con piping.
Un riavvio grazioso di un server Apache consente il riavvio senza perdere le connessioni client., Questo riavvio consente ad Apache di aprire e scrivere su nuovi file di registro senza interruzioni del client, consentendo in tal modo l’esecuzione dell’elaborazione per comprimere o eliminare i vecchi file di registro nell’interesse di risparmiare spazio.
I processi di log piped, d’altra parte, possono consentire la rotazione dei log da eseguire senza un riavvio del server; ad esempio, un programma chiamato rotatelogs è incluso nel server HTTP Apache. Piuttosto che semplicemente scrivere su un file, le voci del registro di accesso possono essere scritte attraverso una pipe per questo particolare programma., Il programma rotatelogs include opzioni per ruotare i registri in modo condizionale in base al tempo o alle dimensioni.
Analizzare i log di accesso Apache con Sumo Logic
Raccogliere enormi quantità di dati nei file di log è utile solo se i dati possono essere gestiti in modo efficace e analizzati facilmente. Se eseguito correttamente, produce informazioni preziose che possono essere sfruttate per identificare opportunità di miglioramento all’interno della configurazione o dell’applicazione del server Web., Quando si lavora con i registri di accesso Apache, è meglio integrarsi con Sumo Logic per raccogliere i file di registro Apache, il che rende il processo per la produzione di visualizzazioni preziose meno doloroso che mai.
Il processo per iniziare è relativamente facile. Infatti, semplicemente configurando un collettore SumoLogic e sorgente di file locale per il registro di accesso Apache, si può essere installato e funzionante in un senso di base in pochi minuti. Scopri Sumo Logic oggi per vedere come possono migliorare i processi per la gestione dei log e l’analisi dei dati.,
Visibilità completa per DevSecOps
Riduci i tempi di inattività e passa dal monitoraggio reattivo a quello proattivo.