Utilice LoongCollector para recopilar registros de Nginx desde una instancia de ECS hacia Simple Log Service (SLS). En 30 minutos, puede configurar la recopilación de registros, analizar datos con SQL, consultar un panel, establecer alertas y limpiar los recursos para evitar cargos.
Requisitos previos
Activar SLS y preparar una cuenta
Activar SLS: Si es la primera vez que lo utiliza, inicie sesión en la consola de Simple Log Service y siga las instrucciones en pantalla para activar el servicio.
-
Preparar una cuenta:
Cuenta de Alibaba Cloud: Cuenta con todos los permisos de forma predeterminada.
-
Usuario RAM: Si utiliza un usuario RAM, debe grant las directivas de permisos necesarias:
AliyunLogFullAccess: Otorga permisos para crear y gestionar recursos de SLS, como proyectos y logstores.AliyunECSFullAccess: Otorga permisos para instalar el agente de recopilación en una instancia de ECS.AliyunOOSFullAccess: Otorga permisos para instalar automáticamente el agente de recopilación en una instancia de ECS mediante Operation Orchestration Service (OOS).
En un entorno de producción, puede create custom permission policies para obtener un control más granular sobre los permisos del usuario RAM.
Preparar una instancia de ECS
Asegúrese de que el security group ECS instance permita el tráfico de salida por el puerto 80 (HTTP) y el puerto 443 (HTTPS).
Generar registros simulados
-
Cree un archivo de script llamado
generate_nginx_logs.shy pegue el siguiente contenido. Este script escribe una entrada de registro de acceso estándar de Nginx en/var/log/nginx/access.logcada 5 segundos. Otorgue permisos de ejecución:
chmod +x generate_nginx_logs.sh.Ejecute el script en segundo plano:
nohup ./generate_nginx_logs.sh &.
Crear un proyecto y un logstore
Un proyecto aísla y gestiona los datos en SLS. Un logstore almacena los datos de registro dentro de un proyecto.
Inicie sesión en la consola de Simple Log Service.
-
Haga clic en Create Project:
Region: Seleccione la misma región que su instancia de ECS para recopilar registros a través de la red interna.
Project Name: Introduzca un nombre globalmente único, como
nginx-quickstart-abc.
Mantenga la configuración predeterminada para other configurations y haga clic en Create.
Una vez creado el proyecto, haga clic en Create Logstore.
-
Introduzca un Logstore Name (por ejemplo,
nginx-access-log), mantenga la configuración predeterminada para other configurations y haga clic en OK.De forma predeterminada, se crea un logstore Standard , que es billed based on the volume of data written .
Instalar LoongCollector
Después de crear el logstore, haga clic en OK en el cuadro de diálogo de confirmación para abrir el panel Quick Data Import.
En la tarjeta Nginx - Text Logs, haga clic en Integrate Now.
-
Machine Group Configurations:
Scenario: Servers
Installation Environment: ECS
Haga clic en Create Machine Group. En el panel que aparece, seleccione la instancia de ECS de destino.
-
Haga clic en Install and Create Machine Group. Una vez completada la instalación correctamente, introduzca un Name para el grupo de máquinas, como
my-nginx-server, y luego haga clic en OK.NotaSi la instalación falla o permanece pendiente, asegúrese de que la región de ECS coincida con la región del proyecto.
-
Haga clic en Next para continuar con la verificación del estado del latido.
Cuando crea un grupo de máquinas por primera vez, si el estado del latido es FAIL, haga clic en Automatic Retry . El estado cambiará a OK en aproximadamente dos minutos.
Crear una configuración de recopilación
-
Cuando el estado del latido sea OK, haga clic en Next para ir a la página Logtail Configurations:
: Introduzca un nombre para la configuración, como
nginx-access-log-config.: Introduzca
/var/log/nginxen el primer cuadro yaccess.logen el segundo cuadro.-
Processor Configurations:
-
Log Sample: Haga clic en Add Sample Log y pegue una entrada de registro de ejemplo:
192.168.*.* - - [15/Apr/2025:16:40:00 +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.*.* Safari/537.36" -
Processing Method: Haga clic en Data Parsing (NGINX Mode). En la sección NGINX Log Configuration, configure log_format copiando y pegando el siguiente contenido. Luego, haga clic en Confirm.
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $request_time $request_length';En un entorno de producción, el
log_formatespecificado aquí debe coincidir con la definición en su archivo de configuración de Nginx (generalmente en/etc/nginx/nginx.conf).Ejemplo de análisis de registros:
Registro sin procesar
Registro estructurado
192.168.*.* - - [15/Apr/2025:16:40:00 +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.*.* Safari/537.36"body_bytes_sent: 368 http_referer: - http_user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.x.x Safari/537.36 remote_addr:192.168.*.* remote_user: - request_length: 514 request_method: GET request_time: 0.000 request_uri: /nginx-logo.png status: 200 time_local: 15/Apr/2025:16:40:00
-
Haga clic en Next para ir a la página Query and Analysis Configurations. La configuración de recopilación tarda aproximadamente 1 minuto en surtir efecto. Haga clic en Automatic Refresh. La vista previa de los datos indica que la configuración es efectiva.
Consulta y análisis de registros
Haga clic en End para ir a la página End y luego haga clic en Query Log. Se le redirigirá a la página de consulta y análisis del logstore de destino. Utilice SQL para extraer métricas clave de los registros estructurados. Establezca el intervalo de tiempo en Last 15 Minutes:
Si aparece una ventana emergente de error, significa que el índice aún no está configurado. Ciérrela y espere aproximadamente 1 minuto hasta que pueda ver el contenido del registro del archivo access.log.
-
Ejemplo 1: Total de páginas vistas (PV)
Cuente el número total de entradas de registro dentro del intervalo de tiempo especificado.
* | SELECT count(*) AS pv -
Ejemplo 2: Solicitudes y tasa de errores por minuto
Calcule el total de solicitudes, las solicitudes con error (código de estado HTTP ≥ 400) y la tasa de errores por minuto.
* | SELECT date_trunc('minute', __time__) as time, count(1) as total_requests, count_if(status >= 400) as error_requests, round(count_if(status >= 400) * 100.0 / count(1), 2) as error_rate GROUP BY time ORDER BY time DESC LIMIT 100 -
Ejemplo 3: PV por método de solicitud (GET, POST, etc.)
Agrupe y cuente las páginas vistas por minuto y método de solicitud (GET, POST, etc.).
* | SELECT date_format(minute, '%m-%d %H:%i') AS time, request_method, pv FROM ( SELECT date_trunc('minute', __time__) AS minute, request_method, count(*) AS pv FROM log GROUP BY minute, request_method ) ORDER BY minute ASC LIMIT 10000
Visualización de datos en un panel
Después de configurar el procesador de análisis de Nginx, SLS crea automáticamente un panel preestablecido llamado nginx-access-log_Nginx Access Log.
En el panel de navegación izquierdo, elija
.Haga clic en el nombre del panel para ver gráficos de métricas clave: PV, UV, tasa de errores y distribución de métodos de solicitud.
Customize gráficos según sus necesidades comerciales.

Configuración de monitoreo y alertas
Cree una regla de alerta para recibir notificaciones cuando ocurra un comportamiento anómalo, como un aumento repentino de errores.
En el panel de navegación izquierdo, haga clic en
Alerts.-
Cree una directiva de acción:
En la pestaña , haga clic en Create.
Configure el ID y el Name (por ejemplo,
send-notification-to-admin).En Primary Action Policy, haga clic en
Action Group.Seleccione un Notification Method (por ejemplo, SMS), configure el Recipient y seleccione una Alert Template.
Haga clic en Confirm.
-
Cree una regla de alerta:
Cambie a la pestaña Alert Monitoring Rule y haga clic en Create Alert.
Nombre de la regla: Introduzca un nombre descriptivo, como
Too many server 5xx errors.-
Query Statistics: Haga clic en Add y configure las condiciones de consulta.
Logstore: Seleccione
nginx-access-log.Query Time Range: 15 minutes (Relative).
: Introduzca
status >= 500 | SELECT *.Haga clic en Preview para confirmar que puede consultar datos y luego haga clic en OK.
-
Trigger Condition: Establezca la condición para activar una alerta Critical cuando Specific number of entries sea >100.
Esta configuración activa una alerta si ocurren más de 100 errores 5xx en un periodo de 15 minutos.
-
: Seleccione SLS Notification y Enable la opción.
Action Policy: Seleccione la directiva de acción que creó en el paso anterior.
Repeat Interval: Establézcalo en 15 minutos para evitar notificaciones repetidas.
Haga clic en OK para guardar la regla de alerta.
Verificación: Cuando se cumple la condición de activación, el canal de notificación configurado recibe una alerta. Puede consultar todas las alertas activadas en la página Alert History.
Limpieza de recursos
Limpie todos los recursos creados en este tutorial para evitar cargos continuos.
-
Detener el script de generación de registros
Inicie sesión en la instancia de ECS y ejecute el siguiente comando para detener el script en segundo plano.
kill $(ps aux | grep '[g]enerate_nginx_logs.sh' | awk '{print $2}') -
Desinstalar LoongCollector (opcional)
-
Reemplace
${region_id}concn-hangzhouo, para un rendimiento óptimo, reemplace${region_id}con el ID de region de su instancia de ECS.wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh; -
Ejecute el comando de desinstalación.
chmod +x loongcollector.sh; sudo ./loongcollector.sh uninstall;
-
-
Eliminar el proyecto
En la página de lista de proyectos de la consola de Simple Log Service, busque el proyecto que creó, como
nginx-quickstart-xxx.En la columna Actions, haga clic en Delete.
En el panel que aparece, introduzca el nombre del proyecto y seleccione un motivo para la eliminación.
Haga clic en OK. Al eliminar un proyecto, se quitan todos los recursos asociados, incluidos logstores, configuraciones de recopilación, paneles y reglas de alerta.
AvisoLa eliminación de un proyecto borra permanentemente todos los datos de registro y configuraciones. Esta acción no se puede deshacer.
Siguientes pasos
Ahora que ha recopilado, consultado, visualizado y monitoreado registros, explore los siguientes recursos para obtener más información:
Data collection methods: elija el método adecuado para su escenario.
Storage resource hierarchy: planifique el ciclo de vida de los recursos y la asignación de shards.
Preguntas frecuentes
Hora de registro inconsistente después de la recopilación
De forma predeterminada, el campo __time__ utiliza la hora de llegada al servidor. Para usar la marca de tiempo del registro original, agregue un complemento de análisis de tiempo a la configuración de recopilación.
Cargos por crear un proyecto y un logstore
La creación de un logstore reserva recursos de shard de forma predeterminada, lo que puede generar cargos por arrendamiento de shards activos. Why am I charged for active shard lease fees?
Solución de problemas de fallas en la recopilación de registros
La recopilación de registros con Logtail puede fallar debido a latidos anómalos de Logtail, errores de recopilación o configuraciones incorrectas de Logtail. Troubleshooting Logtail log collection failures.
Falla al analizar registros
El análisis de registros requiere índices de campo con la función de estadísticas habilitada. Compruebe index configuration de su logstore.
Detener la facturación
Simple Log Service no se puede desactivar una vez activado. Si ya no desea utilizar el servicio, puede stop billing eliminando todos los proyectos bajo su cuenta.