DEV Community

Railander Marques
Railander Marques

Posted on • Edited on

4

Monitoramento de Eventos no AWS SES com Filtros no CloudWatch Logs

Introdução:

No cenário da gestão de e-mails, a eficiência na monitorização e análise de eventos críticos é fundamental. Para aprimorar esse processo no AWS SES, foram desenvolvidos filtros específicos, utilizando registros do CloudWatch Logs em /aws/ses/monitoring (nome usado no vídeo deste tutorial).

Esses filtros são projetados para fornecer insights técnicos em três áreas-chave: entregas bem-sucedidas, reclamações de destinatários e bounces. Cada filtro extrai dados essenciais, como timestamp, tipo de notificação, remetente, destinatários e assunto do e-mail. Este enfoque técnico facilita a compreensão e administração direta do serviço SES.

A seguir, detalharemos cada filtro, destacando sua finalidade específica e as métricas técnicas fornecidas. Esses filtros não apenas simplificam a interpretação de eventos críticos, mas também capacitam administradores com controle técnico preciso no ambiente AWS SES.


Diagrama - Como funciona a rastreabilidade?
Image description

Link da Implementação: https://youtu.be/G5UDOBfEBZg


Filtro de Entrega:
Este filtro visa identificar eventos relacionados à entrega de e-mails.
Campos selecionados para exibição: timestamp, tipo de notificação, remetente (mail.source), destinatário principal (Recepient1), destinatário secundário (Recepient2) e assunto do e-mail (Subject).
A filtragem é realizada para selecionar apenas eventos do tipo "Delivery".
Os resultados são ordenados de forma descendente com base no timestamp.

fields @timestamp, notificationType, mail.source as Sender, mail.destination.0 as Recepient1, mail.destination.1 as Recepient2, mail.commonHeaders.subject as Subject
| filter notificationType = "Delivery"
| sort @timestamp desc
Enter fullscreen mode Exit fullscreen mode

Filtro de Reclamação (Complaint):
Este filtro tem como objetivo identificar eventos relacionados a reclamações de e-mails por parte dos destinatários.
Campos selecionados para exibição: timestamp, tipo de notificação, remetente (mail.source), destinatário principal (Recepient1), destinatário secundário (Recepient2) e assunto do e-mail (Subject).
A filtragem é realizada para selecionar apenas eventos do tipo "Complaint".
Os resultados são ordenados de forma descendente com base no timestamp.

fields @timestamp, notificationType, mail.source as Sender, mail.destination.0 as Recepient1, mail.destination.1 as Recepient2, mail.commonHeaders.subject as Subject
| filter notificationType = "Complaint"
| sort @timestamp desc
Enter fullscreen mode Exit fullscreen mode

Filtro de Bounce:
Este filtro visa identificar eventos relacionados a e-mails que não foram entregues corretamente e foram devolvidos (bounced).
Campos selecionados para exibição: timestamp, tipo de notificação, remetente (mail.source), destinatário principal (Recepient1), destinatário secundário (Recepient2) e assunto do e-mail (Subject).
A filtragem é realizada para selecionar apenas eventos do tipo "Bounce".
Os resultados são ordenados de forma descendente com base no timestamp.

fields @timestamp, notificationType, mail.source as Sender, mail.destination.0 as Recepient1, mail.destination.1 as Recepient2, mail.commonHeaders.subject as Subject
| filter notificationType = "Bounce"
| sort @timestamp desc
Enter fullscreen mode Exit fullscreen mode

Filtro mais Abrangente:

fields @timestamp,
       notificationType,
       mail.timestamp as mail_timestamp,
       bounce.bouncedRecipients.0.status as code_status,
       mail.source as Remetente,
       mail.destination.0 as Destinatario_1,
       mail.destination.1 as Destinatario_2,
       mail.destination.2 as Destinatario_3,
       mail.commonHeaders.subject as Assunto,
       mail.commonHeaders.date as Data,
       bounce.bounceType as bounce_type,
       bounce.bounceSubType as bounce_sub_type,
       complaint.complaintFeedbackType as complaint_feedback,
       complaint.complaintSubType as complaint_sub_type,
       delivery.processingTimeMillis as delivery_time,
       delivery.smtpResponse as smtp_response,
       coalesce(bounce.bouncedRecipients[0].emailAddress, '') as bounced_email,
       coalesce(complaint.complainedRecipients[0].emailAddress, '') as complained_email,
       mail.messageId
| filter notificationType in ['Bounce', 'Complaint', 'Delivery']
| sort @timestamp desc
Enter fullscreen mode Exit fullscreen mode

Extra:
Meta Redirect usado no Vídeo:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="refresh" content="0;url=https://cloudwatch.amazonaws.com/dashboard.html?dashboard=ses-monitoring&context=XXXXXXXXX---TROQUE-SUA-URL---XXXXXXXXX">
    <meta name="robots" content="noindex, nofollow">
    <title></title>
</head>
<body>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

Screenshots:

Image description

Image description

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs