Pub/Sub 알림 및 BigQuery를 사용하여 작업 상태 모니터링

이 문서에서는 Pub/Sub 알림을 사용하여 작업 상태 변경을 모니터링하는 방법과 선택적으로 이러한 알림을 BigQuery로 스트리밍하는 방법을 설명합니다.

시작하기 전에

필요한 역할

Batch에서 Pub/Sub 알림 사용

Batch는 알림, 관측 가능성 또는 BigQuery에서 사용할 작업 및 태스크 상태에 대한 Pub/Sub 알림을 지원합니다.

작업 또는 태스크 상태가 변경될 때마다 알림을 받거나 지정된 작업 또는 태스크 상태를 기준으로 필터링할 수 있습니다. 태스크 상태 알림 속성은 작업 내의 특정 태스크가 아닌 작업의 모든 태스크에 적용됩니다. 작업 및 태스크 상태에 대한 자세한 내용은 작업 수명 주기를 참조하세요.

작업에 대한 알림 사용 설정

작업에 대해 Pub/Sub 알림을 사용 설정하려면 다음을 수행합니다.

  1. Batch 작업을 실행할 프로젝트와 동일한 프로젝트에 Pub/Sub 주제를 만듭니다.
  2. 필요한 경우 BigQuery로 알림을 스트리밍하도록 Pub/Sub를 구성합니다.
  3. Pub/Sub 알림을 보내는 작업을 만듭니다.

BigQuery로 알림을 스트리밍하도록 Pub/Sub 구성

작업 및 태스크 상태 변경 내역을 보존하고 이러한 변경사항을 쿼리하려면 다음을 수행하여 Pub/Sub 알림을 BigQuery로 스트리밍할 수 있습니다.

  1. 아직 작업에 알림을 사용 설정하지 않았으면 사용 설정합니다.

  2. 아직 없으면 BigQuery 데이터 세트를 생성합니다.

  3. 다음 스키마 정의를 사용하여 BigQuery 테이블을 만듭니다.

    [
      {
        "name": "data",
        "type": "STRING"
      },
      {
        "name": "subscription_name",
        "type": "STRING"
      },
      {
        "name": "message_id",
        "type": "STRING"
      },
      {
        "name": "attributes",
        "type": "JSON"
      },
      {
        "name": "publish_time",
        "type": "TIMESTAMP",
        "mode": "NULLABLE"
      }
    ]
    
  4. BigQuery로 스트리밍되는 Pub/Sub 구독을 만들고 다음을 지정합니다.

    • 주제: 이전에 만든 Pub/Sub 주제를 선택합니다.
    • 프로젝트: BigQuery 테이블이 포함된 프로젝트를 선택합니다.
    • 데이터 세트: BigQuery 테이블이 포함된 데이터 세트를 선택합니다.
    • 테이블: 이전 단계에서 만든 테이블을 선택합니다.
    • 주제 스키마 사용을 선택합니다.
    • 메타데이터 쓰기를 선택합니다.

Batch 작업이 실행되면 Pub/Sub가 BigQuery로 알림을 스트리밍합니다.

BigQuery에서 알림 분석

BigQuery 테이블의 attributes 열에서 쿼리를 실행하여 BigQuery에서 Pub/Sub 알림을 분석합니다. 쿼리할 수 있는 속성은 태스크 또는 작업에 대한 알림을 구성했는지 여부에 따라 다릅니다.

태스크 알림의 다음 속성을 쿼리할 수 있습니다.

  • JobUID
  • NewTaskState
  • Region
  • TaskName
  • TaskUID
  • Type

작업 알림의 다음 속성을 쿼리할 수 있습니다.

  • JobUID
  • JobName
  • NewJobState
  • Region
  • Type

예를 들어 다음 쿼리는 각 알림과 연결된 JobUID를 보여줍니다.

select attributes.JobUID from `example-table`

다음 단계