Logtail puede analizar los registros de acceso de NGINX según su directiva log_format y recopilar registros estructurados para realizar análisis multidimensionales en Simple Log Service.
Descripción general de la solución
En el modo de configuración de NGINX, Logtail estructura el contenido de los registros según la directiva log_format. Antes de recopilar los registros, configure las directivas log_format y access_log en /etc/nginx/nginx.conf. La directiva log_format define la estructura del registro y access_log especifica la ruta del archivo de registro.
-
Formato de registro y ruta de almacenamiento
El siguiente ejemplo utiliza los valores predeterminados de log_format y access_log:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$request_time $request_length ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"'; access_log /var/log/nginx/access.log main;Campos del registro:
Campo
Descripción
remote_addr
Dirección IP del cliente.
remote_user
Nombre de usuario del cliente.
time_local
Hora local del servidor, encerrada entre corchetes [].
request
URI de la solicitud y protocolo HTTP.
request_time
Tiempo de procesamiento de la solicitud, en segundos.
request_length
Longitud total de la solicitud, incluida la línea de solicitud, los encabezados y el cuerpo.
status
Código de estado de la respuesta HTTP.
body_bytes_sent
Tamaño del cuerpo de la respuesta en bytes, sin incluir los encabezados.
http_referer
URL de referencia.
http_user_agent
Cadena user-agent del navegador del cliente.
-
Registro sin procesar
Entrada de registro de ejemplo generada con el log_format anterior:
192.168.1.1 - - [11/Dec/2024:11:21:03 +0800] "GET /nginx-logo.png HTTP/1.1" 0.000 514 200 368 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" Registros recopilados en un logstore: En la página de consulta y análisis, cada entrada de registro se analiza en pares clave-valor y se muestra con metadatos como el nombre de la instancia, la ruta del registro y la marca de tiempo Unix.
Requisitos previos
Se creó un grupo de máquinas con sus servidores. Create a custom identifier-based machine group | Create an IP address-based machine group.
Su servidor debe poder conectarse a los puertos 80 y 443 de servidores remotos para que Logtail pueda enviar registros a Simple Log Service.
El servidor destino genera nuevos registros de forma continua. Logtail solo recopila datos incrementales y omite los archivos que no presentan actualizaciones después de aplicar la configuración. Collection process.
Procedimiento
Inicie sesión en la consola de Simple Log Service.
En la sección Projects, haga clic en el proyecto deseado.
En la pestaña , haga clic en el logstore deseado.
En el panel de navegación izquierdo, haga clic en Logtail Configurations y luego en Add Logtail Configuration.
En la página Quick Data Import, seleccione .
En el paso Machine Group Settings, establezca Use Case en Host Scenario y Environment en ECS. Mueva su grupo de máquinas (por ejemplo, group-ip) de Source Machine Group a Applied Machine Group y luego haga clic en Next.
-
En el paso Logtail Configuration, configure los siguientes parámetros:
En Configuration Name, introduzca un nombre de configuración, como
nginx-logs.En File Path, introduzca la ruta del archivo de registro. Por ejemplo,
/var/log/nginx/**/access*coincide con todos los archivos que comienzan conaccessen el directorio/var/log/nginxy sus subdirectorios.-
En Processor Configurations, haga clic en Data Parsing (NGINX Mode). En la pestaña Processor, introduzca la configuración log_format de su archivo de configuración de NGINX. SLS extrae automáticamente los campos. Ejemplo:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$request_time $request_length ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"';En Source Field, introduzca
content. SLS genera automáticamente una expresión regular a partir de la configuración y extrae los campos. Mantenga los valores predeterminados para los demás parámetros. Collect text logs from servers.
En el paso Query, Analysis and Visualization, haga clic en Refresh para previsualizar los datos recopilados.
Haga clic en Next para completar la configuración. Haga clic en Query Log para abrir la página de consulta del logstore. La creación del índice tarda aproximadamente un minuto. Después podrá consultar los registros en la pestaña Raw Log. Quick start for query and analysis.
Referencias
Solucione problemas de recopilación de Logtail en servidores Linux mediante la herramienta de diagnóstico automático. How do I use the automatic diagnostic tool of Logtail?
Si la página de previsualización o consulta no muestra datos, consulte What do I do if errors occur when I use Logtail to collect logs?
Para errores de recopilación como fallos en el análisis de expresiones regulares, rutas de archivo no válidas o sobrecarga de shards, consulte How do I view Logtail collection errors? y How do I troubleshoot the common errors that may occur when Simple Log Service collects logs?
De forma predeterminada, un archivo solo puede tener una configuración de Logtail, pero se admiten varias configuraciones. How do I collect multiple copies of logs in a file?
Los servidores en una intranet corporativa también pueden enviar registros a Simple Log Service. Collect logs from servers in a corporate intranet.
Para distinguir registros de servidores con rutas o nombres de archivo idénticos, utilice Machine Group Topic. Para distinguir registros por usuario o instancia, utilice File Path Extraction.
Para análisis de acceso al sitio web, diagnósticos y configuración de alertas, consulte Collect and analyze NGINX access logs.