Knowledge Catalog 로그 모니터링

이 문서에서는 Cloud Logging을 사용하여 Knowledge Catalog (이전의 Dataplex Universal Catalog) 로그에 액세스하고, 쿼리하고, 해석하는 방법을 설명합니다. Knowledge Catalog 작업 및 서비스 로그에 액세스하면 AI 기반 데이터 탐색 및 데이터 품질 스캔을 비롯한 데이터 관리 활동의 문제를 해결하고 모니터링할 수 있습니다.

Logging에서 로그를 중앙 집중화하면 작업 성능을 분석하고, 실패 또는 이상치에 대한 알림을 설정하고, 장기 보관 및 분석을 위해 BigQuery와 같은 다른 Google Cloud 서비스로 로그를 라우팅할 수 있습니다.

비용을 알아보려면 Google Cloud Observability 가격 책정을 참조하세요.

로깅 보관 방법에 대한 자세한 내용은 로그 보관 기간을 참조하세요.

모든 로그를 사용 중지하거나 Logging에서 로그를 제외하려면 제외 필터를 참조하세요.

Logging에서 Cloud Storage, BigQuery 또는 Pub/Sub로 로그를 라우팅하려면 라우팅 및 스토리지 개요를 참조하세요.

사용 사례

Knowledge Catalog 로깅은 다양한 업계의 사용 사례를 지원합니다.

  • 데이터 파이프라인 실패 문제 해결: 데이터 처리를 위한 Knowledge Catalog 작업이 실패하면 process 로그는 데이터 엔지니어가 Spark 작업 또는 커스텀 작업의 문제를 식별하고 해결하는 데 도움이 되는 자세한 오류 메시지를 제공합니다.
  • 데이터 품질 모니터링: 금융 서비스 회사는 data_quality_scan_rule_result 로그를 모니터링하여 시간 경과에 따른 데이터 품질 추세를 추적하고, 중요한 데이터 애셋의 품질 저하에 대한 알림을 받고, 규정 준수를 위해 감사자에게 데이터 품질 검사 증거를 제공할 수 있습니다.
  • 메타데이터 보강 추적: 메타데이터 가져오기 작업을 사용하여 카탈로그를 보강하는 소매 회사는 metadata_job 로그를 사용하여 가져오기가 성공적으로 완료되고 모든 메타데이터 항목이 올바르게 처리되는지 확인할 수 있습니다.
  • 데이터 탐색 감사: 조직은 discovery 로그를 사용하여 Knowledge Catalog 내에서 새 데이터 소스가 검색되고 등록되는 방식과 시기를 모니터링하여 데이터 온보딩 프로세스의 감사 추적을 제공할 수 있습니다.

Knowledge Catalog 로깅 작동 방식

Knowledge Catalog는 서비스 작업 및 작업 실행에 대한 로그를 Cloud Logging으로 전송합니다. 각 로그 항목에는 상태, 시작 및 종료 시간, 연결된 리소스 (예: 데이터 스캔 또는 작업), 결과와 같은 작업 또는 작업에 대한 세부정보가 포함됩니다. 데이터 스캔, 검색, 메타데이터 가져오기, 데이터 처리와 같은 다양한 유형의 작업은 logName 또는 로깅 쿼리 언어를 사용하여 쿼리할 수 있는 다양한 로그 유형을 Logging에서 생성합니다.

콘솔의 로그 탐색기를 사용하거나Google Cloud 추가 분석을 위해 Cloud Storage 버킷 또는 BigQuery 테이블과 같은 다른 대상으로 라우팅하여 이러한 로그에 액세스하고 분석할 수 있습니다.

Knowledge Catalog 로그 유형

Knowledge Catalog는 다음 서비스 로그를 Cloud Logging에 게시합니다.

로그 유형 로그 이름 logName 쿼리 로그 설명
데이터 검사 이벤트 로그 dataplex.googleapis.com/data_scan logName=(projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fdata_scan) 작업 상태, 결과, 통계를 나타내는 데이터 검사 작업 (데이터 품질 및 데이터 프로필 스캔 모두)의 작업 수준 이벤트 로그
데이터 품질 스캔 규칙 결과 로그 dataplex.googleapis.com/data_quality_scan_rule_result logName=(projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fdata_quality_scan_rule_result) 데이터 품질 스캔 작업에서 평가된 각 규칙에 대한 세부 규칙 수준 평가 결과
검색 로그 dataplex.googleapis.com/discovery logName=(projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fdiscovery) 영역의 애셋 검색 진행 상황 및 업데이트
메타데이터 작업 로그 dataplex.googleapis.com/metadata_job logName=(projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fmetadata_job) 메타데이터 가져오기 파일의 메타데이터 가져오기 작업 및 가져오기 항목에 관한 로그
로그 처리 dataplex.googleapis.com/process logName=(projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fprocess) 데이터 처리 태스크로 인한 작업 실행

