I log sono molto utili per monitorare le attività di qualsiasi applicazione oltre a fornire informazioni preziose durante la risoluzione dei problemi.
Come qualsiasi altra applicazione, NGINX registra anche eventi come i visitatori del tuo sito, i problemi incontrati e altro ancora per registrare i file. Queste informazioni consentono di adottare misure preventive nel caso in cui si notino alcune gravi discrepanze negli eventi di registro.,
Questo articolo ti guiderà nei dettagli su come configurare la registrazione NGINX in modo da avere una migliore comprensione delle sue attività.
Prerequisito
- Hai già installato NGINX seguendo il nostro tutorial da qui.
Log in NGINX
Per impostazione predefinita, NGINX scrive i suoi eventi in due tipi di log: il log degli errori e il log degli accessi., Nella maggior parte delle distro Linux popolari come Ubuntu, CentOS o Debian, sia il log di accesso che quello degli errori possono essere trovati in /var/log/nginx
, supponendo che tu abbia già abilitato i log di accesso e di errore nel file di configurazione principale NGINX.
Scopriamo di più su NGINX access log, error log e su come abilitarli se non l’hai fatto prima.
Che cos’è il log di accesso NGINX?
Il NGINX registra le attività di tutti i visitatori del tuo sito nei log di accesso., Qui puoi trovare quali file sono accessibili, come NGINX ha risposto a una richiesta, quale browser sta utilizzando un client, indirizzo IP dei client e altro ancora. È possibile utilizzare le informazioni del registro di accesso per analizzare il traffico per trovare gli usi dei siti nel tempo. Inoltre, monitorando correttamente i registri di accesso, si può scoprire se un utente sta inviando una richiesta insolita per trovare difetti nell’applicazione Web distribuita.
Che cos’è il log degli errori NGINX?
D’altra parte, se NGINX affronta eventuali problemi, registrerà l’evento nel registro degli errori., Questo può accadere se c’è qualche errore nel file di configurazione. Pertanto, se NGINX non è in grado di avviare o interrompere bruscamente l’esecuzione, è necessario controllare i log degli errori per trovare maggiori dettagli. Potresti anche trovare alcuni avvisi nel registro degli errori, ma non indica che si è verificato un problema, ma l’evento potrebbe rappresentare un problema serio nel prossimo futuro.
Come abilitare il registro di accesso NGINX?
In generale, il log di accesso può essere abilitato con la direttiva access_log
in http o nella sezione server., Il primo argomento log_file è obbligatorio mentre il secondo argomento log_format è facoltativo. Se non si specifica alcun formato, i registri verranno scritti nel formato combinato predefinito.
access_log log_file log_format;
Il log di accesso è abilitato per impostazione predefinita nel contesto http del file di configurazione di core NGINX. Ciò significa che il registro di accesso di tutto l’host virtuale verrà registrato nello stesso file.
http { ... ... access_log /var/log/nginx/access.log; ... ...}
È sempre meglio separare i log di accesso di tutti gli host virtuali registrandoli in un file separato., Per fare ciò, è necessario sovrascrivere la direttiva access_log
definita nella sezione http con un’altra direttiva access_log
nel contesto del server.
Ricarica NGINX per applicare le nuove impostazioni. Per visualizzare i registri di accesso per il dominio domain1.com nel file /var/log/nginx/domain1.access.log
, utilizzare il seguente comando tail nel terminale.
# tail -f /var/log/nginx/domain1.access.log
Applica il formato personalizzato nel registro di accesso
Il formato di registro predefinito utilizzato per registrare un evento nel registro di accesso è il formato di registro combinato., È possibile ignorare il comportamento predefinito creando il proprio formato di registro personalizzato e quindi specificare il nome del formato personalizzato nella direttiva access_log.
L’esempio seguente definisce un formato di log personalizzato estendendo il formato combinato predefinito con il valore del rapporto di compressione gzip della risposta. Il formato viene quindi applicato indicando il formato del registro con la direttivaaccess_log
.
Una volta applicato il formato di registro sopra nel tuo ambiente, ricarica NGINX. Ora coda il log di accesso per trovare il rapporto gzip alla fine dell’evento di log.,
Come abilitare il registro degli errori NGINX?
La direttivaerror_log
imposta la registrazione degli errori su file o stderr o syslog specificando il livello minimo di gravità dei messaggi di errore da registrare. La sintassi della direttiva error_log è:
error_log log_file log_level;
Il primo argomento log_file definisce il percorso del file di log e il secondo argomento log_level definisce il livello di gravità dell’evento di log da registrare. Se non si specifica il log_level, per impostazione predefinita, vengono registrati solo gli eventi di log con un livello di gravità di errore.,
Ad esempio, il seguente esempio imposta il livello di gravità dei messaggi di errore da registrare su crit
. Inoltre, la direttiva error_log nel contesto http implica che il registro degli errori per tutto l’host virtuale sarà disponibile in un singolo file.
http { ... error_log /var/log/nginx/error_log crit; ...}
È anche possibile registrare i log degli errori per tutto l’host virtuale separatamente sovrascrivendo la direttiva error_log nel contesto del server. L’esempio seguente lo fa esattamente sovrascrivendo la direttiva error_log nel contesto del server.,
Tutti gli esempi sopra descritti registrano gli eventi di log in un file. È inoltre possibile configurare la direttiva error_log per l’invio degli eventi di log a un server syslog. La seguente direttiva error_log invia i log degli errori al server syslog con un indirizzo IP di 192.168.10.11 in formato debug.
error_log syslog:server=192.168.10.11 debug;
In alcune situazioni, potresti voler disabilitare il registro degli errori. Per fare ciò, impostare il nome del file di registro su /dev/null
.,
error_log /dev/null;
Nginx Error Log Severity Levels
Esistono molti tipi di livelli di log associati a un evento di log e con una priorità diversa. Tutti i livelli di registro sono elencati di seguito. Nei seguenti livelli di log, debug ha la massima priorità e include anche il resto dei livelli. Ad esempio, se si specifica errore come livello di registro, acquisirà anche gli eventi di registro etichettati come crit, alert e emergency.
- emerg: messaggi di emergenza quando il sistema potrebbe essere instabile.
- alert: messaggi di avviso di problemi gravi.,
- crit: Problemi critici che devono essere curati immediatamente.
- errore: si è verificato un errore. Qualcosa è andato storto durante l’elaborazione di una pagina.
- warn: Un messaggio di avviso che si dovrebbe guardare in esso.
- avviso: Un semplice avviso di registro che è possibile ignorare.
- info: Solo un messaggio informativo che si potrebbe desiderare di sapere.
- debug: informazioni di debug utilizzate per individuare la posizione dell’errore.,
Riepilogo
I log di accesso e di errore in NGINX non solo mantengono una scheda sull’attività degli utenti, ma risparmiano anche tempo e fatica nel processo di debug. Inoltre, è anche possibile personalizzare il registro di accesso se avete bisogno di ulteriori informazioni a vostra disposizione. È sempre meglio abilitare l’accesso e i registri degli errori perché questi due file contengono tutti gli indizi per una migliore manutenzione del server NGINX.