Monitorización de paneles y alarmas en Amazon MWAA - Amazon Managed Workflows para Apache Airflow

Monitorización de paneles y alarmas en Amazon MWAA

Se puede crear un panel personalizado en Amazon CloudWatch y añadir alarmas para métricas concretas a fin de monitorizar el estado de entornos de Amazon Managed Workflows para Apache Airflow. Cuando una alarma está en un panel, se vuelve de color rojo cuando está en el estado ALARM, lo que facilita la monitorización del estado de un entorno de Amazon MWAA de forma proactiva.

Apache Airflow muestra las métricas de varios procesos, entre ellos, la cantidad de procesos de los DAG, el tamaño de la DagBag, las tareas en curso, las que se realizaron correctamente y aquellas que tuvieron errores. Al crear un entorno, Airflow está configurado para enviar las métricas de los entornos de Amazon MWAA a CloudWatch de manera automática. En esta página se describe cómo crear un panel de estado de las métricas de Airflow en CloudWatch para los entornos de Amazon MWAA.

Métricas

Puede crear paneles y alarmas personalizados para cualquiera de las métricas disponibles en su versión de Apache Airflow. Cada métrica corresponde a un indicador clave de rendimiento de Apache Airflow. Para acceder a una lista de métricas, consulte:

Información general sobre los estados de las alarmas

Una alarma de métrica tiene los siguientes estados posibles:

  • OK: la métrica o expresión está dentro del umbral definido.

  • ALARM: la métrica o expresión está fuera del umbral definido.

  • INSUFFICIENT_DATA: la alarma acaba de iniciarse, la métrica no está disponible o no hay suficientes datos disponibles en la métrica para determinar el estado de la alarma.

Ejemplos de paneles y alarmas personalizados

Puede crear un panel de monitorización personalizado que muestre gráficos de las métricas seleccionadas para su entorno de Amazon MWAA.

Acerca de las métricas

En la siguiente lista se describen cada una de las métricas que se han creado en el panel personalizado mediante el tutorial y las plantillas de esta sección.

  • QueuedTasks: cantidad de tareas en el estado de en cola. Se corresponde con la métrica executor.queued_tasks de Apache Airflow.

  • TaskSpending: cantidad de tareas pendientes en el ejecutor. Se corresponde con la métrica scheduler.tasks.pending de Apache Airflow.

    nota

    No se aplica a Apache Airflow v2.2 ni versiones posteriores.

  • RunningTasks: cantidad de tareas en curso en el ejecutor. Se corresponde con la métrica executor.running_tasks de Apache Airflow.

  • SchedulerHeartbeat: cantidad de comprobaciones que Apache Airflow realiza en el trabajo del programador. Se corresponde con la métrica scheduler_heartbeat de Apache Airflow.

  • TotalParseTime: cantidad de segundos que se tarda en analizar e importar todos los archivos DAG una vez. Se corresponde con la métrica dag_processing.total_parse_time de Apache Airflow.

Acerca del panel

En la siguiente imagen, se muestra el panel de monitorización que se ha creado al definir el tutorial y la plantilla de esta sección.

En la imagen, se muestra dónde se encuentra la opción de red privada en la consola de Amazon MWAA.

Tutoriales de uso de AWS

Puede seguir el tutorial de AWS para crear de forma automática un panel de estado para cualquier entorno de Amazon MWAA que esté implementado actualmente. También puede ver cómo crear alarmas de CloudWatch para procesos de trabajo en mal estado y fallos de latidos del programador en todos los entornos de Amazon MWAA.

Uso de CloudFormation

Puede utilizar la plantilla de CloudFormation que encontrará en esta sección para crear un panel de monitorización en CloudWatch y para añadir después alarmas en la consola de CloudWatch con el fin de recibir una notificación cada vez que una métrica supere un umbral determinado. Para crear la pila usando esta definición de plantilla, consulte cómo crear una pila en la consola de la CloudFormation. Para agregar una alarma al panel, consulte cómo usar las alarmas.

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 } } ] }'

Eliminación de métricas y paneles

Si elimina un entorno de Amazon MWAA, se eliminará también el panel correspondiente. Las métricas de CloudWatch se almacenan durante quince (15) meses y se no pueden eliminar. La consola de CloudWatch limita la búsqueda de métricas a dos (2) semanas después de la última incorporación de una métrica para garantizar que se muestren las instancias más actualizadas de su entorno de Amazon MWAA. Para obtener más información, consulte las preguntas frecuentes de Amazon CloudWatch.

Siguientes pasos