As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Painéis de monitoramento e alarmes no Amazon MWAA
A página de detalhes do ambiente de um ambiente Amazon Managed Workflows para Apache Airflow inclui um painel de CloudWatch métricas integrado e uma tabela de alarmes ambientais. Você pode usar esses recursos para monitorar a integridade do seu ambiente diretamente no console do Amazon MWAA, sem nenhuma configuração adicional.
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 Apache Airflow envia automaticamente métricas para seu ambiente Amazon MWAA para o. CloudWatch Além do painel integrado, você pode criar painéis personalizados na Amazon CloudWatch e adicionar alarmes para métricas específicas. Quando um alarme está em um painel, ele fica vermelho ao entrar no ALARM estado. Isso facilita o monitoramento proativo da integridade do seu ambiente Amazon MWAA.
Sumário
Veja o painel de métricas
A página de detalhes do ambiente inclui um painel de CloudWatch métricas integrado, mostrado no console em CloudWatch métricas. Esse CloudWatch painel incorporado exibe gráficos para seu ambiente sem nenhuma configuração adicional.
Para abrir o conjunto completo de métricas no CloudWatch console, escolha Exibir tudo em CloudWatch.
O painel exibe métricas dos dois CloudWatch namespaces a seguir:
-
AmazonMWAA— Métricas do Apache Airflow. -
AWS/MWAA— Métricas de contêiner, fila e banco de dados.
Você pode usar os seguintes controles para alterar o que o painel exibe:
-
Ative o botão Recomendações de alarmes para mostrar somente as métricas recomendadas. Quando você ativa essa opção, cada gráfico traça seu limite de alarme como uma anotação. A anotação diz Alarmes se
metricacima ou Alarmes semetricabaixo, dependendo da métrica. -
Use o filtro Seções métricas para mostrar somente os gráficos em um grupo específico. Os grupos disponíveis são Containers, Database and queue, Scheduler, DAG processing , Tasks e Triggerer.
nota
Se você configurar um ambiente para filtrar quais métricas do Apache Airflow ele publica usando as opções de lista de permissões ou lista de bloqueios de métricas, alguns gráficos podem não ter dados.
nota
Para visualizar o painel de métricas, sua identidade do IAM deve ter permissão para ler CloudWatch métricascloudwatch:GetMetricData, incluindocloudwatch:GetMetricStatistics, cloudwatch:ListMetrics e. Sem essas permissões, os gráficos são renderizados sem dados.
Para ver a lista completa de métricas que o Amazon MWAA publica, consulte. Métricas do ambiente Apache Airflow em CloudWatch
Métricas mostradas no painel
O painel organiza os gráficos em seis seções que você pode filtrar com as seções Métricas. Ele mostra um conjunto selecionado de métricas para todo o ambiente; os gráficos vêm do namespace (métricas do Apache Airflow) e do AmazonMWAA namespace (métricas de contêiner, fila e banco AWS/MWAA de dados). A tabela a seguir lista os gráficos em cada seção e as CloudWatch métricas que cada uma exibe.
| Seção | Gráfico | CloudWatch métricas |
|---|---|---|
| Contêineres | Utilização da CPU do agendador | CPUUtilization |
| Contêineres | Utilização da memória do agendador | MemoryUtilization |
| Contêineres | Utilização da CPU do trabalhador | CPUUtilization(BaseWorker e AdditionalWorker) |
| Contêineres | Utilização da memória do trabalhador | MemoryUtilization(BaseWorker e AdditionalWorker) |
| Contêineres | Utilização da CPU do servidor Web | CPUUtilization |
| Contêineres | Utilização da memória do servidor Web | MemoryUtilization |
| Contêineres | Contentores de trabalhadores em execução | Derivado da contagem CPUUtilization de amostras |
| Contêineres | Batimento cardíaco do trabalhador | CeleryWorkerHeartbeat |
| Banco de dados e fila | Memória liberável do banco de dados | FreeableMemory |
| Banco de dados e fila | Utilização da CPU do banco de dados | CPUUtilization |
| Banco de dados e fila | Conexões de banco de dados | DatabaseConnections |
| Banco de dados e fila | Latência de gravação do banco de dados | WriteLatency |
| Banco de dados e fila | Idade mais antiga da tarefa na fila | ApproximateAgeOfOldestTask |
| Agendador | Pulsação do agendador | SchedulerHeartbeat |
| Agendador | Duração da seção crítica do agendador | CriticalSectionDuration |
| Agendador | Estados das tarefas do agendador | TasksExecutable, TasksStarving, TasksWithoutDagRun |
| Agendador | Tarefas eliminadas externamente | TasksKilledExternally |
| Agendador | Slots abertos do executor | OpenSlots |
| Processamento DAG | Tempo de análise do DAG | TotalParseTime |
| Processamento DAG | Tamanho da bolsa DAG | DagBagSize |
| Processamento DAG | Erros de importação do DAG | ImportErrors, DAGFileRefreshError |
| Processamento DAG | Integridade do processador DAG | ProcessorTimeouts, ManagerStalls |
| Tarefas | Fila de tarefas | QueuedTasks, RunningTasks |
| Tarefas | Sucessos e fracassos de tarefas | TaskInstanceSuccesses, TaskInstanceFailures |
| Tarefas | Tarefas de zumbis eliminadas | ZombiesKilled |
| Acionador | Batimento cardíaco desencadeador | TriggererHeartbeat |
| Acionador | Acione resultados | TriggersSucceeded, TriggersFailed |
nota
Os gráficos Triggerer aparecem somente nas versões mais recentes do Apache Airflow. Os resultados do gatilho requerem o Apache Airflow v2.7.2 ou posterior, e o Triggerer heartbeat requer a versão 2.8.1 ou posterior.
O painel mostra métricas agregadas em todo o ambiente. Ele não traça métricas de alta cardinalidade que o Apache Airflow publica por DAG, tarefa, pool, operador ou arquivo DAG, e traça a CPU e a memória do contêiner, mas não todas as métricas do contêiner. Para ver a lista completa das métricas publicadas, consulte Métricas do ambiente Apache Airflow em CloudWatch Métricas de contêiner, fila e banco de dados para Amazon MWAA e.
Crie e monitore alarmes
A página de detalhes do ambiente inclui um painel de Alarmes no qual você cria e gerencia seus alarmes e CloudWatch, em seguida, os monitora no contexto. O painel mostra uma tabela de alarmes ambientais que lista os CloudWatch alarmes atribuídos ao ambiente. O Amazon MWAA combina esses alarmes por CloudWatch namespace e Environment dimensão, portanto, a tabela inclui alarmes criados por você mesmo, não apenas os alarmes recomendados.
O cabeçalho do painel mostra uma contagem em alarme de quantos alarmes do ambiente estão atualmente no ALARM estado. A tabela de alarmes ambientais tem as seguintes colunas.
| Nome | Status | Condição | Ação | Última atualização |
|---|---|---|---|---|
| O nome do alarme, vinculado ao alarme no CloudWatch console. | O status do alarme: Em alarme, OK ou Dados insuficientes. | A condição do alarme, mostrada como para n pontos de dados internos. duration |
A ação do alarme, como o tópico topic Notificar SNS ou - se o alarme não tiver nenhuma ação. |
A data e a hora em que o alarme foi atualizado pela última vez. |
nota
Para visualizar os alarmes nesta tabela, você deve ter a cloudwatch:DescribeAlarms permissão.
Se o ambiente não tiver alarmes, a tabela de alarmes ambientais está vazia e fornece orientação para criar os alarmes recomendados para começar a monitorar seu ambiente.
O painel Alarmes fornece os dois botões a seguir:
-
Crie alarmes recomendados — Abre uma pilha de CloudFormation criação rápida em uma nova guia. A pilha é nomeada
MWAA-alarms-e cria um conjunto padrão de alarmes recomendados para o ambiente.environment-name -
Gerenciar em CloudWatch — Abre a página de alarmes no CloudWatch console.
Para criar os alarmes recomendados
-
Abra o console do Amazon MWAA e
, em seguida, escolha seu ambiente para abrir a página de detalhes. -
Na visualização Monitoramento, localize o painel Alarmes.
-
Escolha Criar alarmes recomendados. A pilha CloudFormation de criação rápida é aberta em uma nova guia do navegador.
-
Revise a pilha no CloudFormation console. Se solicitado, selecione a confirmação que CloudFormation pode criar recursos do IAM.
-
Selecione Criar pilha.
Depois de CloudFormation criar a pilha, os alarmes aparecem na tabela de alarmes ambientais e no console. CloudWatch Para obter mais informações sobre o significado de cada estado de alarme, consulteVisão geral dos estados de alarme.
Alarmes recomendados
Quando você escolhe Criar alarmes recomendados, o CloudFormation modelo cria os seguintes alarmes. CloudWatch avalia todos esses alarmes em períodos de 5 minutos (300 segundos).
| Alarme | Métrica | Condição limite |
|---|---|---|
| Pulsação do agendador | SchedulerHeartbeat |
Soma < 1 para 2 de 2 pontos de dados; os dados ausentes são tratados como um alarme. |
| Idade mais antiga da tarefa na fila | ApproximateAgeOfOldestTask |
Máximo > 1800 segundos para 3 dos 3 pontos de dados. |
| Utilização da CPU do agendador | CPUUtilization(Programador) |
Média > 95% para 3 dos 3 pontos de dados. |
| Utilização da memória do agendador | MemoryUtilization(Programador) |
Média > 95% para 3 dos 3 pontos de dados. |
| Utilização da CPU do trabalhador | CPUUtilization (BaseWorker) |
Média > 95% para 6 dos 6 pontos de dados. |
| Utilização da memória do trabalhador | MemoryUtilization (BaseWorker) |
Média > 95% para 6 dos 6 pontos de dados. |
| Utilização da CPU do servidor Web | CPUUtilization (WebServer) |
Média > 95% para 3 dos 3 pontos de dados. |
| Utilização da memória do servidor Web | MemoryUtilization (WebServer) |
Média > 95% para 3 dos 3 pontos de dados. |
| Utilização da CPU do banco de dados | CPUUtilization(ESCRITOR) |
Média > 95% para 3 dos 3 pontos de dados. |
| Memória liberável do banco de dados | FreeableMemory(ESCRITOR) |
Média < 512 MiB para 3 dos 3 pontos de dados. |
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 definir seus próprios painéis e alarmes como infraestrutura, como código para criar painéis personalizados de forma programática ou para padronizar o monitoramento em vários ambientes do Amazon MWAA. Como alternativa ao painel integrado na página de detalhes do ambiente, o tutorial e o CloudFormation modelo a seguir criam um painel de monitoramento personalizado. Esse painel exibe gráficos de métricas selecionadas para seu ambiente 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- O número de tarefas com estado em fila. Corresponde à métrica
executor.queued_tasksdo Apache Airflow. -
TasksPending- O 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- O número de tarefas em execução no executor. Corresponde à métrica
executor.running_tasksdo Apache Airflow. -
SchedulerHeartbeat- O número de check-ins que o Apache Airflow realiza no trabalho do agendador. Corresponde às métricas
scheduler_heartbeatdo Apache Airflow. -
TotalParseTime- O 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.
Utilizar AWS tutoriais
Você pode usar o AWS tutorial a seguir para criar automaticamente um painel de status de saúde para qualquer ambiente Amazon MWAA que esteja atualmente implantado. Ele também cria CloudWatch alarmes para trabalhadores insalubres e falhas na pulsação do agendador em todos os ambientes do Amazon MWAA.
Utilizar CloudFormation
Você pode usar a definição do CloudFormation modelo nesta seção para criar um painel de monitoramento e CloudWatch, em seguida, adicionar alarmes no CloudWatch console para receber notificações quando uma métrica ultrapassa um determinado limite. Para criar a pilha usando essa definição de modelo, consulte Criação de uma pilha no CloudFormation console. 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ê excluir um ambiente Amazon MWAA, o painel correspondente também será excluído. CloudWatch as métricas são armazenadas por quinze (15) meses e não podem ser excluídas. O CloudWatch console 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 exibidas em seu ambiente Amazon MWAA. Para saber mais, consulte as CloudWatch Perguntas frequentes https://aws.amazon.com/cloudwatch/faqs/
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 in. CloudWatch Como usar um DAG para gravar métricas personalizadas no CloudWatch