I log sono molto importanti in un sistema per monitorare le attività di un’applicazione in quanto forniscono utili informazioni di debug e consentono di analizzare tutti gli aspetti di un server web. Come le altre applicazioni software, anche Nginx mantiene gli eventi come i visitatori del sito web, i problemi incontrati e altro nei file di log. Le utili informazioni registrate vengono utilizzate per prendere misure preventive al fine di affrontare le principali discrepanze gravi negli eventi di log.
In questo articolo, elaboreremo su come configurare e visualizzare i log di Nginx nel sistema Ubuntu 20.04 per monitorare le attività dell’applicazione.
Ci sono due tipi di log in cui vengono registrati gli eventi in Nginx uno è il log di accesso, e l’altro è il log degli errori. Se avete già abilitato questi log nel file di configurazione del core di Nginx, allora potete trovare entrambi i tipi di log in /var/log/nginx in tutte le distribuzioni Linux.
Nginx Access log
Tutte le attività relative ai visitatori del sito sono registrate nei log di accesso. In questo tipo di log, è possibile trovare i file a cui si è acceduto di recente, come Nginx ha risposto a una richiesta del cliente, gli indirizzi IP dei clienti, quale browser sta usando un cliente e altro ancora. Utilizzando le informazioni del log di accesso, è possibile monitorare il traffico per trovare l’utilizzo del sito nel tempo. Se monitorate correttamente i log di accesso, allora potete facilmente trovare alcune richieste insolite che vengono inviate da un utente per controllare le falle nell’applicazione implementata.
Abilitate il log di accesso di Nginx
Il log di accesso può essere abilitato con la direttiva access_log sia nella sezione server che in HTTP.
Il primo argomento, ‘log_file’ è obbligatorio, mentre il secondo argomento è opzionale, ‘log_format’. Se non si menziona il formato del log, allora i log saranno digitati nel formato combinato di default.
Il log di accesso è definito di default nel file di configurazione di Nginx. Quindi, tutti i log di accesso degli host virtuali saranno memorizzati nello stesso file di configurazione.
…
access_log /var/log/nginx/access.log;
…
}
Si raccomanda di separare i log di accesso di tutti gli host virtuali registrando in un nuovo file separato.
…
…
access_log /var/log/nginx/access.log;
server {
listen 80;
nome_server example.com
access_log /var/log/nginx/example.access.log;
…
…
}
}
Ricaricare le nuove configurazioni NGINX. Ora, è possibile visitare i log di accesso per il dominio example.com nel file /var/log/nginx/example.access.log, utilizzando il seguente comando:
Personalizzare il formato del log di accesso
Spieghiamo un esempio per definire un formato personalizzato del log di accesso. Per impostazione predefinita, il log di accesso è registrato in un formato di log combinato. Pertanto, è possibile estendere il formato predefinito con il valore della risposta gzip per il rapporto di compressione.
log_format personalizzato ‘$remote_addr – $remote_user ‘
‘”$request” $status $body_bytes_sent ‘
‘”$http_referer” “$http_user_agent” “$gzip_ratio”‘;
server {
gzip on;
…
access_log /var/log/nginx/example.access.log custom;
…
}
}
Una volta apportate tutte le modifiche alla configurazione di Nginx, ricaricare Nginx e quindi eseguire il comando tail per visualizzare il rapporto gzip alla fine del registro eventi.
NGINX error log
Se NGINX si ferma improvvisamente o non funziona correttamente, registrerà tutti gli eventi nel log degli errori. Pertanto, utilizzando i log degli errori, è possibile trovare maggiori dettagli. Registra anche gli avvertimenti, ma non può identificare un problema che si è verificato.
Enable error log
La seguente sintassi della direttiva error_log:
Nella sintassi precedente, il primo argomento rappresenta il percorso del file di log, e il secondo argomento identifica il livello di sicurezza dell’evento di log.
Abbiamo citato un esempio qui sotto in cui si esegue l’override della direttiva error_log nel contesto del server.
…
…
error_log /var/log/nginx/error_log;
server {
listen 80;
server_name example1.com;
error_log /var/log/nginx/example1.error_log warn;
…
}
server {
listen 80;
nome_server example2.com;
error_log /var/log/nginx/example2.error_log debug;
…
}
}l
Quando ti viene richiesto di disabilitare il log degli errori, assegna il nome del file di log a /dev/null.
error_log /dev/null;
Nginx Security Level of Error log
Il seguente livello di sicurezza puoi usare nel log degli errori:
- emerg: Quando il sistema è instabile, usato per messaggi di emergenza
- alert: Genera messaggi di avviso di problemi gravi.
- crit: Usato per problemi critici da affrontare immediatamente.
- error: Durante l’elaborazione di una pagina, potrebbe verificarsi un errore.
- warn: Usato per un messaggio di avvertimento
- notice: Log di avviso che si può anche ignorare.
- info: Per informazioni, messaggi
- debug: Indica la posizione di errore utilizzata per le informazioni di debug.
Conclusione
I log di accesso e di errore di Nginx sono utili per registrare determinate attività. Abbiamo imparato come possiamo abilitare e visualizzare questi tipi di log di Nginx sul nostro sistema Linux. Questo è tutto sui log di Nginx.