Knowledge Catalog 서비스 로그 액세스

Logging에 액세스하려면 콘솔의 Google Cloud 로그 탐색기, gcloud logging 명령어 또는 Logging API를 사용하세요. 로깅 쿼리 언어를 사용하여 세부 쿼리를 빌드할 수 있습니다.

필수 IAM 권한

로그를 보고 쿼리하려면 로그 뷰어 (roles/logging.viewer) 역할 또는 프로젝트에 대한 동등한 권한이 있어야 합니다.

Google Cloud 콘솔에서 로그 보기

  1. 콘솔 Google Cloud 에서 Observability > Logging > 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

  2. 다음 표에 따라 리소스로그 이름 필터를 구성합니다.

    로그 유형 리소스 선택 로그 이름 선택
    데이터 검사 이벤트 감사된 리소스 > 서비스: Cloud Dataplex dataplex.googleapis.com/data_scan
    데이터 품질 스캔 규칙 결과 감사된 리소스 > 서비스: Cloud Dataplex dataplex.googleapis.com/data_quality_scan_rule_result
    검색 로그 Cloud Dataplex 영역 dataplex.googleapis.com/discovery
    메타데이터 작업 로그 Cloud Dataplex 메타데이터 작업 dataplex.googleapis.com/metadata_job
    로그 처리 Cloud Dataplex 태스크 dataplex.googleapis.com/process
  3. (선택사항) 특정 하위 필터 (예: 특정 작업 ID)를 선택하여 쿼리를 좁힙니다.

  4. 적용을 클릭한 다음 쿼리 실행을 클릭합니다.

로그 필터링 예시

로그 탐색기 쿼리 편집기 또는 Google Cloud CLI에서 로깅 쿼리 언어를 사용할 수 있습니다. 다음 예시에서는 gcloud CLI를 사용하여 로그를 읽는 방법을 보여줍니다.

예: 데이터 검사 이벤트 읽기

데이터 품질 또는 데이터 프로필 스캔의 이벤트 로그 항목을 읽으려면 다음 쿼리와 함께 gcloud logging read 명령어 를 사용합니다.

gcloud logging read \
    'resource.type="dataplex.googleapis.com/DataScan" AND
    logName=projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fdata_scan AND
    resource.labels.location=LOCATION AND
    resource.labels.datascan_id=DATA_SCAN_ID'
    --limit 10

예: 로그 항목 처리 읽기

로그 항목 처리를 읽으려면 다음 쿼리와 함께 gcloud logging read 명령어 를 사용합니다.

gcloud logging read \
    'resource.type="dataplex.googleapis.com/Task" AND
    logName=projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fprocess AND
    resource.labels.location=LOCATION AND
    resource.labels.lake_id=LAKE_ID AND
    resource.labels.task_id=TASK_ID'
    --limit 10

샘플 로그 페이로드

다음 예시에서는 여러 유형의 Knowledge Catalog 로그에 대한 JSON 페이로드 구조를 보여줍니다. 이러한 예시를 사용하여 로그의 구조를 이해하고 로그 필터를 빌드할 수 있습니다.

데이터 검사 이벤트 로그

Knowledge Catalog에서 데이터 검사는 데이터 품질 스캔데이터 프로필 스캔을 모두 포함합니다. 두 유형 중 하나의 데이터 검사 작업을 실행하면 Knowledge Catalog는 전체 작업 실행을 요약하는 data_scan 이벤트 로그를 Logging에 생성합니다.

다음 예시에서는 데이터 품질 스캔의 이벤트 로그 페이로드를 보여줍니다.

{
  "insertId": "123456abcdef",
  "jsonPayload": {
    "dataQuality": {
      "passed": false,
      "rowsAnalyzed": "5000"
    },
    "dataSource": "//bigquery.googleapis.com/projects/my-project/datasets/my_dataset/tables/my_table"
  },
  "resource": {
    "type": "dataplex.googleapis.com/DataScan",
    "labels": {
      "datascan_id": "my-data-quality-scan",
      "location": "us-central1",
      "resource_container": "projects/1234567890"
    }
  },
  "severity": "INFO"
}

데이터 품질 스캔 규칙 결과 로그

데이터 품질 스캔이 실행되면 Knowledge Catalog는 데이터 검사 이벤트 로그와 작업에서 평가된 각 개별 규칙에 대한 별도의 데이터 품질 스캔 규칙 결과 로그를 생성합니다.

data_quality_scan_rule_result 로그 항목에는 규칙 구성, 평가 측정기준, 상태, 행 수 등 특정 규칙에 대한 정보가 포함됩니다.

