CloudWatch 中的 Apache Airflow v2 环境指标 - Amazon Managed Workflows for Apache Airflow

CloudWatch 中的 Apache Airflow v2 环境指标

Apache Airflow v2 已经设置为收集 Amazon MMWAA 环境的 StatsD 指标并将其发送到 Amazon CloudWatch。Apache Airflow 发送的指标的完整列表可在《Apache Airflow 参考指南》指标页面上找到。本页介绍了 CloudWatch 中可用的 Apache Airflow 指标,以及如何在 CloudWatch 控制台中访问指标。

术语

命名空间

命名空间是用于 AWS 服务的 CloudWatch 指标的容器。对于Amazon MWAA,命名空间为 AmazonMWAA

CloudWatch 指标

CloudWatch 指标表示 CloudWatch 特定的并且按时间排序的数据点集。

Apache Airflow 指标

特定于 Apache Airflow 的指标

维度

维度是名称/值对,是指标身份的一部分。

单位

所有统计数据都有度量单位。对于 Amazon MWAA,单位包括计数毫秒。对于 Amazon MWAA,单位是根据原始 Airflow 指标中的单位设置的。

尺寸

本节介绍了 CloudWatch 中 Apache Airflow 指标的 CloudWatch 维度分组。

维度 描述

DAG

表示特定的 Apache Airflow DAG 名称。

DAG 文件名

表示特定的 Apache Airflow DAG 文件名称。

函数

此维度用于改进 CloudWatch 中的指标分组。

作业

表示计划程序正在运行的 Apache Airflow 任务。始终具有任务的值。

运算符

表示特定的 Apache Airflow 运算符。

表示特定的 Apache Airflow 工作线程池

任务

表示特定的 Apache Airflow 任务。

HostName

表示正在运行的特定的 Apache Airflow 进程的主机名。

访问 CloudWatch 控制台的指标

本节介绍如何在 CloudWatch 中访问特定 DAG 的性能指标。

要查看维度的性能指标,请执行以下操作
  1. 在 CloudWatch 控制台上打开指标页面

  2. 使用 AWS 区域选择器选择您的区域。

  3. 选择 AmazonMWAA 命名空间。

  4. 所有指标选项卡中,选择一个维度。例如,DAG、环境

  5. 选择 CloudWatch 指标维度。例如,TaskInstanceSuccessesTaskInstanceDuration。选择绘制所有搜索结果的图表

  6. 选择图表化指标选项卡可查看 Apache Airflow 指标的性能统计信息,例如 DAG、环境、任务

CloudWatch 中提供的 Apache Airflow 指标

本节介绍发送到 CloudWatch 的 Apache Airflow 指标和维度。

Apache Airflow 计数器

本节中的 Apache Airflow 指标包含有关 Apache Airflow 计数器的数据。

CloudWatch 指标 Apache Airflow 指标 单位 维度

SLAMissed

注意

适用于 Apache Airflow v2.4.3 及更高版本。

sla_missed

计数

函数,计划程序

FailedSLACallback

注意

适用于 Apache Airflow v2.4.3 及更高版本。

sla_callback_notification_failure

计数

函数,计划程序

更新

注意

适用于 Apache Airflow v2.6.3 及更高版本。

dataset.updates

计数

函数,计划程序

孤立

注意

适用于 Apache Airflow v2.6.3 及更高版本。

dataset.orphaned

计数

函数,计划程序

FailedCeleryTaskExecution

注意

适用于 Apache Airflow v2.4.3 及更高版本。

celery.execute_command.failure

计数

函数,Celery

FilePathQueueUpdateCount

注意

适用于 Apache Airflow v2.6.3 及更高版本。

dag_processing.file_path_queue_update_count

计数

函数,计划程序

CriticalSectionBusy

scheduler.critical_section_busy

计数

函数,计划程序

DagBagSize

dagbag_size

计数

函数,DAG 处理

DagCallbackExceptions

dag.callback_exceptions

计数

DAG,全部

FailedSLAEmailAttempts

sla_email_notification_failure

计数

函数,计划程序

TaskInstanceFinished

ti.finish.{dag_id}.{task_id}.{state}

计数

DAG, {dag_id}

任务,{task_id}

状态,{state}

JobEnd

{job_name} _end

计数

任务,{job_name}

JobHeartbeatFailure

{job_name}_heartbeat_failure

计数

任务,{job_name}

JobStart

{job_name}_start

计数

任务,{job_name}

ManagerStalls

dag_processing.manager_stalls

计数

函数,DAG 处理

OperatorFailures

operator_failures_{operator_name}

计数

运算符,{operator_name}

OperatorSuccesses

operator_successes_{operator_name}

计数

运算符,{operator_name}

OtherCallbackCount

注意

在 Apache Airflow v2.6.3 及更高版本中可用。

