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.
nas instâncias do Linux e em timestamp
C:\ProgramData\Amazon\ECS\log\ecs-agent.log.
nas instâncias do Windows.timestamp
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 via
ecs-init
, que é o método padrão ao usar a AMI otimizada para Amazon ECS, o caminho no contêiner é/log
, e oecs-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
, seECS_LOG_DRIVER
é explicitamente definido como um valor não vazio; caso contrário, o mesmo valor queECS_LOGLEVEL
Valor padrão no Windows:
none
, seECS_LOG_DRIVER
é explicitamente definido como um valor não vazio; caso contrário, o mesmo valor queECS_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 comohourly
, 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
é adicionado ao final do nome do arquivo de log.YYYY
-MM
-DD
-HH
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