Métricas del entorno de Apache Airflow en CloudWatch
Apache Airflow v2 y v3 ya están configurados para recopilar y enviar métricas de un entorno de Amazon Managed Workflows para Apache Airflow a Amazon CloudWatch con StatsD
Contenido
Términos
- Espacio de nombres
-
Los espacios de nombres son contenedores para métricas de CloudWatch de servicios de AWS. En el caso de Amazon MWAA, el espacio de nombres es AmazonMWAA.
- Métricas de CloudWatch
-
Las métricas representan una serie de puntos de datos ordenados por tiempo que se publican en CloudWatch.
- Métricas de Apache Airflow
-
Las métricas
que son específicas de Apache Airflow. - Dimensión
-
Una dimensión es un par de nombre-valor que forma parte de la identidad de una métrica.
- Unidad
-
Las estadísticas tienen unidades de medida. En el caso de Amazon MWAA, las unidades son recuento, segundos y milisegundos. Además, en Amazon MWAA, las unidades se establecen basándose en las unidades de las métricas de Airflow originales.
Dimensiones
En esta sección, se describen las diferentes agrupaciones de dimensiones de CloudWatch para las métricas de Apache Airflow en CloudWatch.
| Dimensión | Descripción |
|---|---|
|
DAG |
Indica un nombre específico para el DAG de Apache Airflow. |
|
Nombre de archivo del DAG |
Indica un nombre de archivo específico para el DAG de Apache Airflow. |
|
Función |
Esta dimensión se utiliza para mejorar la agrupación de métricas en CloudWatch. |
|
Trabajo |
Indica un trabajo de Apache Airflow ejecutado por el programador. Siempre tiene un valor de |
|
Operador |
Indica un operador específico de Apache Airflow. |
|
Grupo |
Indica un grupo de procesos de trabajo específico de Apache Airflow. |
|
Tarea |
Indica una tarea específica de Apache Airflow. |
|
HostName |
Indica el nombre de host de un proceso específico que se está ejecutando en Apache Airflow. |
Acceso a las métricas a través de la consola de CloudWatch
En esta sección se describe cómo acceder a las métricas de rendimiento de CloudWatch para un DAG específico.
Consulta de métricas de rendimiento de una dimensión
-
Abra la página de métricas
en la consola de CloudWatch. -
Seleccione su Región de AWS.
-
Elija el espacio de nombres AmazonMWAA.
-
En la pestaña Todas las métricas, elija una dimensión. Por ejemplo, DAG, Entorno.
-
Elija una métrica de CloudWatch para la dimensión. Por ejemplo, TaskInstanceSuccesses o TaskInstanceDuration. Elija Representar gráficamente todos los resultados de la búsqueda.
-
Elija la pestaña Graphed metrics (Métricas gráficas) para ver las estadísticas de rendimiento de las métricas de Apache Airflow. Por ejemplo, DAG, Entorno, Tarea.
Métricas de Apache Airflow disponibles en CloudWatch
En esta sección se describen las métricas y las dimensiones de Apache Airflow que se envían a CloudWatch.
Contadores de Apache Airflow
Las métricas de Apache Airflow que figuran en esta sección contienen datos sobre los contadores de Apache Airflow
| Métrica de CloudWatch | Métrica de Apache Airflow | Unidad | Dimensión |
|---|---|---|---|
|
SLAMissed notaDisponible únicamente para Apache Airflow v2.4.3 a v2.10.3. |
sla_missed |
Recuento |
Función, Programador |
|
FailedSLACallback notaDisponible únicamente para Apache Airflow v2.4.3 a v2.10.3. |
sla_callback_notification_failure |
Recuento |
Función, Programador |
|
Actualizaciones notaDisponible para Apache Airflow v2.6.3 y versiones posteriores. |
dataset.updates |
Recuento |
Función, Programador |
|
Orphaned notaDisponible para Apache Airflow v2.6.3 y versiones posteriores. |
dataset.orphaned |
Recuento |
Función, Programador |
|
FailedCeleryTaskExecution notaDisponible para Apache Airflow v2.4.3 y versiones posteriores. |
celery.execute_command.failure |
Recuento |
Función, Celery |
|
FilePathQueueUpdateCount notaDisponible para Apache Airflow v2.6.3 y versiones posteriores. |
dag_processing.file_path_queue_update_count |
Recuento |
Función, Programador |
|
CriticalSectionBusy |
scheduler.critical_section_busy |
Recuento |
Función, Programador |
|
DagBagSize |
dagbag_size |
Recuento |
Función, Procesamiento de DAG |
|
DagCallbackExceptions |
dag.callback_exceptions |
Recuento |
DAG, Todos |
|
FailedSLAEmailAttempts notaDisponible para Apache Airflow v3.0.6 y versiones posteriores. |
sla_email_notification_failure |
Recuento |
Función, Programador |
|
TaskInstanceFinished |
ti.finish.{dag_id}.{task_id}.{state} |
Recuento |
DAG, {dag_id} Tarea, {task_id} Estado, {state} |
|
JobEnd |
{job_name}_end |
Recuento |
Trabajo, {job_name} |
|
JobHeartbeatFailure |
{job_name}_heartbeat_failure |
Recuento |
Trabajo, {job_name} |
|
JobStart |
{job_name}_start |
Recuento |
Trabajo, {job_name} |
|
ManagerStalls |
dag_processing.manager_stalls |
Recuento |
Función, Procesamiento de DAG |
|
OperatorFailures |
operator_failures_{operator_name} |
Recuento |
Operador, {operator_name} |
|
OperatorSuccesses |
operator_successes_{operator_name} |
Recuento |
Operador, {operator_name} |
|
OtherCallbackCount notaDisponible en Apache Airflow v2.6.3 y versiones posteriores. |
dag_processing.other_callback_count |
Recuento |
Función, Programador |
|
Processes |
dag_processing.processes |
Recuento |
Función, Procesamiento de DAG |
|
SchedulerHeartbeat |
scheduler_heartbeat |
Recuento |
Función, Programador |
|
StartedTaskInstances |
ti.start.{dag_id}.{task_id} |
Recuento |
DAG, Todos Tarea, Todas |
|
SlaCallbackCount |
dag_processing.sla_callback_count notaDisponible para Apache Airflow v2.6.3 y versiones posteriores. |
Recuento |
Función, Programador |
|
TasksKilledExternally |
scheduler.tasks.killed_externally |
Recuento |
Función, Programador |
|
TaskTimeoutError |
celery.task_timeout_error |
Recuento |
Función, Celery |
|
TaskInstanceCreatedUsingOperator |
task_instance_created-{operator_name} |
Recuento |
Operador, {operator_name} |
|
TaskInstancePreviouslySucceeded |
previously_succeeded |
Recuento |
DAG, Todos Tarea, Todas |
|
TaskInstanceFailures |
ti_failures |
Recuento |
DAG, Todos Tarea, Todas |
|
TaskInstanceSuccesses |
ti_successes |
Recuento |
DAG, Todos Tarea, Todas |
|
TaskRemovedFromDAG |
task_removed_from_dag.{dag_id} |
Recuento |
DAG, {dag_id} |
|
TaskRestoredToDAG |
task_restored_to_dag.{dag_id} |
Recuento |
DAG, {dag_id} |
|
TriggersSucceeded notaDisponible para Apache Airflow v2.7.2 y versiones posteriores. |
triggers.succeeded |
Recuento |
Función, Disparador |
|
TriggersFailed notaDisponible para Apache Airflow v2.7.2 y versiones posteriores. |
triggers.failed |
Recuento |
Función, Disparador |
|
TriggersBlockedMainThread notaDisponible para Apache Airflow v2.7.2 y versiones posteriores. |
triggers.blocked_main_thread |
Recuento |
Función, Disparador |
|
TriggerHeartbeat notaDisponible para Apache Airflow v2.8.1 y versiones posteriores. |
triggerer_heartbeat |
Recuento |
Función, Disparador |
|
TaskInstanceCreatedUsingOperator |
airflow.task_instance_created_ notaDisponible para Apache Airflow v2.7.2 y versiones posteriores. |
Recuento |
Operador, |
|
ZombiesKilled |
zombies_killed |
Recuento |
DAG, Todos Tarea, Todas |
Indicadores de Apache Airflow
Las métricas de Apache Airflow que figuran en esta sección contienen datos sobre los indicadores de Apache Airflow
| Métrica de CloudWatch | Métrica de Apache Airflow | Unidad | Dimensión |
|---|---|---|---|
|
DAGFileRefreshError |
dag_file_refresh_error |
Recuento |
Función, Procesamiento de DAG |
|
ImportErrors |
dag_processing.import_errors |
Recuento |
Función, Procesamiento de DAG |
|
ExceptionFailures |
smart_sensor_operator.exception_failures |
Recuento |
Función, Operador de sensores inteligentes |
|
ExecutedTasks |
smart_sensor_operator.executed_tasks |
Recuento |
Función, Operador de sensores inteligentes |
|
InfraFailures |
smart_sensor_operator.infra_failures |
Recuento |
Función, Operador de sensores inteligentes |
|
LoadedTasks |
smart_sensor_operator.loaded_tasks |
Recuento |
Función, Operador de sensores inteligentes |
|
TotalParseTime |
dag_processing.total_parse_time |
Segundos |
Función, Procesamiento de DAG |
|
TriggeredDagRuns notaDisponible en Apache Airflow v2.6.3 y versiones posteriores. |
dataset.triggered_dagruns |
Recuento |
Función, Programador |
|
TriggersRunning notaDisponible en Apache Airflow v2.7.2 y versiones posteriores. |
triggers.running. |
Recuento |
Función, Disparador Nombre de host, |
|
PoolDeferredSlots notaDisponible en Apache Airflow v2.7.2 y versiones posteriores. |
pool.deferred_slots. |
Recuento |
Grupo, {pool_name} |
|
DAGFileProcessingLastRunSecondsAgo |
dag_processing.last_run.seconds_ago.{dag_filename} |
Segundos |
Nombre de archivo del DAG, {dag_filename} |
|
OpenSlots |
executor.open_slots |
Recuento |
Función, Ejecutor |
|
OrphanedTasksAdopted |
scheduler.orphaned_tasks.adopted |
Recuento |
Función, Programador |
|
OrphanedTasksCleared |
scheduler.orphaned_tasks.cleared |
Recuento |
Función, Programador |
|
PokedExceptions |
smart_sensor_operator.poked_exception |
Recuento |
Función, Operador de sensores inteligentes |
|
PokedSuccess |
smart_sensor_operator.poked_success |
Recuento |
Función, Operador de sensores inteligentes |
|
PokedTasks |
smart_sensor_operator.poked_tasks |
Recuento |
Función, Operador de sensores inteligentes |
|
PoolFailures |
pool.open_slots.{pool_name} |
Recuento |
Grupo, {pool_name} |
|
PoolStarvingTasks |
pool.starving_tasks.{pool_name} |
Recuento |
Grupo, {pool_name} |
|
PoolOpenSlots |
pool.open_slots.{pool_name} |
Recuento |
Grupo, {pool_name} |
|
PoolQueuedSlots |
pool.queued_slots.{pool_name} |
Recuento |
Grupo, {pool_name} |
|
PoolRunningSlots |
pool.running_slots.{pool_name} |
Recuento |
Grupo, {pool_name} |
|
ProcessorTimeouts |
dag_processing.processor_timeouts |
Recuento |
Función, Procesamiento de DAG |
|
QueuedTasks |
executor.queued_tasks |
Recuento |
Función, Ejecutor |
|
RunningTasks |
executor.running_tasks |
Recuento |
Función, Ejecutor |
|
TasksExecutable |
scheduler.tasks.executable |
Recuento |
Función, Programador |
|
TasksPending notaNo se aplica a Apache Airflow v2.2 ni versiones posteriores. |
scheduler.tasks.pending |
Recuento |
Función, Programador |
|
TasksRunning |
scheduler.tasks.running |
Recuento |
Función, Programador |
|
TasksStarving |
scheduler.tasks.starving |
Recuento |
Función, Programador |
|
TasksWithoutDagRun |
scheduler.tasks.without_dagrun |
Recuento |
Función, Programador |
|
DAGFileProcessingLastNumOfDbQueries notaDisponible en Apache Airflow v2.10.1 y versiones posteriores. |
dag_processing.last_num_of_db_queries.{dag_filename} |
Recuento |
Nombre de archivo del DAG, {dag_filename} |
|
PoolScheduledSlots notaDisponible en Apache Airflow v2.10.1 y versiones posteriores. |
pool.scheduled_slots.{pool_name} |
Recuento |
Grupo, {pool_name} |
|
TaskCpuUsage notaDisponible en Apache Airflow v2.10.1 y versiones posteriores. |
cpu.usage.{dag_id}.{task_id} |
Porcentaje |
DAG, {dag_id} Tarea, {task_id} |
|
TaskMemoryUsage notaDisponible en Apache Airflow v2.10.1 y versiones posteriores. |
mem.usage.{dag_id}.{task_id} |
Porcentaje |
DAG, {dag_id} Tarea, {task_id} |
Temporizadores de Apache Airflow
Las métricas de Apache Airflow que figuran en esta sección contienen datos sobre los temporizadores de Apache Airflow
| Métrica de CloudWatch | Métrica de Apache Airflow | Unidad | Dimensión |
|---|---|---|---|
|
CollectDBDags |
colect_db_dags |
Milisegundos |
Función, Procesamiento de DAG |
|
CriticalSectionDuration |
scheduler.critical_section_duration |
Milisegundos |
Función, Programador |
|
CriticalSectionQueryDuration notaDisponible para Apache Airflow v2.5.1 y versiones posteriores. |
scheduler.critical_section_query_duration |
Milisegundos |
Función, Programador |
|
DAGDependencyCheck |
dagrun.dependency-check.{dag_id} |
Milisegundos |
DAG, {dag_id} |
|
DAGDurationFailed |
dagrun.duration.failed.{dag_id} |
Milisegundos |
DAG, {dag_id} |
|
DAGDurationSuccess |
dagrun.duration.success.{dag_id} |
Milisegundos |
DAG, {dag_id} |
|
DAGFileProcessingLastDuration |
dag_processing.last_duration.{dag_filename} |
Segundos |
Nombre de archivo del DAG, {dag_filename} |
|
DAGScheduleDelay |
dagrun.schedule_delay.{dag_id} |
Milisegundos |
DAG, {dag_id} |
|
FirstTaskSchedulingDelay |
dagrun.{dag_id}.first_task_scheduling_delay |
Milisegundos |
DAG, {dag_id} |
|
SchedulerLoopDuration notaDisponible para Apache Airflow v2.5.1 y versiones posteriores. |
scheduler.scheduler_loop_duration |
Milisegundos |
Función, Programador |
|
TaskInstanceDuration |
dag.{dag_id}.{task_id}.duration |
Milisegundos |
DAG, {dag_id} Tarea, {task_id} |
|
TaskInstanceQueuedDuration |
dag. notaDisponible para Apache Airflow v2.7.2 y versiones posteriores. |
Milisegundos |
DAG, {dag_id} Tarea, {task_id} |
|
TaskInstanceScheduledDuration notaDisponible para Apache Airflow v2.7.2 y versiones posteriores. |
dag. |
Milisegundos |
DAG, {dag_id} Tarea, {task_id} |
Selección de las métricas se comunican
Puede escoger qué métricas de Apache Airflow quiere que se envíen a CloudWatch o cuáles quiere que Airflow bloquee mediante las siguientes opciones de configuración de Amazon MWAA:
metrics.metrics_allow_list— una lista de prefijos separados por comas que puede usar para elegir las métricas que su entorno debe enviar a CloudWatch. Utilice esta opción si no quiere que Apache Airflow envíe todas las métricas disponibles y el subconjunto de elementos que sí quiere enviar. Por ejemplo,scheduler,executor,dagrun.metrics.metrics_block_list— una lista de prefijos separados por comas para filtrar las métricas que comienzan con los elementos de la lista. Por ejemplo,scheduler,executor,dagrun.
Si configura ambas opciones, la metrics.metrics_allow_list y metrics.metrics_block_list, Apache Airflow ignorará la metrics.metrics_block_list. Si configura la metrics.metrics_block_list pero no metrics.metrics_allow_list, Apache Airflow filtrará los elementos que haya especificado en la metrics.metrics_block_list.
nota
Las opciones de configuración metrics.metrics_allow_list y metrics.metrics_block_list solo se aplican a Apache Airflow v2.6.3 y versiones posteriores. Para la versión anterior de Apache Airflow, utilice metrics.statsd_allow_list y metrics.statsd_block_list en su lugar.
Siguientes pasos
-
Conozca la operación de la API de Amazon MWAA que se utiliza para publicar las métricas del estado del entorno en PublishMetrics.