View a markdown version of this page

Monitorar uma integração - AWS Glue

Monitorar uma integração

Visualização de logs do Amazon CloudWatch para uma integração

As integrações ETL zero do AWS Glue geram logs do CloudWatch para visibilidade da movimentação dos seus dados. Eventos de logs relacionados a cada ingestão com êxito ou a quaisquer falhas ocorridas devido a registros de dados problemáticos na fonte, ou erros de gravação de dados devido a alterações no esquema ou permissões insuficientes são emitidos para um grupo de logs padrão criado em uma conta de cliente.

Para cada integração criada, os eventos de logs dessa integração serão coletados em /aws-glue/zeroETL-integrations/logs/ no CloudWatch. No grupo de logs, as mensagens de log serão divididas em fluxos de logs. Cada integração criada tem um fluxo de logs dedicado no qual todos os logs dessa integração são gravados.

nota

Em um cenário entre contas, os logs de processamento de origem são emitidos na conta de origem em que a integração existe, e os logs de processamento de destino são emitidos na conta de destino em que o banco de dados de destino existe.

Permissões do IAM necessárias para habilitar registros em log

Ao criar sua integração, as seguintes permissões do IAM são necessárias para os perfis de origem e destino a fim de habilitar o registro em log do CloudWatch para uma integração. As integrações ETL zero do AWS Glue usam essas permissões fornecidas nos perfis de origem e destino para emitir logs do CloudWatch para contas de clientes.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "*" ] } ] }

Mensagens de log

Formato de log: as integrações ETL zero emitem quatro tipos de mensagens de log.

// Ingestion started { "integrationArn": "arn:aws:glue:us-east-2:123456789012:integration/1a012bba-123a-1bba-ab1c-173de3b12345", ... "messageType": "IngestionStarted", "details": { "tableName": "testDDBTable", "message": "Ingestion Job started" } } // Data processing stats on successful table ingestion { ... "messageType": "IngestionProcessingStats", "details": { "tableName": "testDDBTable", "insert_count": 100, "update_count": 10, "delete_count": 10 } } // Ingestion failure logs for failed table-processing { ... "messageType": "IngestionFailed", "details": { "tableName": "testDDBTable", "errorMessage": "Failed to ingest data with error: Target Glue database not found.", "error_code" : "client_error" } } // Ingestion completed notification with lastSyncedTimestamp { ... "messageType": "IngestionCompleted", "details": { "tableName": "testDDBTable", "message": "Ingestion Job completed" "lastSyncedTimestamp": "1132344255745" } }

Visualizar métricas do Amazon CloudWatch para uma integração

Depois que a integração for concluída, você poderá ver essas métricas do CloudWatch geradas em sua conta para cada execução de trabalho do AWS Glue:

Namespace de métricas do CloudWatch: "AWS/Glue/zeroETL"

Dimensões de métricas:

  • integrationArn

  • loadType

  • tableName

Nomes de métricas:

  • InsertCount: número de registros inseridos na tabela do Iceberg de destino.

  • UpdateCount: número de registros atualizados na tabela do Iceberg de destino.

  • DeleteCount: número de registros excluídos da tabela do Iceberg de destino.

  • IngestionSucceeded: conte 1, se a ingestão foi bem-sucedida para a integração.

  • IngestionFailed: conte 1, se a ingestão falhou para a integração.

  • LastSyncTimestamp: timestamp até o qual a origem foi sincronizada com o destino.

Gerenciamento de notificações de eventos com o Amazon EventBridge

As integrações ETL zero usam o Amazon EventBridge para gerenciar notificações de eventos a fim de manter você por dentro das alterações feitas nas integrações. O Amazon EventBridge é uma tecnologia sem servidor de barramento de eventos que pode ser usada para facilitar a conexão de aplicações a dados de diversas origens. Nesse caso, a origem do evento é o AWS Glue. Os eventos, que são alterações monitoradas em um ambiente, são enviados automaticamente para o EventBridge pelo AWS Glue. Os eventos são entregues quase em tempo real.

Para capturar todas as notificações de ETL zero, crie uma regra do EventBridge que corresponda ao seguinte:

{ "source": [{ "prefix": "aws.glue-zero-etl" }], "detail-type": [{ "prefix": "Glue Zero ETL" }] }

A seguinte tabela inclui eventos de integração ETL zero:

Tipo de detalhe Explicação
Ingestão de ETL zero do AWS Glue concluída A execução individual de uma entidade foi concluída com êxito.
A ingestão de ETL zero do AWS Glue falhou A execução individual de uma entidade foi concluída sem êxito (com um erro do cliente ou do sistema).
Integração ETL zero do AWS Glue ressincronizada A integração foi RESYNCED.
A integração ETL zero do AWS Glue falhou O status da integração foi alterado para FAILED devido a um erro.
A integração ETL zero do AWS Glue precisa de atenção O status da integração foi alterado para NEEDS_ATTENTION devido a um erro.
Ingestão de ETL zero do AWS Glue em andamento A execução individual de uma entidade avançou parcialmente em direção à conclusão.