Painéis de monitoramento e alarmes no Amazon MWAA
Você pode criar um painel personalizado no Amazon CloudWatch e adicionar alarmes para uma métrica específica para monitorar o status de integridade de um ambiente Amazon Managed Workflows for Apache Airflow. Quando há um alarme em um painel, ele fica vermelho quando está no estado ALARM, facilitando o monitoramento proativo da integridade de um ambiente do Amazon MWAA.
O Apache Airflow expõe métricas para vários processos, incluindo o número de processos do DAG, o tamanho do pacote do DAG, as tarefas atualmente em execução, as falhas e os sucessos das tarefas. Quando você cria um ambiente, o Airflow envia automaticamente métricas de um ambiente do Amazon MWAA para o CloudWatch. Esta página descreve como criar um painel de status de integridade para as métricas do Airflow no CloudWatch para um ambiente do Amazon MWAA.
Sumário
Métricas
Você pode criar um painel e um alarme personalizados para qualquer uma das métricas disponíveis para sua versão do Apache Airflow. Cada métrica corresponde a um indicador-chave de desempenho (KPI) do Apache Airflow. Para acessar uma lista de métricas, consulte:
Visão geral dos estados de alarme
Um alarme de métrica tem estes estados possíveis:
-
OK: a métrica ou a expressão está dentro do limite definido. -
ALARM: a métrica ou a expressão está fora do limite definido. -
INSUFFICIENT_DATA: o alarme acabou de ser acionado, a métrica não está disponível ou não há dados suficientes para a métrica determinar o estado do alarme.
Exemplos de painéis e alarmes personalizados
Você pode criar um painel de monitoramento personalizado que exibe gráficos de métricas selecionadas para seu ambiente do Amazon MWAA.
Sobre essas métricas
A lista a seguir descreve cada uma das métricas criadas no painel personalizado pelas definições do tutorial e do modelo nesta seção.
-
QueuedTasks: número de tarefas com estado em fila. Corresponde à métrica
executor.queued_tasksdo Apache Airflow. -
TaskSpending: número de tarefas pendentes no executor. Corresponde à métrica
scheduler.tasks.pendingdo Apache Airflow.nota
Não se aplica ao Apache Airflow v2.2 e versões posteriores.
-
RunningTasks: número de tarefas em execução no executor. Corresponde à métrica
executor.running_tasksdo Apache Airflow. -
SchedulerHeartbeat: número de check-ins que o Apache Airflow executa no trabalho do agendador. Corresponde às métricas
scheduler_heartbeatdo Apache Airflow. -
TotalParseTime: número de segundos necessários para digitalizar e importar todos os arquivos DAG uma vez. Corresponde à métrica
dag_processing.total_parse_timedo Apache Airflow.
Sobre o painel
A imagem a seguir mostra o painel de monitoramento criado pelo tutorial e pela definição do modelo nesta seção.
Como usar tutoriais AWS
Você pode usar o tutorial AWS a seguir para criar automaticamente um painel de status de integridade para qualquer ambiente do Amazon MWAA que esteja implantado atualmente. Ele também cria alarmes do CloudWatch para operadores não íntegros e falhas de pulsação do agendador em todos os ambientes do Amazon MWAA.
Usar o CloudFormation
Você pode usar a definição do modelo CloudFormation nesta seção para criar um painel de monitoramento no CloudWatch e, em seguida, adicionar alarmes no console do CloudWatch para receber notificações quando uma métrica ultrapassar um determinado limite. Para criar uma pilha usando essa definição de modelo, consulte Como criar uma pilha no console CloudFormation. Para adicionar um alarme ao painel, consulte Como usar alarmes.
AWSTemplateFormatVersion: "2010-09-09" Description: Creates MWAA Cloudwatch Dashboard Parameters: DashboardName: Description: Enter the name of the CloudWatch Dashboard Type: String EnvironmentName: Description: Enter the name of the MWAA Environment Type: String Resources: BasicDashboard: Type: AWS::CloudWatch::Dashboard Properties: DashboardName: !Ref DashboardName DashboardBody: Fn::Sub: '{ "widgets": [ { "type": "metric", "x": 0, "y": 0, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "QueuedTasks", "Function", "Executor", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "QueuedTasks ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 0, "y": 6, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "RunningTasks", "Function", "Executor", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "RunningTasks ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 12, "y": 6, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "SchedulerHeartbeat", "Function", "Scheduler", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "SchedulerHeartbeat ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 12, "y": 0, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "TasksPending", "Function", "Scheduler", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "TasksPending ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 0, "y": 12, "width": 24, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "region": "${AWS::Region}", "metrics": [ [ "AmazonMWAA", "TotalParseTime", "Function", "DAG Processing", "Environment", "${EnvironmentName}" ] ], "title": "TotalParseTime ${EnvironmentName}", "period": 300 } } ] }'
Como apagar métricas e painéis
Se você apagar um ambiente do Amazon MWAA, o painel correspondente também será apagado. As métricas do CloudWatch são armazenadas por quinze (15) meses e não podem ser apagadas. O console do CloudWatch limita a pesquisa de métricas a duas (2) semanas após a última ingestão de uma métrica para garantir que as instâncias mais atualizadas sejam mostradas para seu ambiente do Amazon MWAA. Para saber mais, consulte Perguntas frequentes do Amazon CloudWatch
Próximas etapas
-
Aprenda a criar um DAG que consulta o banco de dados de metadados Amazon Aurora PostgreSQL para seu ambiente e publica métricas personalizadas no CloudWatch em Como usar um DAG para gravar métricas personalizadas no CloudWatch.