Perché il mio processo AWS Glue non scrive i log in Amazon CloudWatch?

4 minuti di lettura
0

Il processo di estrazione, caricamento e trasformazione (ETL) di AWS Glue non scrive i log in Amazon CloudWatch.

Breve descrizione

Se i processi AWS Glue non inviano i log a CloudWatch, controlla quanto segue:

  • Assicurati che il tuo processo AWS Glue disponga di tutte le autorizzazioni AWS Identity and Access Management (IAM) richieste.
  • Assicurati che la chiave AWS Key Management Service (AWS KMS) consenta al servizio CloudWatch Logs di utilizzare la chiave.
  • Assicurati che l’autorizzazione IAM logs:AssociateKmsKey sia associata al ruolo AWS Glue.
  • Se non hai attivato la registrazione continua per il processo Spark ETL AWS Glue, controlla che il processo non si sia interrotto prima dell'aggregazione dei log.
  • Assicurati di controllare il gruppo di log di CloudWatch corretto.

Risoluzione

Il ruolo del processo AWS Glue non dispone delle autorizzazioni IAM per creare e scrivere nel gruppo di log di CloudWatch

Se non utilizzi la policy gestita da AWSGlueServiceRole, assicurati che il ruolo IAM associato al processo ETL disponga delle seguenti autorizzazioni necessarie per interagire con CloudWatch. Se il processo utilizza un gruppo di log personalizzato, la policy IAM deve fornire l'accesso al gruppo di log personalizzato.

{
    "Effect": "Allow",
    "Action": "cloudwatch:PutMetricData",
    "Resource": [
        "*"
    ]
},
{
    "Effect": "Allow",
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
    ],
    "Resource": [
        "arn:aws:logs:*:*:/aws-glue/*",
        "arn:aws:logs:*:*:/customlogs/*"
    ]
}

Assicurati di sostituire arn:aws:logs:*:*:/customlogs/* con l'ARN del gruppo di log personalizzato.

La chiave AWS KMS utilizzata non concede le autorizzazioni richieste al servizio CloudWatch Logs

Se utilizzi le configurazioni di sicurezza con il processo AWS Glue, assicurati che la chiave AWS KMS allegata alla configurazione di sicurezza consenta al servizio CloudWatch Logs di utilizzare la chiave. Allega la seguente policy alla chiave AWS KMS:

{
    "Effect": "Allow",
    "Principal": {
        "Service": "logs.region.amazonaws.com"
    },
    "Action": [
        "kms:Encrypt*",
        "kms:Decrypt*",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:Describe*"
    ],
    "Resource": "*",
    "Condition": {
        "ArnEquals": {
            "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:us-west-2:1111222233334444:log-group:log-group-name"
        }
    }
}

Assicurati di sostituire quanto segue nella policy:

  • us-west-2 con la Regione AWS desiderata
  • 1111222233334444 con l'ID dell’account AWS.
  • log-group-name con il nome del gruppo di log.

Per ulteriori informazioni, consulta Crittografia dei dati di log in CloudWatch Logs utilizzando AWS Key Management Service.

Inoltre, assicurati che l’autorizzazione IAM logs:AssociateKmsKey sia allegata al ruolo AWS Glue. Per ulteriori informazioni, consulta Security configuration with continuous logging.

La registrazione continua non è attivata per il processo Spark ETL AWS Glue

Se non hai attivato la registrazione continua per il processo Spark ETL AWS Glue, l'aggregazione dei log avviene dopo che l'esecuzione del processo è terminata. Se il processo si interrompe prima dell'aggregazione dei log, è possibile che i log non vengano inviati a CloudWatch. Per verificare che i log siano compilati indipendentemente dagli errori delle applicazioni, è possibile attivare la registrazione continua dei processi AWS Glue.

Non stai cercando i log nel gruppo di log corretto

Ricorda quanto segue quando cerchi i log di CloudWatch:

  • Se hai attivato la registrazione continua e utilizzi i gruppi di log predefiniti, i messaggi personalizzati, come quelli delle istruzioni di stampa, vengono inviati al gruppo di log /aws-glue/jobs/output.
  • Se hai attivato la registrazione continua e usi i gruppi di log predefiniti, i messaggi generati dai logger vengono inviati ai log del driver in /aws-glue/jobs/logs-v2.
  • Se hai attivato la registrazione continua e utilizzi i gruppi di log predefiniti, i processi che utilizzano configurazioni di sicurezza inviano messaggi personalizzati a /aws-glue/jobs/logs-v2-testconfig. Assicurati di sostituire testconfig con il nome della configurazione di sicurezza.
  • Se hai attivato la registrazione continua e utilizzi gruppi di log personalizzati, puoi trovare i messaggi di log personalizzati insieme ai log del driver e dell'esecutore nel gruppo di log personalizzato.
  • Se non hai attivato la registrazione continua, puoi trovare i messaggi, come i risultati delle istruzioni di stampa, in /aws-glue/jobs/output e tutti i messaggi personalizzati del logger in /aws-glue/jobs/error.

Per ulteriori informazioni, consulta Logging behavior.


Informazioni correlate

Logging and monitoring in AWS Glue

Running and monitoring in AWS Glue

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa