Nginx è un potente server proxy a livello di applicazione. Sia per la risoluzione dei problemi che per l’analisi, abilitare i livelli di log e i formati personalizzati per i log di accesso/errore è un requisito comune.

Log degli errori

Per impostazione predefinita, vengono registrati solo i messaggi nella categoria di errore. Se si desidera abilitare maggiori dettagli, modificare nginx.,conf like:

error_log file 

Abilitare il livello di debug su Linux di solito sarebbe simile a:

error_log /var/log/nginx/error.log debug;

Log di accesso

Log di accesso e il loro formato sono anche personalizzati in nginx.conf. Per impostazione predefinita, se non viene specificato alcun formato, viene utilizzato il formato combinato.

access_log file 

Quindi la sintassi più comune su un sistema Linux è:

access_log /var/log/nginx/access.log;

Che è l’equivalente di specificare esplicitamente il formato combinato come di seguito:

Usare il formato di log combinato può essere molto conveniente dal momento che così tanti strumenti di analisi, ELK o splunk) hanno filtri pre-costruiti per consumare questi registri. Tuttavia, quando è necessario, ad esempio quando Nginx è in ascolto su più porte e devi sapere su quale porta è arrivato il traffico, allora ha senso deviare dal formato combinato.

Ad esempio, se si desidera aggiungere la porta del traffico in arrivo, utilizzare la variabile ser server_port e il proprio nginx.conf sarebbe simile a:

Altre variabili disponibili possono essere trovate nella documentazione qui.