Como resolvo o erro "ResourceInitializationError: failed to validate logger args"“ (ErroInicializaçãoRecursoInicialização: falha ao validar argumentos do logger) no Amazon ECS?
Última atualização: 22/07/2022
Ao executar uma tarefa no Amazon Elastic Container Service (Amazon ECS), recebo o seguinte erro: "ResourceInitializationError: failed to validate logger args: create stream has been retried 1 times: failed to create Cloudwatch log stream: ResourceNotFoundException: The specified log group does not exist. : exit status 1" (ErroInicializaçãoRecurso: falha ao validar argumentos do logger: criar fluxo foi repetido 1 vez: falha ao criar fluxo de logs do Cloudwatch: ExceçãoRecursoNãoLocalizado: O grupo de logs especificado não existe.: status de saída 1). Como resolvo esse erro?
Breve descrição
O Amazon ECS retorna um erro ResourceInitialization (InicializaçãoRecurso) quando a tarefa do Amazon ECS não consegue encontrar o grupo de logs do Amazon CloudWatch definido na definição de tarefas. Para resolver o erro, crie um novo grupo de logs para a tarefa.
Resolução
Para resolver o erro ResourceInitialization (InicializaçãoRecurso), escolha uma dessas soluções para criar um novo grupo de logs para a tarefa.
Criar um grupo de logs do CloudWatch no console
- Abra o console do CloudWatch.
- Na barra de navegação, escolha a região em que o cluster do Amazon ECS está localizado.
- No painel de navegação esquerdo, escolha Logs e selecione Log groups (Grupos de logs).
- Na janela Log groups (Grupos de logs), selecione Create log group. (Criar grupo de logs).
Crie um grupo de logs do CloudWatch usando a AWS CLI
Crie um grupo de logs do CloudWatch usando o comando create-log-group da AWS Command Line Interface (AWS CLI). O exemplo de comando a seguir cria um grupo de logs denominado mylogs:
Observação: se você receber erros ao executar os comandos da AWS CLI, utilize a versão mais recente da AWS CLI.
aws logs create-log-group --log-group-name mylogs
Use o recurso de configuração automática no Amazon ECS
A opção de configuração automática no console do Amazon ECS cria um grupo de logs em seu nome usando o nome da família de definição de tarefas com ecs como prefixo. O exemplo a seguir especifica uma Configuração de Log em sua Definição de tarefas.
{
"containerDefinitions": [
{
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "/ecs/task_definition_familyname ",
"awslogs-region": "eu-west-1",
"awslogs-stream-prefix": "ecs"
}
}
}
Você também pode criar um grupo de logs personalizado especificando opções de configuração de log e adicionando a chave awslogs-create-group com um valor true para criar os grupos de logs em seu nome.
O exemplo a seguir especifica uma Configuração de Log na Definição de tarefas com opção definida.
{
"containerDefinitions": [
{
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "example_container",
"awslogs-region": "eu-west-1",
"awslogs-create-group": "true",
"awslogs-stream-prefix": "example"
}
}
}
Observação: a política gerenciada do AWS Identity and Access Management (IAM) AmazonECSTaskExecutionRolePolicy não inclui permissões logs:CreateLogGroup. Para usar a opção awslogs-create-group, adicione logs:CreateLogGroup como uma política do IAM em linha.
Este artigo ajudou?
Precisa de ajuda com faturamento ou suporte técnico?