Dataflow 파이프라인에 Monitoring 사용

Cloud Monitoring은 강력한 로깅 및 진단 기능을 제공합니다. Monitoring과 Dataflow를 통합하면 Monitoring 대시보드에서 작업 상태, 요소 수, 시스템 지연(스트리밍 작업용), 사용자 카운터와 같은 Dataflow 작업 측정항목에 액세스할 수 있습니다. 또한 Monitoring 알림 기능을 사용하여 긴 스트리밍 시스템 지연 또는 실패한 작업과 같은 다양한 조건에 대한 알림을 받을 수 있습니다.

시작하기 전에

빠른 시작 중 한 가지를 따라 Dataflow 프로젝트를 설정하고 파이프라인을 구성 및 실행합니다.

커스텀 측정항목

Apache Beam 파이프라인에서 정의한 모든 측정항목은 커스텀 측정항목으로 Dataflow에서 Monitoring에 보고됩니다. Apache Beam 파이프라인 측정항목에는 Counter, Distribution, Gauge의 세 가지 유형이 있습니다. Dataflow는 현재 Monitoring으로 CounterDistribution만 보고합니다. Distribution_MAX, _MIN, _MEAN, _COUNT 서픽스가 있는 4가지 하위 측정항목으로 보고됩니다. Dataflow는 Distribution 측정항목에서 히스토그램을 만들 수 없습니다.

Dataflow는 약 30초마다 Monitoring에 증분 업데이트를 보고합니다. 충돌을 피하기 위해 모든 사용자 측정항목을 double 데이터 유형으로 내보냅니다. Dataflow의 커스텀 측정항목은 Monitoring에 custom.googleapis.com/dataflow/metric-name으로 표시되며 프로젝트당 측정항목은 500개로 제한됩니다.

Monitoring에 보고된 커스텀 측정항목은 Cloud Monitoring 가격 책정에 따라 비용이 발생합니다.

측정항목 살펴보기

Monitoring을 사용하여 Dataflow 측정항목을 살펴볼 수 있습니다. 이 섹션의 단계를 따라 각 Apache Beam 파이프라인에 제공되는 몇 가지 표준 측정항목을 살펴보세요.

  1. Google Cloud Console에서 Monitoring을 선택합니다.

    Monitoring으로 이동

  2. 왼쪽 탐색창에서 측정항목 탐색기를 클릭합니다.

  3. 리소스 유형 및 측정항목 찾기 창에서 dataflow_job 리소스 유형을 선택합니다.측정항목 탐색기에서 dataflow_job 리소스를 선택합니다.

  4. 표시되는 목록에서 한 가지 작업에 대해 관찰하려는 측정항목을 선택합니다.


    측정항목 선택

알림 정책 및 대시보드 만들기

Monitoring을 활용하여 Dataflow 관련 측정항목에 액세스를 확보할 수 있을 뿐만 아니라 알림 정책 및 대시보드를 만들어 측정항목의 시계열 차트를 작성하고 이러한 측정항목이 지정된 값에 도달하면 알림을 받도록 선택할 수 있습니다.

리소스 그룹 만들기

여러 Apache Beam 파이프라인을 포함하는 리소스 그룹을 만들어 알림을 쉽게 설정하고 대시보드를 빌드할 수 있습니다.

  1. Google Cloud Console에서 Monitoring을 선택합니다.

    Monitoring으로 이동

  2. 그룹 메뉴에서 그룹 만들기를 선택합니다.

  3. 그룹에 포함된 Dataflow 리소스를 정의하는 필터 기준을 추가합니다. 예를 들어 파이프라인의 프리픽스 이름이 필터 기준이 될 수 있습니다. 그룹 만들기

  4. 그룹이 생성되면 해당 그룹의 리소스와 관련된 기본 측정항목을 볼 수 있습니다.

Dataflow 측정항목에 대한 알림 정책 만들기

Monitoring을 사용하면 알림을 만들어 특정 측정항목이 지정된 임곗값을 초과할 때 알림을 받을 수 있습니다. 예를 들어 스트리밍 파이프라인의 시스템 지연이 사전 정의된 값을 초과할 때 알림을 받게 됩니다.

  1. Google Cloud Console에서 Monitoring을 선택합니다.

    Monitoring으로 이동

  2. 알림 메뉴에서 정책 만들기를 클릭합니다.

  3. 새 알림 정책 만들기 페이지에서 알림 조건 및 알림 채널을 정의할 수 있습니다.
    예를 들어 WindowedWordCount Apache Beam 파이프라인 그룹의 시스템 지연에 대한 알림을 설정하려면 다음 단계를 완료합니다.

    1. 조건 추가를 선택합니다.
    2. 리소스 유형 또는 측정항목 찾기 필드에 dataflow_job을 입력하고 선택합니다.
    3. 리소스 유형 또는 측정항목 찾기 필드에서 시스템 지연을 선택합니다.
  4. 알림을 만들면 이벤트 섹션에서 모든 이벤트 보기를 선택하여 Dataflow와 관련된 이벤트를 검토할 수 있습니다. 알림이 트리거될 때마다 이슈 및 이에 상응하는 이벤트가 생성됩니다. 알림에서 이메일 또는 SMS와 같은 알림 메커니즘을 지정한 경우에도 알림을 받게 됩니다.

커스텀 모니터링 대시보드 빌드

가장 관련성이 높은 Dataflow 관련 차트를 사용하여 Monitoring 모니터링 대시보드를 빌드할 수 있습니다.

  1. Google Cloud Console로 이동하여 Monitoring을 선택합니다.

    모니터링으로 이동

  2. 대시보드 > 대시보드 만들기를 선택합니다.

  3. 차트 추가를 클릭합니다.

  4. 차트 추가 창에서 dataflow_job과 차트로 만들 측정항목을 선택합니다.

  5. 필터 필드에서 Apache Beam 파이프라인을 포함하는 그룹을 선택합니다.

대시보드에 원하는 만큼 차트를 추가할 수 있습니다.

Monitoring 에이전트에서 작업자 VM 측정항목 수신

Dataflow 작업자 VM 인스턴스의 영구 디스크, CPU, 네트워크, 프로세스 측정항목을 모니터링하려면 파이프라인을 실행할 때 Monitoring 에이전트를 사용 설정하면 됩니다. 사용할 수 있는 Monitoring 에이전트 측정항목 목록을 참조하세요.

Monitoring 에이전트를 사용 설정하려면 파이프라인을 실행할 때 --experiments=enable_stackdriver_agent_metrics 옵션을 사용합니다. 컨트롤러 서비스 계정에는 roles/monitoring.metricWriter 역할이 있어야 합니다.

파이프라인을 중지하지 않고 Monitoring 에이전트를 사용 중지하려면 --experiments=enable_stackdriver_agent_metrics 매개변수 없이 교체 작업을 시작하여 파이프라인을 업데이트합니다.

다음 단계

자세한 내용은 다음 리소스를 참조하세요.