Ubicaciones de los archivos de registro de Amazon ECS - Amazon Elastic Container Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ubicaciones de los archivos de registro de Amazon ECS

Amazon ECS almacena los registros en la carpeta /var/log/ecs de las instancias de contenedor. Hay registros disponibles del agente de contenedor de Amazon ECS y del servicio ecs-init que controla el estado del agente (comenzar/detener) en la instancia de contenedor. Puede ver estos archivos de registro conectando a una instancia de contenedor mediante SSH.

nota

Si no está seguro de cómo recopilar todos los registros de las instancias de contenedor, puede utilizar el recopilador de registros de Amazon ECS. Para obtener más información, consulte Recopilador de registros de Amazon ECS.

Registro de Amazon ECS Container Agent

El agente de contenedor de Amazon ECS almacena registros en las instancias de contenedor.

Para el agente de contenedor versión 1.36.0 y posterior, los registros se encuentran de forma predeterminada en /var/log/ecs/ecs-agent.log en instancias de Linux y en C:\ProgramData\Amazon\ECS\log\ecs-agent.log en instancias de Windows.

Para el agente de contenedor versión 1.35.0 y anterior, los registros se encuentran de forma predeterminada en /var/log/ecs/ecs-agent.log.timestamp en instancias de Linux y en C:\ProgramData\Amazon\ECS\log\ecs-agent.log.timestamp en instancias de Windows.

De forma predeterminada, los registros de agente rotan cada hora y se almacena un máximo de 24 registros.

A continuación se muestran las variables de configuración del agente de contenedor que se pueden utilizar para cambiar el comportamiento de registro de agente predeterminado. Para obtener más información, consulte Configuración del agente de contenedor de Amazon ECS.

ECS_LOGFILE

Valores de ejemplo: /ecs-agent.log

Valor predeterminado en Linux: Null

Valor predeterminado en Windows: Null

La ubicación en la que se deben escribir los registros del agente. Si ejecuta el agente medianteecs-init, que es el método predeterminado cuando se utiliza la AMI optimizada para Amazon ECS, la ruta dentro del contenedor es /log y se ecs-init monta en el host. /var/log/ecs/

ECS_LOGLEVEL

Valores de muestra: crit, error, warn, info y debug

Valor predeterminado en Linux: info

Valor predeterminado en Windows: info

El nivel de detalle con el que se va a registrar.

ECS_LOGLEVEL_ON_INSTANCE

Valores de muestra: none, crit, error, warn, info, debug

Valor predeterminado en Linux: none, si ECS_LOG_DRIVER se establece explícitamente en un valor no vacío; de lo contrario, el mismo valor que ECS_LOGLEVEL

Valor predeterminado en Windows: none, si ECS_LOG_DRIVER se establece explícitamente en un valor no vacío; de lo contrario, el mismo valor que ECS_LOGLEVEL

Se puede utilizar para anular ECS_LOGLEVEL y establecer un nivel de detalle que debe registrarse en el archivo de registro en la instancia, separado del nivel que se registra en el controlador de registro. Si se establece un controlador de registro de forma explícita, los registros de la instancia se desactivan de forma predeterminada. Se pueden volver a activar con esta variable.

ECS_LOG_DRIVER

Valores de ejemplo: awslogs, fluentd, gelf, json-file, journald, logentries syslog, splunk

Valor predeterminado en Linux: json-file

Valor predeterminado en Windows: No aplicable

Determina el controlador de registro que utiliza el contenedor del agente.

ECS_LOG_ROLLOVER_TYPE

Valores de ejemplo: size y hourly

Valor predeterminado en Linux: hourly

Valor predeterminado en Windows: hourly

Determina si el archivo de registro del agente contenedor se rota cada hora o en función del tamaño. De forma predeterminada, el archivo de registro del agente se sustituye cada hora.

ECS_LOG_OUTPUT_FORMAT

Valores de ejemplo: logfmt y json

Valor predeterminado en Linux: logfmt

Valor predeterminado en Windows: logfmt

Determina el formato de salida del registro. Cuando se utiliza este json formato, cada línea del registro es un mapa JSON estructurado.

ECS_LOG_MAX_FILE_SIZE_MB

Valores de ejemplo: 10

Valor predeterminado en Linux: 10

Valor predeterminado en Windows: 10

Si la ECS_LOG_ROLLOVER_TYPE variable se establece ensize, esta variable determina el tamaño máximo (en MB) del archivo de registro antes de rotarlo. Si el tipo de sustitución está establecido en hourly, esta variable no se tiene en cuenta.

ECS_LOG_MAX_ROLL_COUNT

Valores de ejemplo: 24

Valor predeterminado en Linux: 24

Valor predeterminado en Windows: 24

Determina el número de archivos de registro sustituidos que deben conservarse. Los archivos de registro más antiguos se eliminan cuando se alcanza este límite.

Para el agente de contenedor versión 1.36.0 y posterior, a continuación se ofrece un archivo de registro de ejemplo cuando se utiliza el formato logfmt.

