

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

# 中的 Apache Airflow 环境指标 CloudWatch
<a name="access-metrics-cw"></a>

Apache Airflow v2 和 v3 已经设置为收集适用于 Apache Airflow 的亚马逊托管工作流程环境的 [StatSD](https://github.com/etsy/statsd) 指标并将其发送到亚马逊。 CloudWatchApache Airflow 发送的指标的完整列表可在*《Apache Airflow 参考指南》*的 [指标](https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/metrics.html)页面上找到。本页介绍了中可用的 Apache Airflow 指标以及如何在控制台 CloudWatch 中访问指标。 CloudWatch 

**Contents**
+ [术语](#access-metrics-cw-terms)
+ [Dimensions](#metrics-dimensions)
+ [在 CloudWatch 控制台中访问指标](#access-metrics-cw-console)
+ [Apache Airflow 指标可用于 CloudWatch](#available-metrics-cw)
  + [Apache Airflow 计数器](#counters-metrics)
  + [Apache Airflow 计](#gauges-metrics)
  + [Apache Airflow 计时器](#timers-metrics)
+ [选择要报告的指标](#choosing-metrics)
+ [接下来做什么？](#mwaa-metrics202-next-up)

## 术语
<a name="access-metrics-cw-terms"></a>

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

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

**Apache Airflow 指标**  
特定于 Apache Airflow 的[指标](https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/metrics.html )。

**维度**  
维度是作为指标标识一部分的 name/value 配对。

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

## Dimensions
<a name="metrics-dimensions"></a>

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


| 维度 | 说明 | 
| --- | --- | 
|  DAG  |  表示特定的 Apache Airflow DAG 名称。  | 
|  DAG 文件名  |  表示特定的 Apache Airflow DAG 文件名称。  | 
|  函数  |  此维度用于改进中的指标分组 CloudWatch。  | 
|  任务  |  表示计划程序运行的 Apache Airflow 任务。始终具有 `Job` 的值。  | 
|  运算符  |  表示特定的 Apache Airflow 运算符。  | 
|  池  |  表示特定的 Apache Airflow 工作线程池。  | 
|  Task  |  表示特定的 Apache Airflow 任务。  | 
|  HostName  |  表示正在运行的特定的 Apache Airflow 进程的主机名。  | 

## 在 CloudWatch 控制台中访问指标
<a name="access-metrics-cw-console"></a>

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

**访问维度的性能指标**

1. 在 CloudWatch 控制台上打开 [“指标” 页面](https://console.aws.amazon.com/cloudwatch/home#metricsV2:graph=~())。

1. 选择你的 AWS 区域。

1. 选择 **AmazonMWAA** 命名空间。

1. 在**所有指标**选项卡中，选择一个维度。例如，*DAG、环境*。

1. 为维 CloudWatch 度选择一个指标。例如，*TaskInstanceSuccesses* 或 *TaskInstanceDuration*。选择**绘制所有搜索结果的图表**。

1. 选择**图表化指标**选项卡可访问 Apache Airflow 指标的性能统计信息，例如 *DAG、环境、任务*。

## Apache Airflow 指标可用于 CloudWatch
<a name="available-metrics-cw"></a>

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

### Apache Airflow 计数器
<a name="counters-metrics"></a>

本节中的 Apache Airflow 指标包含有关 [Apache Airflow *计数器*](https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/metrics.html#counters)的数据。


| CloudWatch 指标 | Apache Airflow 指标 | 单位 | 维度 | 
| --- | --- | --- | --- | 
|  SLAMissed  仅适用于 Apache Airflow v2.4.3 到 v2.10.3。   |  sla\$1missed  |  计数  |  函数，计划程序  | 
|  失败了 SLACallback  仅适用于 Apache Airflow v2.4.3 到 v2.10.3。   |  sla\$1callback\$1notification\$1failure  |  计数  |  函数，计划程序  | 
|  更新  适用于 Apache Airflow v2.6.3 及更高版本。   |  dataset.updates  |  计数  |  函数，计划程序  | 
|  孤立  适用于 Apache Airflow v2.6.3 及更高版本。   |  dataset.orphaned  |  计数  |  函数，计划程序  | 
|  FailedCeleryTaskExecution  适用于 Apache Airflow v2.4.3 及更高版本。   |  celery.execute\$1command.failure  |  计数  |  函数，Celery  | 
|  FilePathQueueUpdateCount  适用于 Apache Airflow v2.6.3 及更高版本。   |  dag\$1processing.file\$1path\$1queue\$1update\$1count  |  计数  |  函数，计划程序  | 
|  CriticalSectionBusy  |  scheduler.critical\$1section\$1busy  |  计数  |  函数，计划程序  | 
|  DagBagSize  |  dagbag\$1size  |  计数  |  函数，DAG 处理  | 
|  DagCallbackExceptions  |  dag.callback\$1exceptions  |  计数  |  DAG，全部  | 
|  失败的SLAEmail尝试  适用于 Apache Airflow v3.0.6 及更高版本。   |  sla\$1email\$1notification\$1failure  |  计数  |  函数，计划程序  | 
|  TaskInstanceFinished  |  ti.finish.\$1dag\$1id\$1.\$1task\$1id\$1.\$1state\$1  |  计数  |  DAG, \$1dag\$1id\$1 任务，\$1task\$1id\$1 状态，\$1state\$1  | 
|  JobEnd  |  \$1job\$1name\$1 \$1end  |  计数  |  任务，\$1job\$1name\$1  | 
|  JobHeartbeatFailure  |  \$1job\$1name\$1\$1heartbeat\$1failure  |  计数  |  任务，\$1job\$1name\$1  | 
|  JobStart  |  \$1job\$1name\$1\$1start  |  计数  |  任务，\$1job\$1name\$1  | 
|  ManagerStalls  |  dag\$1processing.manager\$1stalls  |  计数  |  函数，DAG 处理  | 
|  OperatorFailures  |  operator\$1failures\$1\$1operator\$1name\$1  |  计数  |  运算符，\$1operator\$1name\$1  | 
|  OperatorSuccesses  |  operator\$1successes\$1\$1operator\$1name\$1  |  计数  |  运算符，\$1operator\$1name\$1  | 
|  OtherCallbackCount  在 Apache Airflow v2.6.3 及更高版本中可用。   |  dag\$1processing.other\$1callback\$1count  |  计数  |  函数，计划程序  | 
|  进程  |  dag\$1processing 进程  |  计数  |  函数，DAG 处理  | 
|  SchedulerHeartbeat  |  scheduler\$1heartbeat  |  计数  |  函数，计划程序  | 
|  StartedTaskInstances  |  ti.start.\$1dag\$1id\$1.\$1task\$1id\$1  |  计数  |  DAG，全部 任务，全部  | 
|  SlaCallbackCount  |  dag\$1processing.sla\$1callback\$1count  适用于 Apache Airflow v2.6.3 及更高版本。   |  计数  |  函数，计划程序  | 
|  TasksKilledExternally  |  scheduler.tasks.killed\$1externally  |  计数  |  函数，计划程序  | 
|  TaskTimeoutError  |  celery.task\$1timeout\$1error  |  计数  |  函数，Celery  | 
|  TaskInstanceCreatedUsingOperator  |  task\$1instance\$1created-\$1operator\$1name\$1  |  计数  |  运算符，\$1operator\$1name\$1  | 
|  TaskInstancePreviouslySucceeded  |  previously\$1succeeded  |  计数  |  DAG，全部 任务，全部  | 
|  TaskInstanceFailures  |  ti\$1failures  |  计数  |  DAG，全部 任务，全部  | 
|  TaskInstanceSuccesses  |  ti\$1successes  |  计数  |  DAG，全部 任务，全部  | 
|  TaskRemovedFromDAG  |  task\$1removed\$1from\$1dag.\$1dag\$1id\$1  |  计数  |  DAG, \$1dag\$1id\$1  | 
|  TaskRestoredToDAG  |  task\$1restored\$1to\$1dag.\$1dag\$1id\$1  |  计数  |  DAG, \$1dag\$1id\$1  | 
|  TriggersSucceeded  适用于 Apache Airflow v2.7.2 及更高版本。   |  triggers.succeeded  |  计数  |  函数，触发  | 
|  TriggersFailed  适用于 Apache Airflow v2.7.2 及更高版本。   |  triggers.failed  |  计数  |  函数，触发  | 
|  TriggersBlockedMainThread  适用于 Apache Airflow v2.7.2 及更高版本。   |  triggers.blocked\$1main\$1thread  |  计数  |  函数，触发  | 
|  TriggerHeartbeat  适用于 Apache Airflow v2.8.1 及更高版本。   |  triggerer\$1heartbeat  |  计数  |  函数、触发器  | 
|  TaskInstanceCreatedUsingOperator  |  airflow.task\$1instance\$1created\$1`{operator_name}`  适用于 Apache Airflow v2.7.2 及更高版本。   |  计数  |  运算符，`{operator_name}`  | 
|  ZombiesKilled  |  zombies\$1killed  |  计数  |  DAG，全部 任务，全部  | 

### Apache Airflow 计
<a name="gauges-metrics"></a>

本节中的 Apache Airflow 指标包含有关 [Apache Airflow *计*](https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/metrics.html#gauges)的数据。


| CloudWatch 指标 | Apache Airflow 指标 | 单位 | 维度 | 
| --- | --- | --- | --- | 
|  DAGFileRefreshError  |  dag\$1file\$1refresh\$1error  |  计数  |  函数，DAG 处理  | 
|  ImportErrors  |  dag\$1processing.import\$1errors  |  计数  |  函数，DAG 处理  | 
|  ExceptionFailures  |  smart\$1sensor\$1operator.exception\$1failures  |  计数  |  函数，智能传感器运算符  | 
|  ExecutedTasks  |  smart\$1sensor\$1operator.executed\$1tasks  |  计数  |  函数，智能传感器运算符  | 
|  InfraFailures  |  smart\$1sensor\$1operator.infailes  |  计数  |  函数，智能传感器运算符  | 
|  LoadedTasks  |  smart\$1sensor\$1operator.loaded\$1tasks  |  计数  |  函数，智能传感器运算符  | 
|  TotalParseTime  |  dag\$1processing.total\$1parse\$1time  |  秒  |  函数，DAG 处理  | 
|  TriggeredDagRuns  在 Apache Airflow v2.6.3 及更高版本中可用。   |  dataset.triggered\$1dagruns  |  计数  |  函数，计划程序  | 
|  TriggersRunning  在 Apache Airflow v2.7.2 及更高版本中可用。   |  triggers.runn。 *\$1hostname\$1*  |  计数  |  函数，触发 HostName, *\$1hostname\$1*  | 
|  PoolDeferredSlots  在 Apache Airflow v2.7.2 及更高版本中可用。   |  pool.deferred\$1slots.`{pool_name}`  |  计数  |  池，\$1pool\$1name\$1  | 
|  DAGFileProcessingLastRunSecondsAgo  |  dag\$1processing.last\$1run.seconds\$1ago.\$1dag\$1filename\$1  |  秒  |  DAG 文件名，\$1dag\$1filename\$1  | 
|  OpenSlots  |  executor.open\$1slots  |  计数  |  函数，执行程序  | 
|  OrphanedTasksAdopted  |  scheduler.orphaned\$1tasks.adopted  |  计数  |  函数，计划程序  | 
|  OrphanedTasksCleared  |  scheduler.orphaned\$1tasks.cleared  |  计数  |  函数，计划程序  | 
|  PokedExceptions  |  smart\$1sensor\$1operator.poked\$1exception  |  计数  |  函数，智能传感器运算符  | 
|  PokedSuccess  |  smart\$1sensor\$1operator.poked\$1success  |  计数  |  函数，智能传感器运算符  | 
|  PokedTasks  |  smart\$1sensor\$1operator.poked\$1tasks  |  计数  |  函数，智能传感器运算符  | 
|  PoolFailures  |  pool.open\$1slots.\$1pool\$1name\$1  |  计数  |  池，\$1pool\$1name\$1  | 
|  PoolStarvingTasks  |  pool.starving\$1tasks.\$1pool\$1name\$1  |  计数  |  池，\$1pool\$1name\$1  | 
|  PoolOpenSlots  |  pool.open\$1slots.\$1pool\$1name\$1  |  计数  |  池，\$1pool\$1name\$1  | 
|  PoolQueuedSlots  |  pool.queued\$1slots.\$1pool\$1name\$1  |  计数  |  池，\$1pool\$1name\$1  | 
|  PoolRunningSlots  |  pool.running\$1slots.\$1pool\$1name\$1  |  计数  |  池，\$1pool\$1name\$1  | 
|  ProcessorTimeouts  |  dag\$1processing.processor\$1timeouts  |  计数  |  函数，DAG 处理  | 
|  QueuedTasks  |  executor.queued\$1tasks  |  计数  |  函数，执行程序  | 
|  RunningTasks  |  executor.running\$1tasks  |  计数  |  函数，执行程序  | 
|  TasksExecutable  |  scheduler.tasks.executable  |  计数  |  函数，计划程序  | 
|  TasksPending  不适用于 Apache Airflow v2.2 及更高版本。   |  scheduler.tasks.pending  |  计数  |  函数，计划程序  | 
|  TasksRunning  |  scheduler.tasks.running  |  计数  |  函数，计划程序  | 
|  TasksStarving  |  scheduler.tasks.starving  |  计数  |  函数，计划程序  | 
|  TasksWithoutDagRun  |  scheduler.tasks.without\$1dagrun  |  计数  |  函数，计划程序  | 
|  DAGFileProcessingLastNumOfDbQueries  在 Apache Airflow v2.10.1 及更高版本中可用。  |  dag\$1processing.last\$1num\$1of\$1db\$1queries.\$1dag\$1filename\$1  |  计数  |  DAG 文件名，\$1dag\$1filename\$1  | 
|  PoolScheduledSlots  在 Apache Airflow v2.10.1 及更高版本中可用。   |  pool.scheduled\$1slots.\$1pool\$1name\$1  |  计数  |  池，\$1pool\$1name\$1  | 
|  TaskCpuUsage  在 Apache Airflow v2.10.1 及更高版本中可用。  |  cpu.usage.\$1dag\$1id\$1.\$1task\$1id\$1  |  百分比  |  DAG, \$1dag\$1id\$1 任务，\$1task\$1id\$1  | 
|  TaskMemoryUsage  在 Apache Airflow v2.10.1 及更高版本中可用。  |  mem.usage.\$1dag\$1id\$1.\$1task\$1id\$1  |  百分比  |  DAG, \$1dag\$1id\$1 任务，\$1task\$1id\$1  | 

### Apache Airflow 计时器
<a name="timers-metrics"></a>

本节中的 Apache Airflow 指标包含有关 [Apache Airflow *计时器*](https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/metrics.html#timers)的数据。


| CloudWatch 指标 | Apache Airflow 指标 | 单位 | 维度 | 
| --- | --- | --- | --- | 
|  收集 DBDags  |  collect\$1db\$1dags  |  毫秒  |  函数，DAG 处理  | 
|  CriticalSectionDuration  |  scheduler.critical\$1section\$1duration  |  毫秒  |  函数，计划程序  | 
|  CriticalSectionQueryDuration  适用于 Apache Airflow v2.5.1 及更高版本。   |  scheduler.critical\$1section\$1query\$1duration  |  毫秒  |  函数，计划程序  | 
|  DAGDependency查看  |  dagrun.dependency-check.\$1dag\$1id\$1  |  毫秒  |  DAG, \$1dag\$1id\$1  | 
|  DAGDuration失败了  |  dagrun.duration.failed.\$1dag\$1id\$1  |  毫秒  |  DAG, \$1dag\$1id\$1  | 
|  DAGDuration成功  |  dagrun.duration.success.\$1dag\$1id\$1  |  毫秒  |  DAG, \$1dag\$1id\$1  | 
|  DAGFileProcessingLastDuration  |  dag\$1processing.last\$1duration.\$1dag\$1filename\$1  |  秒  |  DAG 文件名，\$1dag\$1filename\$1  | 
|  DAGSchedule延迟  |  dagrun.schedule\$1delay.\$1dag\$1id\$1  |  毫秒  |  DAG, \$1dag\$1id\$1  | 
|  FirstTaskSchedulingDelay  |  dagrun.\$1dag\$1id\$1.first\$1task\$1scheduling\$1delay  |  毫秒  |  DAG, \$1dag\$1id\$1  | 
|  SchedulerLoopDuration  适用于 Apache Airflow v2.5.1 及更高版本。   |  scheduler.scheduler\$1loop\$1duration  |  毫秒  |  函数，计划程序  | 
|  TaskInstanceDuration  |  dag.\$1dag\$1id\$1.\$1task\$1id\$1.duration  |  毫秒  |  DAG, \$1dag\$1id\$1 任务，\$1task\$1id\$1  | 
|  TaskInstanceQueuedDuration  |  dag.`{dag_id}`.`{task_id}`.queued\$1duration  适用于 Apache Airflow v2.7.2 及更高版本。   |  毫秒  |  DAG, \$1dag\$1id\$1 任务，\$1task\$1id\$1  | 
|  TaskInstanceScheduledDuration  适用于 Apache Airflow v2.7.2 及更高版本。   |  dag.`{dag_id}`.`{task_id}`.scheduled\$1duration  |  毫秒  |  DAG, \$1dag\$1id\$1 任务，\$1task\$1id\$1  | 

## 选择要报告的指标
<a name="choosing-metrics"></a>

[您可以使用以下 Amazon MWAA 配置选项来选择 CloudWatch向哪些 Apache Airflow 发送或屏蔽的 Apache Airflow 指标：](configuring-env-variables.md)
+ **`metrics.metrics_allow_list`**— 逗号分隔的前缀列表，可用于选择您的环境向哪些指标发送到 CloudWatch 哪些指标。如果您希望 Apache Airflow 不发送所有可用指标，而是选择元素的子集，请使用此选项。例如 `scheduler,executor,dagrun`。
+ **`metrics.metrics_block_list`** — 以逗号分隔的前缀列表，用于筛选出以列表元素开头的指标。例如 `scheduler,executor,dagrun`。

如果同时配置 `metrics.metrics_allow_list` 和 `metrics.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_list` 和 `metrics.metrics_block_list` 配置选项仅适用于 Apache Airflow v2.6.3 及更高版本。对于先前版本的 Apache Airflow，请改用 `metrics.statsd_allow_list` 和 `metrics.statsd_block_list`。

## 接下来做什么？
<a name="mwaa-metrics202-next-up"></a>
+ 浏览用于发布环境运行状况指标的 Amazon MWAA API 操作，网址为。[PublishMetrics](https://docs.aws.amazon.com/mwaa/latest/API/API_PublishMetrics.html)