다음 예시에서는 데이터 품질 스캔 규칙 결과 로그 페이로드를 보여줍니다.

{
  "insertId": "123456abcdef",
  "jsonPayload": {
    "jobId": "my-data-quality-scan-job-123",
    "dataSource": "//bigquery.googleapis.com/projects/my-project/datasets/my_dataset/tables/my_table",
    "column": "user_id",
    "ruleName": "user-id-not-null",
    "ruleType": "NON_NULL_EXPECTATION",
    "ruleDimension": "COMPLETENESS",
    "thresholdPercent": 100,
    "result": "PASSED",
    "evaluatedRowCount": "5000",
    "passedRowCount": "5000",
    "nullRowCount": "0"
  },
  "resource": {
    "type": "dataplex.googleapis.com/DataScan",
    "labels": {
      "datascan_id": "my-data-quality-scan",
      "location": "us-central1",
      "resource_container": "projects/1234567890"
    }
  },
  "severity": "INFO"
}

검색 로그

다음 예시에서는 검색 로그 페이로드를 보여줍니다.

{
  "insertId": "123456abcdef",
  "jsonPayload": {
    "message": "BigQuery table published successfully.",
    "lakeId": "my-lake",
    "zoneId": "my-zone",
    "assetId": "my-asset",
    "dataLocation": "gs://my-bucket/path/to/data",
    "type": "TABLE_PUBLISHED",
    "table": {
      "table": "projects/my-project/datasets/my_dataset/tables/my_table",
      "type": "EXTERNAL_TABLE"
    }
  },
  "resource": {
    "type": "dataplex.googleapis.com/Zone",
    "labels": {
      "lake_id": "my-lake",
      "zone_id": "my-zone",
      "location": "us-central1",
      "resource_container": "projects/1234567890"
    }
  },
  "severity": "INFO"
}

메타데이터 작업 로그

다음 예시에서는 메타데이터 작업 로그 페이로드를 보여줍니다.

{
  "insertId": "123456abcdef",
  "jsonPayload": {
    "resource": "projects/my-project/locations/us-central1/metadataJobs/my-metadata-job",
    "message": "Metadata import job completed successfully.",
    "type": "IMPORT",
    "importResult": {
      "state": "SUCCEEDED",
      "stage": "INGESTION",
      "mutatedEntryGroups": "1",
      "createdEntries": "50",
      "updatedEntries": "10",
      "deletedEntries": "5"
    }
  },
  "resource": {
    "type": "dataplex.googleapis.com/MetadataJob",
    "labels": {
      "metadata_job_id": "my-metadata-job",
      "location": "us-central1",
      "resource_container": "projects/1234567890"
    }
  },
  "severity": "INFO"
}

로그 처리

다음 예시에서는 로그 처리 페이로드를 보여줍니다.

{
  "insertId": "123456abcdef",
  "jsonPayload": {
    "message": "Spark job completed successfully.",
    "jobId": "my-task-job-123",
    "startTime": "2026-08-13T10:00:00Z",
    "endTime": "2026-08-13T10:05:00Z",
    "state": "SUCCEEDED",
    "type": "SPARK",
    "service": "DATAPROC",
    "serviceJob": "projects/my-project/regions/us-central1/jobs/dataproc-job-123",
    "executionTrigger": "TASK_CONFIG"
  },
  "resource": {
    "type": "dataplex.googleapis.com/Task",
    "labels": {
      "task_id": "my-task",
      "lake_id": "my-lake",
      "location": "us-central1",
      "resource_container": "projects/1234567890"
    }
  },
  "severity": "INFO"
}

로그 기반 알림 설정

로그 기반 알림을 설정하여 특정 Knowledge Catalog 이벤트 (예: 데이터 품질 스캔 실패)가 발생할 때마다 알림을 받을 수 있습니다.

로그 기반 알림을 만들려면 로그 구성 작성자(roles/logging.configWriter) 및 모니터링 알림 정책 편집자(roles/monitoring.alertPolicyEditor) 역할 또는 동등한 권한이 있어야 합니다.

  1. 실패 조건을 타겟팅하는 로그 탐색기에서 쿼리를 실행합니다 (예: resource.type="dataplex.googleapis.com/DataScan" AND NOT jsonPayload.dataQuality.passed=true).
  2. 쿼리 결과 창 위에서 알림 만들기 를 클릭합니다.
  3. 로그 기반 알림 만들기 패널에서 알림 정책 이름과 설명을 입력합니다.
  4. 다음 을 클릭하고 알림 채널을 구성합니다.
  5. 저장 을 클릭합니다.

자세한 내용은 로그 기반 알림 만들기를 참조하세요.

다음 단계