level=info time=2019-12-12T23:43:29Z msg="Loading configuration" module=agent.go level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-agent:latest" module=parse.go level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-pause:0.1.0" module=parse.go level=info time=2019-12-12T23:43:29Z msg="Amazon ECS agent Version: 1.36.0, Commit: ca640387" module=agent.go level=info time=2019-12-12T23:43:29Z msg="Creating root ecs cgroup: /ecs" module=init_linux.go level=info time=2019-12-12T23:43:29Z msg="Creating cgroup /ecs" module=cgroup_controller_linux.go level=info time=2019-12-12T23:43:29Z msg="Loading state!" module=statemanager.go level=info time=2019-12-12T23:43:29Z msg="Event stream ContainerChange start listening..." module=eventstream.go level=info time=2019-12-12T23:43:29Z msg="Restored cluster 'auto-robc'" module=agent.go level=info time=2019-12-12T23:43:29Z msg="Restored from checkpoint file. I am running as 'arn:aws:ecs:us-west-2:0123456789:container-instance/auto-robc/3330a8a91d15464ea30662d5840164cd' in cluster 'auto-robc'" module=agent.go

A continuación se ofrece un archivo de registro de ejemplo cuando se utiliza el formato JSON.

{"time": "2019-11-07T22:52:02Z", "level": "info", "msg": "Starting Amazon Elastic Container Service Agent", "module": "engine.go"}

Para el agente de contenedor versión 1.35.0 y anterior, a continuación se muestra el formato del archivo de registro.

2016-08-15T15:54:41Z [INFO] Starting Agent: Amazon ECS Agent - v1.12.0 (895f3c1) 2016-08-15T15:54:41Z [INFO] Loading configuration 2016-08-15T15:54:41Z [WARN] Invalid value for task cleanup duration, will be overridden to 3h0m0s, parsed value 0, minimum threshold 1m0s 2016-08-15T15:54:41Z [INFO] Checkpointing is enabled. Attempting to load state 2016-08-15T15:54:41Z [INFO] Loading state! module="statemanager" 2016-08-15T15:54:41Z [INFO] Detected Docker versions [1.17 1.18 1.19 1.20 1.21 1.22] 2016-08-15T15:54:41Z [INFO] Registering Instance with ECS 2016-08-15T15:54:41Z [INFO] Registered! module="api client"

Registro ecs-init de Amazon ECS

El proceso ecs-init almacena registros en /var/log/ecs/ecs-init.log.

Puede usar el siguiente comando para ver los archivos de registro.

cat /var/log/ecs/ecs-init.log

Salida:

2018-02-16T18:13:54Z [INFO] pre-start 2018-02-16T18:13:56Z [INFO] start 2018-02-16T18:13:56Z [INFO] No existing agent container to remove. 2018-02-16T18:13:56Z [INFO] Starting Amazon Elastic Container Service Agent

Registro de auditoría de credenciales en roles de IAM para tareas

Cuando se utiliza el proveedor de credenciales en el rol de IAM a fin de proporcionar credenciales para las tareas, estas solicitudes se guardan en un registro de auditoría. El registro de auditoría hereda la misma configuración de rotación de registro que el registro del agente de contenedor. Las variables de configuración de agente de contenedor ECS_LOG_ROLLOVER_TYPE, ECS_LOG_MAX_FILE_SIZE_MB y ECS_LOG_MAX_ROLL_COUNT se pueden establecer para que afecten al comportamiento del registro de auditoría. Para obtener más información, consulte Registro de Amazon ECS Container Agent.

Para el agente de contenedor versión 1.36.0 y posterior, el registro de auditoría se encuentra en /var/log/ecs/audit.log. Cuando rota el registro, se agrega una marca temporal en formato YYYY-MM-DD-HH al final del nombre del archivo de registro.

Para el agente de contenedor versión 1.35.0 y anterior, el registro de auditoría se encuentra en /var/log/ecs/audit.log.YYYY-MM-DD-HH.

El formato de entrada de registro es el siguiente:

  • Timestamp

  • Código de respuesta HTTP

  • Dirección IP y número de puerto del origen de solicitud

  • URI relativa del proveedor de credenciales

  • El agente de usuario que realizó la solicitud

  • El ARN de la tarea a la que pertenece el contenedor solicitante

  • El nombre de API GetCredentials y su número de versión

  • El nombre del clúster de Amazon ECS en el que está registrada la instancia de contenedor

  • El ARN de la instancia de contenedor

A continuación, se muestra una entrada de registro de ejemplo.

Puede usar el siguiente comando para ver los archivos de registro.

cat /var/log/ecs/audit.log.2016-07-13-16

Salida:

2016-07-13T16:11:53Z 200 172.17.0.5:52444 "/v1/credentials" "python-requests/2.7.0 CPython/2.7.6 Linux/4.4.14-24.50.amzn1.x86_64" TASK_ARN GetCredentials 1 CLUSTER_NAME CONTAINER_INSTANCE_ARN