CloudWatch 中的 Apache Airflow v2 环境指标
Apache Airflow v2 已经设置为收集 Amazon MMWAA 环境的 StatsD
目录
术语
- 命名空间
-
命名空间是用于 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 的性能指标。
要查看维度的性能指标,请执行以下操作
-
在 CloudWatch 控制台上打开指标页面
。 -
使用 AWS 区域选择器选择您的区域。
-
选择 AmazonMWAA 命名空间。
-
在所有指标选项卡中,选择一个维度。例如,DAG、环境。
-
选择 CloudWatch 指标维度。例如,TaskInstanceSuccesses 或 TaskInstanceDuration。选择绘制所有搜索结果的图表。
-
选择图表化指标选项卡可查看 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_ 注意适用于 Apache Airflow v2.7.2 及更高版本。 |
计数 |
运算符, |
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, |
PoolDeferredSlots 注意在 Apache Airflow v2.7.2 及更高版本中可用。 |
pool.deferred_slots. |
计数 |
池,{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. 注意适用于 Apache Airflow v2.7.2 及更高版本。 |
毫秒 |
DAG, {dag_id} 任务,{task_id} |
TaskInstanceScheduledDuration 注意适用于 Apache Airflow v2.7.2 及更高版本。 |
dag. |
毫秒 |
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_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
。
接下来做什么?
-
在 PublishMetrics 上浏览用于发布环境运行状况指标的 Amazon MWAA API 操作。