기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CloudWatch의 Apache Airflow 환경 지표
Apache Airflow v2 및 v3는 이미 Amazon Managed Workflows for Apache Airflow 환경에 대한 StatsD
목차
용어
- 네임스페이스
-
네임스페이스는 AWS 서비스의 CloudWatch 지표를 위한 컨테이너입니다. Amazon MWAA의 경우 네임스페이스는 AmazonMWAA입니다.
- CloudWatch 지표
-
CloudWatch 지표는 CloudWatch에 고유한 시간 순서별 데이터 포인트 세트를 나타냅니다.
- Apache Airflow 지표
-
Apache Airflow 전용 지표
- 차원
-
차원은 지표의 보안 인증에 속하는 명칭/값 쌍입니다.
- 단위
-
통계에는 측정 단위가 포함되어 있습니다. Amazon MWAA의 경우, 단위에는 개수, 초, 밀리초가 포함됩니다. Amazon MWAA의 경우, 단위는 원래의 Airflow 지표의 단위를 기반으로 설정됩니다.
Dimensions
이 섹션에서는 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 리전.
-
Amazon MWAA 네임스페이스를 선택합니다.
-
모든 지표 탭에서 차원을 선택합니다. 예: DAG, 환경
-
차원에 대한 CloudWatch 지표를 선택합니다. 예: TaskInstanceSuccesses 또는 TaskInstanceDuration 모든 검색 결과를 그래프로 표시를 선택합니다.
-
그래프로 표시된 지표 탭을 선택하여 DAG, 환경, 작업과 같은 Apache Airflow 지표의 성능 통계에 액세스합니다.
CloudWatch에서 사용할 수 있는 Apache Airflow 지표
이 섹션에서는 CloudWatch로 전송되는 Apache Airflow 지표 및 차원에 대해 설명합니다.
Apache Airflow 카운터
이 섹션의 Apache Airflow 지표에는 Apache Airflow 카운터
| CloudWatch 지표 | Apache Airflow 지표 | 단위 | 차원 |
|---|---|---|---|
|
SLAMissed 참고Apache Airflow v2.4.3~v2.10.3에서만 사용할 수 있습니다. |
sla_missed |
개수 |
함수, 스케줄러 |
|
FailedSLACallback 참고Apache Airflow v2.4.3~v2.10.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, 모두 |
|
FailedSLAEmailAttempts 참고Apache Airflow v3.0.6 이상에서는 사용할 수 없습니다. |
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_ 참고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.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. |
개수 |
함수, 트리거 호스트 이름, |
|
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 지표를 선택할 수 있습니다.
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 작업에 대해 알아봅니다.