의 Apache Airflow v2 환경 지표 CloudWatch - Amazon Managed Workflows for Apache Airflow

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

의 Apache Airflow v2 환경 지표 CloudWatch

Apache Airflow v2는 이미 Amazon Managed Workflows for Apache Airflow 환경에 대한 StatsD 지표를 수집하여 Amazon에 전송하도록 설정되어 있습니다 CloudWatch. Apache Airflow가 전송하는 지표의 전체 목록은 Apache Airflow 참조 가이드지표 페이지에서 확인할 수 있습니다. 이 페이지에서는에서 사용할 수 있는 Apache Airflow 지표 CloudWatch와 CloudWatch 콘솔에서 지표에 액세스하는 방법을 설명합니다.

용어

네임스페이스

네임스페이스는 AWS 서비스의 CloudWatch 지표를 위한 컨테이너입니다. Amazon MWAA의 경우 네임스페이스는 AmazonMWAA입니다.

CloudWatch 지표

CloudWatch 지표는 특정 데이터 포인트의 시간 순서 집합을 나타냅니다 CloudWatch.

Apache Airflow 지표

Apache Airflow 전용 지표

차원

차원은 지표의 보안 인증에 속하는 명칭/값 쌍입니다.

단위

통계에는 측정 단위가 포함되어 있습니다. Amazon MWAA의 경우 단위에는 개수, 초 및 밀리초가 포함됩니다. Amazon의 경우 MWAA단위는 원래 Airflow 지표의 단위를 기반으로 설정됩니다.

차원

이 섹션에서는의 Apache Airflow 지표 CloudWatch 에 대한 차원 그룹에 대해 설명합니다 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 에 대한 지표를 선택합니다. 예: TaskInstanceSuccesses또는 TaskInstanceDuration. 모든 검색 결과를 그래프로 표시를 선택합니다.

  6. 그래프 지표 탭을 선택하여 , DAG환경, 작업과 같은 Apache Airflow 지표의 성능 통계를 봅니다.

에서 사용 가능한 Apache Airflow 지표 CloudWatch

이 섹션에서는 로 전송되는 Apache Airflow 지표 및 차원에 대해 설명합니다 CloudWatch.

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

개수

함수, 스케줄러

Orphaned

참고

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.processes

개수

함수, 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.infra_failures

개수

함수, 스마트 센서 연산자

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 구성 옵션을 사용하여 Apache Airflow 지표를 Apache Airflow로 내보내 CloudWatch거나 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를 사용합니다.

다음 단계

  • 에서 환경 상태 지표를 게시하는 데 사용되는 Amazon MWAA API 작업을 살펴봅니다PublishMetrics.