dag_processing.other_callback_count

计数

函数,计划程序

进程

dag_processing 进程

计数

函数,DAG 处理

SchedulerHeartbeat

scheduler_heartbeat

计数

函数,计划程序

StartedTaskInstances

ti.start.{dag_id}.{task_id}

计数

DAG,全部

任务,全部

SlaCallbackCount

dag_processing.sla_callback_count

注意

适用于 Apache Airflow v2.6.3 及更高版本。

计数

函数,计划程序

TasksKilledExternally

scheduler.tasks.killed_externally

计数

函数,计划程序

TaskTimeoutError

celery.task_timeout_error

计数

函数,Celery

TaskInstanceCreatedUsingOperator

task_instance_created-{operator_name}

计数

运算符,{operator_name}

TaskInstancePreviouslySucceeded

previously_succeeded

计数

DAG,全部

任务,全部

TaskInstanceFailures

ti_failures

计数

DAG,全部

任务,全部

TaskInstanceSuccesses

ti_successes

计数

DAG,全部

任务,全部

TaskRemovedFromDAG

task_removed_from_dag.{dag_id}

计数

DAG, {dag_id}

TaskRestoredToDAG

task_restored_to_dag.{dag_id}

计数

DAG, {dag_id}

TriggersSucceeded

注意

适用于 Apache Airflow v2.7.2 及更高版本。

triggers.succeeded

计数

函数,触发

TriggersFailed

注意

适用于 Apache Airflow v2.7.2 及更高版本。

triggers.failed

计数

函数,触发

TriggersBlockedMainThread

注意

适用于 Apache Airflow v2.7.2 及更高版本。

triggers.blocked_main_thread

计数

函数,触发

TriggerHeartbeat

注意

适用于 Apache Airflow v2.8.1 及更高版本。

triggerer_heartbeat

计数

函数、触发器

TaskInstanceCreatedUsingOperator

airflow.task_instance_created_{operator_name}

注意

适用于 Apache Airflow v2.7.2 及更高版本。

计数

运算符,{operator_name}

ZombiesKilled

zombies_killed

计数

DAG,全部

任务,全部

Apache Airflow 计

本节中的 Apache Airflow 指标包含有关 Apache Airflow 的数据。

CloudWatch 指标 Apache Airflow 指标 单位 维度

DAGFileRefreshError

dag_file_refresh_error

计数

函数,DAG 处理

ImportErrors

dag_processing.import_errors

计数

函数,DAG 处理

ExceptionFailures

smart_sensor_operator.exception_failures

计数

函数,智能传感器运算符

ExecutedTasks

smart_sensor_operator.executed_tasks

计数

函数,智能传感器运算符

InfraFailures

smart_sensor_operator.infailes

计数

函数,智能传感器运算符

LoadedTasks

smart_sensor_operator.loaded_tasks

计数

函数,智能传感器运算符

TotalParseTime

dag_processing.total_parse_time

函数,DAG 处理

TriggeredDagRuns

注意

在 Apache Airflow v2.6.3 及更高版本中可用。

dataset.triggered_dagruns

计数

函数,计划程序

TriggersRunning

注意

在 Apache Airflow v2.7.2 及更高版本中可用。

triggers.running.{hostname}

计数

函数,触发

HostName, {hostname}

PoolDeferredSlots

注意

在 Apache Airflow v2.7.2 及更高版本中可用。

pool.deferred_slots.{pool_name}

计数

池,{pool_name}

DAGFileProcessingLastRunSecondsAgo

dag_processing.last_run.seconds_ago.{dag_filename}

DAG 文件名,{dag_filename}

OpenSlots

executor.open_slots

计数

函数,执行程序

OrphanedTasksAdopted

scheduler.orphaned_tasks.adopted

计数

函数,计划程序

OrphanedTasksCleared

scheduler.orphaned_tasks.cleared

计数

函数,计划程序

PokedExceptions

smart_sensor_operator.poked_exception

计数

函数,智能传感器运算符

PokedSuccess

smart_sensor_operator.poked_success

计数

函数,智能传感器运算符

PokedTasks

smart_sensor_operator.poked_tasks

计数

函数,智能传感器运算符

PoolFailures

pool.open_slots.{pool_name}

计数

池,{pool_name}

PoolStarvingTasks

pool.starving_tasks.{pool_name}

计数

池,{pool_name}

PoolOpenSlots

pool.open_slots.{pool_name}

计数

池,{pool_name}

PoolQueuedSlots

pool.queued_slots.{pool_name}

计数

池,{pool_name}

PoolRunningSlots

pool.running_slots.{pool_name}

计数

池,{pool_name}

ProcessorTimeouts

dag_processing.processor_timeouts

计数

函数,DAG 处理

QueuedTasks

executor.queued_tasks

