Localizações dos arquivos de log do Amazon ECS - Amazon Elastic Container Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Localizações dos arquivos de log do Amazon ECS

O Amazon ECS armazena logs na pasta /var/log/ecs das instâncias de contêiner. Existem logs disponibilizados pelo agente de contêiner do Amazon ECS e pelo serviço ecs-init que controla o estado do agente (iniciar/interromper) na instância de contêiner. É possível visualizar esses arquivos de log conectando-se a uma instância de contêiner usando SSH.

nota

Se você não tiver certeza de como coletar todos os logs nas instâncias de contêiner, poderá usar o coletor de logs do Amazon ECS. Para ter mais informações, consulte Coletor de logs do Amazon ECS.

Registro do Amazon ECS Container Agent

O agente de contêiner do Amazon ECS armazena logs nas instâncias de contêiner.

Para o agente de contêiner versão 1.36.0 e posteriores, por padrão, os logs estão localizados em /var/log/ecs/ecs-agent.log nas instâncias do Linux e em C:\ProgramData\Amazon\ECS\log\ecs-agent.log nas instâncias do Windows.

Para o agente de contêiner versão 1.35.0 e posteriores, por padrão, os logs estão localizados em /var/log/ecs/ecs-agent.log.timestamp nas instâncias do Linux e em C:\ProgramData\Amazon\ECS\log\ecs-agent.log.timestamp nas instâncias do Windows.

Por padrão, os logs do agente são rotacionados de hora em hora com o máximo de 24 logs armazenados.

Veja a seguir as variáveis de configuração do agente de contêiner que podem ser usadas para alterar o comportamento padrão de log do agente. Para ter mais informações, consulte Configuração do agente de contêiner do Amazon ECS.

ECS_LOGFILE

Valores de exemplo: /ecs-agent.log

Valor padrão no Linux: Null

Valor padrão no Windows: Null

O local onde os logs do agente devem ser gravados. Se você estiver executando o agente viaecs-init, que é o método padrão ao usar a AMI otimizada para Amazon ECS, o caminho no contêiner é/log, e o ecs-init monta, no host. /var/log/ecs/

ECS_LOGLEVEL

Exemplos de valores: crit, error, warn, info, debug

Valor padrão no Linux: info

Valor padrão no Windows: info

O nível de detalhe para o log.

ECS_LOGLEVEL_ON_INSTANCE

Exemplos de valores: none, crit, error, warn, info, debug

Valor padrão no Linux: none, se ECS_LOG_DRIVER é explicitamente definido como um valor não vazio; caso contrário, o mesmo valor que ECS_LOGLEVEL

Valor padrão no Windows: none, se ECS_LOG_DRIVER é explicitamente definido como um valor não vazio; caso contrário, o mesmo valor que ECS_LOGLEVEL

Pode ser usado para substituir ECS_LOGLEVEL e definir um nível de detalhe que deve ser registrado no arquivo de log na instância, separadamente do nível que é registrado no driver de registro. Se um driver de registro for definido explicitamente, os registros na instância serão desativados por padrão. Eles podem ser ativados novamente com essa variável.

ECS_LOG_DRIVER

Exemplos de valores: awslogs, fluentd, gelf, json-file, journald, logentries syslog, splunk

Valor padrão no Linux: json-file

Valor padrão no Windows: Not applicable

Determina o driver de registro usado pelo contêiner do agente.

ECS_LOG_ROLLOVER_TYPE

Valores de exemplo: size, hourly

Valor padrão no Linux: hourly

Valor padrão no Windows: hourly

Determina se o arquivo de log do agente de contêiner é rotacionado de hora em hora ou com base no tamanho. Por padrão, o arquivo de log do agente é mudado a cada hora.

ECS_LOG_OUTPUT_FORMAT

Valores de exemplo: logfmt, json

Valor padrão no Linux: logfmt

Valor padrão no Windows: logfmt

Determina o formato de saída do log. Quando o json formato é usado, cada linha no registro é um mapa JSON estruturado.

ECS_LOG_MAX_FILE_SIZE_MB

Valores de exemplo: 10

Valor padrão no Linux: 10

Valor padrão no Windows: 10

Quando a ECS_LOG_ROLLOVER_TYPE variável é definida comosize, essa variável determina o tamanho máximo (em MB) do arquivo de log antes de ser girado. Se o tipo de alternância estiver definido como hourly, essa variável será ignorada.

ECS_LOG_MAX_ROLL_COUNT

Valores de exemplo: 24

Valor padrão no Linux: 24

Valor padrão no Windows: 24

Determina o número de arquivos de log mudados que devem ser mantidos. Os arquivos de log mais antigos são excluídos depois que esse limite é atingido.

Para o agente de contêiner versão 1.36.0 e posteriores, veja a seguir um arquivo de log de exemplo quando o formato logfmt é usado.

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

Veja a seguir um arquivo de log de exemplo quando o formato JSON é usado.

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

Para agentes de contêiner versões 1.35.0 e anteriores, veja a seguir o formato do arquivo de log.

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"

Log do ecs-init do Amazon ECS

O processo ecs-init armazena logs em /var/log/ecs/ecs-init.log.

É possível usar o comando a seguir para visualizar os arquivos de log.

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

Saída:

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

Funções do IAM para log de auditoria de credencial de tarefas

Quando o provedor de credenciais para a função do IAM for usado para fornecer credencias às tarefas, essas solicitações serão salvas em um log de auditoria. O log de auditoria herda as mesmas configurações de rotação de log que o log do agente de contêiner. As variáveis de configuração do agente de contêiner ECS_LOG_ROLLOVER_TYPE, ECS_LOG_MAX_FILE_SIZE_MB e ECS_LOG_MAX_ROLL_COUNT podem ser definidas para afetar o comportamento do log de auditoria. Para ter mais informações, consulte Registro do Amazon ECS Container Agent.

Para o agente de contêiner versão 1.36.0 e posteriores, o log de auditoria está localizado em /var/log/ecs/audit.log. Quando o log é girado, um timestamp no formato YYYY-MM-DD-HH é adicionado ao final do nome do arquivo de log.

Para o agente de contêiner versão 1.35.0 e anteriores, o log de auditoria está localizado em /var/log/ecs/audit.log.YYYY-MM-DD-HH.

O formato de entrada do log é o seguinte:

  • Timestamp

  • Código de resposta HTTP

  • Endereço IP e número de porta de origem da solicitação

  • URI relativo do provedor de credencial

  • O agente do usuário que fez a solicitação

  • O ARN da tarefa ao qual o contêiner solicitante pertence

  • O nome e o número da versão da API GetCredentials

  • O nome do cluster do Amazon ECS no qual a instância de contêiner é registrada

  • O ARN de instância do contêiner

Uma entrada de log de exemplo é mostrada abaixo.

É possível usar o comando a seguir para visualizar os arquivos de log.

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

Saída:

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