Come posso risolvere l'errore “ResourceInitializationError: failed to validate logger args” in Amazon ECS?

Ultimo aggiornamento: 22/07/2022

Quando si esegue un'attività in Amazon Elastic Container Service (Amazon ECS), viene visualizzato il seguente errore: "ResourceInitializationError: failed to validate logger args: create stream has been retry 1 times: failed to create Cloudwatch log stream: ResourceNotFoundException: The specified log group does non exist.: exit status 1". Come posso risolvere questo errore?

Breve descrizione

Amazon ECS mostra un errore ResourceInitialization quando l'attività Amazon ECS non riesce a trovare il gruppo di flussi di log di Amazon CloudWatch specificato nella definizione dell'attività. Per risolvere l'errore, crea un nuovo gruppo di flussi di log per l'attività.

Risoluzione

Per risolvere l'errore ResourceInitialization, scegli una di queste soluzioni per creare un nuovo gruppo di flussi di log per l'attività.

Creare un gruppo di flussi di log di CloudWatch nella console

  1. Apri la console CloudWatch.
  2. Dalla barra di navigazione, scegli la Regione in cui si trova il cluster Amazon ECS.
  3. Nel pannello di navigazione a sinistra, scegli Log, quindi selezionagruppo di flussi di log.
  4. Nella finestra Gruppo di flussi di log, seleziona Crea gruppo di flussi di log.

Creare un gruppo di flussi di log di CloudWatch utilizzando AWS CLI

Crea un gruppo di flussi di log di CloudWatch utilizzando il comando create-log-group nell’Interfaccia della linea di comando AWS (AWS CLI). Il seguente comando di esempio crea un gruppo di flussi di log denominato mylogs:

Nota: se ricevi un messaggio di errore durante l'esecuzione dei comandi di AWS CLIassicurati di utilizzare la versione più recente di AWS CLI.

aws logs create-log-group --log-group-name mylogs

Usare la funzione di configurazione automatica in Amazon ECS

L'opzione di configurazione automatica nella console di Amazon ECS crea un gruppo di flussi di log per tuo conto utilizzando il nome della famiglia di definizioni di attività con ecs come prefisso. L'esempio seguente specifica una configurazione del registro nella tua Definizione dell'attività.

{
  "containerDefinitions": [
    {
      "logConfiguration": {
        "logDriver": "awslogs",
         "options": {
           "awslogs-group": "/ecs/task_definition_familyname ",
           "awslogs-region": "eu-west-1",
           "awslogs-stream-prefix": "ecs"
    }
  }
}

È inoltre possibile creare un gruppo di flussi di log personalizzato specificando le opzioni di configurazione del registro e aggiungendo la chiave awslogs-create-group con il valoretrue per creare i gruppi di flussi di log per proprio conto.

L'esempio seguente specifica una configurazione del registro nella tua definizione dell'attività con l'insieme di opzioni.

{
  "containerDefinitions": [
    {
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "example_container",
          "awslogs-region": "eu-west-1",
          "awslogs-create-group": "true",
          "awslogs-stream-prefix": "example"
    }
  }
}

Nota: la policy gestita da AWS Identity and Access Management (IAM) AmazonECSTaskExecutionRolePolicy non include le autorizzazioni log:CreateLogGroup. Per utilizzare l'opzione awslogs-create-group, aggiungi logs:CreateLogGroup come policy IAM in linea.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?