Nginx posee un módulo de logs donde puede registrar todos estos tipos de acontecimientos importantes, pero más que ello, también nos permite establecer la forma en la cual podemos llevar esta información, como dividirla, que cosas realmente queremos que se registren, etc.
Establecer la Ruta de los Logs
Una de las cosas más importantes es establecer la ruta de los logs, esto es debido a que si tenemos muchas visitas probablemente tengamos una cantidad de archivos bastante grande, por lo que seguramente queremos colocarlos en una carpeta en particular para garantizar nuestra estabilidad del servicio.
Lo primero que hacemos acá es establecer los datos que nos interesa que se registren y la forma de hacerlo, para ello hacemos uso de log_format, luego podemos establecer las rutas de los dos tipos de logs que necesitamos, el de acceso, identificado como access_log y el de errores identificado como error_log, luego de la ruta pasamos el tipo de log como parámetro, para el primero utilizamos el formato que hemos creado y para el de errores le pasamos el tipo crit para que registre errores críticos.
Hacer un Log como el de Apache
Apache tiene una gran comunidad en línea y debido a su longevidad y su competitividad ha hecho que muchas herramientas de análisis estén hechas para sus formatos, herramientas de análisis de logs por ejemplo, por lo tanto si estamos migrando de una estructura basada en Apache y queremos utilizar sus herramientas podemos cambiar la estructura de nuestros logs de forma que podamos utilizar dichas herramientas sin problemas.
Nginx es lo suficientemente flexible para permitir que hagamos estos cambios, veamos cómo podemos lograr esta configuración en la siguiente imagen:
Como vemos es bastante sencillo lo que hacemos es que construimos un nuevo formato para nuestro log y luego establecemos en la directiva donde definimos la ruta que también debe hacer el log con este formato.
Lo que hemos visto es apenas una pequeña parte de todo lo que nos ofrece el módulo de logs de Nginx, por lo que debemos estar dispuestos a investigar e ir un poco más allá para que podamos lograr configuraciones más audaces y personalizadas que nos permitan obtener todos los resultados que deseamos, la gran ventaja es que Nginx es muy flexible y nos permite hacer bastantes cosas en este aspecto.