Apache Airflow v2 中的环境指标 CloudWatch - Amazon Managed Workflows for Apache Airflow
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Apache Airflow v2 中的环境指标 CloudWatch

Apache Airflow v2 已经设置为收集适用于 Apache Airflow 的亚马逊托管工作流程的 StatSD 指标并将其发送到亚马逊。 CloudWatchApache Airflow 发送的指标的完整列表可在《Apache Airflow 参考指南》指标页面上找到。本页介绍中可用的 Apache Airflow 指标 CloudWatch,以及如何在控制台中 CloudWatch 访问指标。

术语

命名空间

命名空间是 Amazon 服务 CloudWatch 指标的容器。对于亚马逊MWAA,命名空间是亚马逊MWAA

CloudWatch 指标

CloudWatch 指标表示特定于的一组按时间顺序排列的数据点。 CloudWatch

Apache Airflow 指标

特定于 Apache Airflow 的指标

维度

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

单位

所有统计数据都有度量单位。对于 AmazonMWAA,单位包括计数毫秒。对于亚马逊MWAA,单位是根据原始气流指标中的单位设置的。

尺寸

本节介绍中 Apache 气流指标的 CloudWatch 度分组。 CloudWatch

维度 描述

DAG

表示特定的 Apache Airflow 名称DAG。

DAG文件名

表示特定的 Apache Air DAG flow 文件名。

函数

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

作业

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

运算符

表示特定的 Apache Airflow 运算符。

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

任务

表示特定的 Apache Airflow 任务。

HostName

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

在 CloudWatch 控制台中访问指标

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

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

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

  3. 选择 Amazon MWAA 命名空间。

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

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

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

Apache 气流指标可用于 CloudWatch

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

Apache Airflow 计数器

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

CloudWatch 公制 Apache Airflow 指标 单位 维度

SLAMissed

注意

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

sla_missed

计数

函数,计划程序

F ailedSLACallback

注意

适用于 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,全部

F ailedSLAEmail 尝试次数

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 及更高版本。

触发器_心跳

计数

函数,触发器

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 及更高版本中可用。

触发器。运行。{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 指标 单位 维度

C ollectDBDags

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}

选择要报告的指标

您可以使用以 CloudWatch下 Amazon 配置选项来选择向哪些 Apache Airflow 发出或被 Apache Airflow 屏蔽的 Apache 气流指标:MWAA

  • 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,请改用 an metrics.statsd_allow_list d。metrics.statsd_block_list

接下来做什么?

  • 浏览用于发布环境MWAAAPI运行状况指标的 Amazon 操作,网址为PublishMetrics