计数

函数,执行程序

RunningTasks

executor.running_tasks

计数

函数,执行程序

TasksExecutable

scheduler.tasks.executable

计数

函数,计划程序

TasksPending

注意

不适用于 Apache Airflow v2.2 及更高版本。

scheduler.tasks.pending

计数

函数,计划程序

TasksRunning

scheduler.tasks.running

计数

函数,计划程序

TasksStarving

scheduler.tasks.starving

计数

函数,计划程序

TasksWithoutDagRun

scheduler.tasks.without_dagrun

计数

函数,计划程序

DAGFileProcessingLastNumOfDbQueries
注意

适用于 Apache Airflow v2.10.1 及更高版本。

dag_processing.last_num_of_db_queries.{dag_filename} 计数

DAG 文件名,{dag_filename}

PoolScheduledSlots
注意

适用于 Apache Airflow v2.10.1 及更高版本。

pool.scheduled_slots.{pool_name} 计数

池,{pool_name}

TaskCpuUsage
注意

适用于 Apache Airflow v2.10.1 及更高版本。

cpu.usage.{dag_id}.{task_id} 百分比

DAG, {dag_id}

任务,{task_id}

TaskMemoryUsage
注意

适用于 Apache Airflow v2.10.1 及更高版本。

mem.usage.{dag_id}.{task_id} 百分比

DAG, {dag_id}

任务,{task_id}

Apache Airflow 计时器

本节中的 Apache Airflow 指标包含有关 Apache Airflow 计时器的数据。

CloudWatch 指标 Apache Airflow 指标 单位 维度

CollectDBDags

collect_db_dags

毫秒

函数,DAG 处理

CriticalSectionDuration

scheduler.critical_section_duration

毫秒

函数,计划程序

CriticalSectionQueryDuration

注意

适用于 Apache Airflow v2.5.1 及更高版本。

scheduler.critical_section_query_duration

毫秒

函数,计划程序

DAGDependencyCheck

dagrun.dependency-check.{dag_id}

毫秒

DAG, {dag_id}

DAGDurationFailed

dagrun.duration.failed.{dag_id}

毫秒

DAG, {dag_id}

DAGDurationSuccess

dagrun.duration.success.{dag_id}

毫秒

DAG, {dag_id}

DAGFileProcessingLastDuration

dag_processing.last_duration.{dag_filename}

DAG 文件名,{dag_filename}

DAGScheduleDelay

dagrun.schedule_delay.{dag_id}

毫秒

DAG, {dag_id}

FirstTaskSchedulingDelay

dagrun.{dag_id}.first_task_scheduling_delay

毫秒

DAG, {dag_id}

SchedulerLoopDuration

注意

适用于 Apache Airflow v2.5.1 及更高版本。

scheduler.scheduler_loop_duration

毫秒

函数,计划程序

TaskInstanceDuration

dag.{dag_id}.{task_id}.duration

毫秒

DAG, {dag_id}

任务,{task_id}

TaskInstanceQueuedDuration

dag.{dag_id}.{task_id}.queued_duration

注意

适用于 Apache Airflow v2.7.2 及更高版本。

毫秒

DAG, {dag_id}

任务,{task_id}

TaskInstanceScheduledDuration

注意

适用于 Apache Airflow v2.7.2 及更高版本。

dag.{dag_id}.{task_id}.scheduled_duration

毫秒

DAG, {dag_id}

任务,{task_id}

选择要报告的指标

您可以使用以下 Amazon MWAA 配置选项选择向 CloudWatch 发送哪些 Apache Airflow 指标,或者由 Apache Airflow 屏蔽哪些 Apache Airflow 指标:

  • metrics.metrics_allow_list — 逗号分隔的前缀列表,可用于选择环境向 CloudWatch 发送哪些指标。如果您希望 Apache Airflow 不发送所有可用指标,而是选择元素的子集,请使用此选项。例如,scheduler,executor,dagrun

  • metrics.metrics_block_list — 以逗号分隔的前缀列表,用于筛选出以列表元素开头的指标。例如,scheduler,executor,dagrun

如果同时配置 metrics.metrics_allow_listmetrics.metrics_block_list,Apache Airflow 将忽略 metrics.metrics_block_list。如果您配置 metrics.metrics_block_list 但未配置 metrics.metrics_allow_list,Apache Airflow 会过滤掉您在 metrics.metrics_block_list 中指定的元素。

注意

metrics.metrics_allow_listmetrics.metrics_block_list 配置选项仅适用于 Apache Airflow v2.6.3 及更高版本。对于先前版本的 Apache Airflow,请改用 metrics.statsd_allow_listmetrics.statsd_block_list

接下来做什么?

  • PublishMetrics 上浏览用于发布环境运行状况指标的 Amazon MWAA API 操作。