Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
이 페이지에서는 Cloud Composer 환경의 모니터링 대시보드에 액세스하고 사용하는 방법을 설명합니다.
주요 환경 측정항목 모니터링에 대한 튜토리얼은 키 측정항목으로 환경 상태 및 성능 모니터링을 참조하세요.
특정 측정항목에 대한 자세한 내용은 Cloud Monitoring으로 환경 모니터링을 참조하세요.
모니터링 대시보드에 액세스
이 모니터링 대시보드에는 환경에서 DAG 실행의 추세를 모니터링하고 Airflow 구성요소 및 Cloud Composer 리소스의 문제를 식별하기 위한 측정항목과 차트가 포함되어 있습니다.
환경 모니터링 대시보드에 액세스하려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 환경 페이지로 이동합니다.
환경 목록에서 환경 이름을 클릭합니다. 환경 세부정보 페이지가 열립니다.
Monitoring 탭으로 이동합니다.
측정항목에 대한 알림 설정
모니터링 카드 모서리에 있는 종 모양 아이콘을 클릭하여 측정항목에 대해 알림을 설정할 수 있습니다.
Monitoring에서 측정항목 보기
Monitoring에서 측정항목을 확인하면 더 자세히 살펴볼 수 있습니다.
Cloud Composer 모니터링 대시보드에서 이동하려면 측정항목 카드 오른쪽 위 모서리에 있는 3개 점을 클릭하고 측정항목 탐색기에서 보기를 선택합니다.
측정항목 설명
각 Cloud Composer 환경에는 자체 모니터링 대시보드가 있습니다. 특정 환경의 모니터링 대시보드에 표시되는 측정항목은 이 환경의 DAG 실행, Airflow 구성요소, 환경 세부정보만 추적합니다. 예를 들어 환경이 두 개인 경우 대시보드는 두 환경의 측정항목을 집계하지 않습니다.
환경 개요
환경 측정항목 | 설명 |
---|---|
환경 상태(Airflow 모니터링 DAG) | Composer 배포 상태를 보여주는 타임라인 녹색 상태는 Composer 배포 상태만 반영합니다. 그렇다고 해서 모든 Airflow 구성요소가 작동 중이며 DAG를 실행할 수 있는 것은 아닙니다. |
스케줄러 하트비트 | Airflow 스케줄러의 하트비트를 보여주는 타임라인입니다. Airflow 스케줄러 문제를 식별하기 위해 빨간색 영역을 확인합니다. 환경에 둘 이상의 스케줄러가 있는 경우 하나 이상의 스케줄러가 응답하는 한 하트비트 상태는 정상입니다. |
웹 서버 상태 | Airflow 웹 서버의 상태를 보여주는 타임라인 이 상태는 Airflow 웹 서버에서 반환된 HTTP 상태 코드를 기반으로 생성됩니다. |
데이터베이스 상태 | Airflow DB를 호스팅하는 Cloud SQL 인스턴스 연결 상태를 보여주는 타임라인입니다. |
환경 작업 | 구성 업데이트 수행 또는 환경 스냅샷 로드와 같이 환경을 수정하는 작업을 보여주는 타임라인입니다. |
유지보수 작업 | 환경 클러스터에서 유지보수 작업이 수행되는 기간을 보여주는 타임라인입니다. |
환경 종속 항목 | 환경 작업의 연결 가능성과 권한 검사 상태를 보여주는 타임라인입니다. |
DAG 통계
환경 측정항목 | 설명 |
---|---|
성공한 DAG 실행 | 선택한 기간 동안 환경에서 성공한 총 DAG 실행 수입니다. 성공한 DAG 실행 수가 예상 수준 아래로 떨어지면 실패(DAG 실행 실패 참조) 또는 예약 문제를 표시할 수 있습니다. |
실패한 DAG 실행 실패한 태스크 | 선택한 기간 동안 환경에서 실패한 총 DAG 실행 수입니다. 선택한 기간 동안 환경에서 실패한 총 작업 수입니다. 실패한 작업으로 인해 DAG 실행이 실패하는 것은 아니지만 DAG 오류를 해결하는데 유용한 신호가 될 수 있습니다. |
완료된 DAG 실행 | 선택한 기간의 간격에 대한 DAG 성공 및 실패 횟수입니다. 이렇게 하면 DAG 실행의 일시적인 문제를 식별하고 작업자 포드 제거와 같은 다른 이벤트와의 상관 관계를 파악할 수 있습니다. |
완료된 태스크 | 성공한 태스크와 실패한 태스크로 세분화된 환경에서 완료된 태스크 수입니다. |
DAG 실행 지속 시간 중앙값 | DAG 실행 지속 시간의 중앙값입니다. 이 차트는 DAG 기간의 성능 문제 및 트렌드를 식별하는 데 도움이 됩니다. |
Airflow 태스크 | 특정 시점에 실행 중이거나 큐에 추가되거나 지연된 상태인 태스크 수입니다. Airflow 태스크는 Airflow에서 큐에 추가된 상태인 태스크이며 Celery 또는 Kubernetes Executor 브로커 큐로 이동할 수 있습니다. Celery 큐에 추가된 태스크는 Celery 브로커 큐에 배치되는 태스크 인스턴스입니다. |
좀비 태스크 종료됨 | 짧은 기간 동안 종료된 좀비 태스크의 수입니다. 좀비 작업은 종종 Airflow 프로세스의 외부 종료로 인해 발생합니다. Airflow 스케줄러는 좀비 태스크를 주기적으로 종료하며 이는 이 차트에 반영됩니다. |
DAG 모음 크기 | 특정 시간에 해당 환경의 버킷에 배포되고 Airflow에서 처리되는 DAG 수입니다. 이는 성능 병목 현상을 분석할 때 유용할 수 있습니다. 예를 들어 DAG 배포 수가 증가하면 과도한 로드로 인해 성능이 저하될 수 있습니다. |
DAG 프로세서 오류 | DAG 파일을 처리하는 동안 발생한 초당 오류 및 시간 초과입니다. 이 값은 DAG 프로세서가 보고한 오류의 빈도를 나타내며 실패한 DAG 수와는 다릅니다. |
모든 DAGS의 총 파싱 시간 | Airflow가 환경의 모든 DAG를 처리하는 데 필요한 총 시간을 보여주는 차트입니다. 파싱 시간이 늘어나면 스케줄링 효율에 영향을 줄 수 있습니다. 자세한 내용은 DAG 파싱 시간과 DAG 실행 시간 사이의 차이점을 참조하세요. |
스케줄러 통계
환경 측정항목 | 설명 |
---|---|
스케줄러 히트비트 | 환경 개요를 참조하세요. |
총 스케줄러 CPU 사용량 | 모든 Airflow 스케줄러 포드에서 실행되는 컨테이너별 총 vCPU 코어 사용량 및 모든 스케줄러에 대해 결합된 vCPU 한도입니다. |
총 스케줄러 메모리 사용량 | 모든 Airflow 스케줄러 포드에서 실행되는 컨테이너별 총 메모리 사용량 및 모든 스케줄러에 대해 결합된 vCPU 한도입니다. |
총 스케줄러 디스크 사용량 | 모든 Airflow 스케줄러 포드에서 실행되는 컨테이너별 총 디스크 공간 사용량 및 모든 스케줄러에 대해 결합된 디스크 공간 한도입니다. |
스케줄러 컨테이너 재시작 | 개별 스케줄러 컨테이너의 총 재시작 수입니다. |
스케줄러 포드 제거 | Airflow 스케줄러 포드 제거 수입니다. 포드 제거는 환경 클러스터의 특정 포드가 리소스 한도에 도달하면 발생할 수 있습니다. |
작업자 통계
환경 측정항목 | 설명 |
---|---|
총 작업자 CPU 사용량 | 모든 Airflow 작업자 포드에서 실행되는 컨테이너별 총 vCPU 코어 사용량 및 모든 작업자에 대해 결합된 vCPU 한도입니다. |
총 작업자 메모리 사용량 | 모든 Airflow 작업자 포드에서 실행되는 컨테이너별 총 메모리 사용량 및 모든 작업자에 대해 결합된 vCPU 한도입니다. |
총 작업자 디스크 사용량 | 모든 Airflow 작업자 포드에서 실행되는 컨테이너별 총 디스크 공간 및 모든 작업자에 대해 결합된 디스크 공간 한도입니다. |
활성 작업자 | 환경의 현재 작업자 수입니다. Cloud Composer 2에서 환경은 활성 작업자 수를 자동으로 확장합니다. |
작업자 컨테이너 재시작 수 | 개별 작업자 컨테이너의 총 재시작 수입니다. |
작업자 pod 제거 | Airflow 작업자 포드 제거 수입니다. 포드 제거는 환경 클러스터의 특정 포드가 리소스 한도에 도달하면 발생할 수 있습니다. Airflow 작업자 포드가 제거되면 해당 포드에서 실행 중인 모든 태스크 인스턴스가 중단되고 나중에 Airflow에서 실패로 표시됩니다. |
Airflow 태스크 | 환경 개요를 참조하세요. |
Celery 브로커 게시 제한 시간 |
Celery Broker에 태스크를 게시할 때 발생한 총 AirflowTaskTimeout 오류 수입니다. 이 측정항목은 celery.task_timeout_error Airflow 측정항목에 해당합니다. |
Celery 실행 명령어 실패 |
Celery 태스크에서 0이 아닌 종료 코드의 총 개수입니다. 이 측정항목은 celery.execute_command.failure Airflow 측정항목에 해당합니다. |
시스템에서 종료된 태스크 | 작업자 메모리 또는 하트비트 등의 문제로 인해 태스크 실행자가 SIGKILL로 종료한 워크플로 태스크 수입니다. |
트리거 통계
환경 측정항목 | 설명 |
---|---|
지연된 태스크 | 특정 시점에 지연된 상태인 태스크 수입니다. 지연된 태스크에 대한 자세한 내용은 지연 가능한 연산자 사용을 참조하세요. |
완료된 트리거 | 모든 트리거 포드에서 완료된 트리거 수입니다. |
실행 중인 트리거 | 트리거 인스턴스당 실행 중인 트리거 수입니다. 이 차트에는 트리거마다 별도의 선이 표시됩니다. |
차단 트리거 | 기본 스레드를 차단한 트리거 수입니다(완전 비동기가 아닌 경우). |
총 트리거 CPU 사용량 | 모든 Airflow 트리거 포드에서 실행되는 컨테이너별 총 vCPU 코어 사용량 및 모든 트리거에 대해 결합된 vCPU 한도입니다. |
총 트리거 메모리 사용량 | 모든 Airflow 트리거 포드에서 실행되는 컨테이너별 총 메모리 사용량 및 모든 트리거에 대해 결합된 vCPU 한도입니다. |
총 트리거 디스크 사용량 | 모든 Airflow 트리거 포드에서 실행되는 컨테이너별 총 디스크 공간 및 모든 트리거에 대해 결합된 디스크 공간 한도입니다. |
활성 트리거 | 활성 트리거 인스턴스 수 |
트리거 컨테이너 재시작 | 트리거 컨테이너 재시작 횟수입니다. |
웹 서버 통계
환경 측정항목 | 설명 |
---|---|
웹 서버 상태 | 환경 개요를 참조하세요. |
웹 서버 CPU 사용량 | 모든 Airflow 웹 서버 포드에서 실행되는 컨테이너별 총 vCPU 코어와 모든 웹 서버에 대해 결합된 vCPU 한도입니다. |
웹 서버 메모리 사용량 | 모든 Airflow 웹 서버 포드에서 실행되는 컨테이너별 총 메모리 사용량 및 모든 웹 서버에 대해 결합된 vCPU 한도입니다. |
총 웹 서버 디스크 사용량 | 모든 Airflow 웹 서버 포드에서 실행되는 컨테이너별 총 디스크 공간 사용량 및 모든 웹 서버에 대해 결합된 디스크 공간 한도입니다. |
SQL 데이터베이스 통계
환경 측정항목 | 설명 |
---|---|
데이터베이스 상태 | 환경 개요를 참조하세요. |
데이터베이스 CPU 사용량 | 환경의 Cloud SQL 데이터베이스 인스턴스의 CPU 코어 사용량입니다. |
데이터베이스 메모리 사용량 | 환경의 Cloud SQL 데이터베이스 인스턴스의 총 메모리 사용량입니다. |
데이터베이스 디스크 사용량 | 환경의 Cloud SQL 데이터베이스 인스턴스에서 사용한 총 디스크 공간입니다. 이 측정항목은 Cloud SQL 데이터베이스 인스턴스 자체에 적용되므로 Airflow 데이터베이스 크기가 줄어도 측정항목은 감소하지 않습니다. Airflow 데이터베이스 콘텐츠 크기를 보여주는 측정항목은 Airflow 메타데이터 데이터베이스 크기를 참조하세요. |
Airflow 메타데이터 데이터베이스 크기 | Airflow 메타데이터 데이터베이스의 크기입니다. 이 측정항목은 환경의 Airflow 구성요소에 적용되며 Cloud SQL 데이터베이스 인스턴스의 Airflow 메타데이터 데이터베이스에서 사용하는 디스크 공간 양을 보여줍니다. 이 측정항목은 Airflow 메타데이터 데이터베이스 크기가 줄어들면(예: Airflow 데이터베이스 유지보수 후) 감소하며 스냅샷을 만들고 환경을 업그레이드할 수 있는지 여부를 결정합니다. 이 측정항목은 Cloud SQL 데이터베이스 인스턴스에서 사용하는 디스크 공간 양을 보여주는 데이터베이스 디스크 사용량 측정항목과는 다릅니다. |
데이터베이스 연결 | 데이터베이스에 대한 총 활성 연결 수 및 총 연결 한도입니다. |
DAG 파싱 시간과 DAG 실행 시간 사이의 차이점
환경의 모니터링 대시보드에는 Cloud Composer 환경에서 모든 DAG를 파싱하는데 필요한 총 시간과 DAG를 실행하는 데 걸리는 평균 시간이 표시됩니다.
DAG를 파싱하는 것과 실행을 위해 DAG에서 태스크를 예약하는 것은 Airflow Scheduler에서 수행되는 서로 다른 두 가지 개별 작업입니다.
DAG 파싱 시간은 Airflow Scheduler가 DAG 파일을 읽고 이를 파싱하는 데 걸리는 시간입니다.
Airflow Scheduler가 DAG에서 태스크를 예약할 수 있으려면 Scheduler가 DAG 파일을 파싱하여 DAG 및 정의된 태스크의 구조를 확인해야 합니다. DAG 파일이 파싱된 후 Scheduler는 DAG에서 태스크 예약을 시작할 수 있습니다.
DAG 실행 시간은 DAG에 대한 모든 태스크 실행 시간의 합계입니다.
DAG에서 특정 Airflow 태스크를 실행하는 데 걸리는 시간을 보려면 Airflow 웹 인터페이스에서 DAG를 선택하고 태스크 기간 탭을 엽니다. 이 탭에는 지정된 마지막 DAG 실행 수에 대한 태스크 실행 시간이 표시됩니다.