이 문서에서는 Cloud Monitoring을 사용하여 Knowledge Catalog (이전 명칭: Dataplex Universal Catalog) 서비스 상태를 추적하고, 성능을 최적화하고, 데이터 플랫폼을 파악하는 방법을 설명합니다. 사전 모니터링을 통해 데이터 애플리케이션의 안정성을 보장하고 리소스 할당 및 비용 관리에 대해 정보에 입각한 결정을 내릴 수 있습니다.
비용을 알아보려면 Monitoring 가격 책정을 참조하세요.
측정항목 데이터 보관에 대한 자세한 내용은 Monitoring 할당량 및 한도를 참조하세요.
사용 사례
Cloud Monitoring에서 Knowledge Catalog 측정항목을 사용하여 다음 사용 사례를 지원할 수 있습니다.
- 데이터 파이프라인 안정성 보장: 데이터 수집 또는 데이터 품질 작업과 같은 Knowledge Catalog 작업의 성공률과 실패율을 모니터링합니다. 실패 또는 비정상적인 기간에 대한 알림을 구성하여 중요 워크로드의 다운타임을 최소화합니다.
- 성능 최적화: 작업 기간 및 리소스 사용률 측정항목을 추적하여 데이터 처리, 데이터 품질, 데이터 검색 워크로드의 성능 병목 현상을 파악하고 해결합니다.
- 비용 관리: 모니터링에서 Knowledge Catalog 리소스 소비 (예: 레이크, 영역, 애셋)를 모니터링하고 Cloud Billing을 BigQuery로 내보내기를 사용하여 데이터 품질, 데이터 프로파일링, 데이터 계보 워크로드의 서버리스 컴퓨팅 (DCU) 비용을 귀속시킵니다.
- 데이터 거버넌스 유지: 메타데이터 검색 및 카탈로그 보강과 관련된 측정항목을 추적하여 데이터 애셋이 거버넌스 정책에 따라 스캔되고 태그가 지정되는지 확인합니다.
작동 방식
Knowledge Catalog는 Knowledge Catalog 서비스에서 측정항목, 이벤트, 메타데이터를 수집하는 Cloud Monitoring과 통합됩니다. 이러한 측정항목은 작업 실행 상태, API 사용량, 리소스 상태와 같은 영역에 대한 유용한 정보를 제공합니다. 측정항목 탐색기, 맞춤 대시보드, 알림과 같은 Cloud Monitoring의 도구를 사용하여 이러한 측정항목을 분석할 수 있습니다. 이러한 도구를 사용하면 서비스의 동작을 시각화하고, 성능 추세를 파악하고, 성능이 정의된 기준에서 벗어나거나 장애가 발생할 때 알림을 보내는 알림 정책을 만들 수 있습니다.
Monitoring의 서비스 측정항목 액세스
Knowledge Catalog 서비스 리소스 측정항목은 Knowledge Catalog 서비스에서 자동으로 사용 설정됩니다. 이러한 측정항목을 보려면 Monitoring을 사용하세요.
Google Cloud 콘솔에서 또는 Monitoring API를 사용하여 Monitoring에 액세스할 수 있습니다.
모니터링 그래프를 보거나 알림을 만들 수 없는 경우에는 추가 모니터링 권한이 필요할 수 있습니다.
콘솔
Google Cloud 콘솔에서 측정항목 탐색기 페이지로 이동합니다.
측정항목 선택 메뉴에서
Cloud Dataplex리소스를 선택합니다.측정항목 카테고리를 선택한 후 목록에서 측정항목을 선택합니다.
측정항목에 대한 정보를 표시하려면 측정항목 이름 위에 마우스 포인터를 올려놓습니다.
적용을 클릭합니다.
선택사항: 필터를 선택하고 측정항목 라벨별로 그룹화하고 집계를 수행하고 차트 표시 옵션을 선택합니다.
REST
filter 표현식으로 정의된 측정항목을 캡처하고 나열하려면 Monitoring timeSeries.list 메서드를 사용합니다.
API 요청을 전송하고 응답을 표시하려면 API 페이지에서 API 사용해 보기 템플릿을 사용하세요.
Monitoring의 Knowledge Catalog 서비스 측정항목
Knowledge Catalog 서비스 측정항목은 서비스 상태 모니터링을 용이하게 합니다.
Cloud Billing 내보내기로 Dataplex DCU 비용 모니터링 및 기여도 분석
Knowledge Catalog 데이터 스캔 (자동 데이터 품질 및 데이터 프로파일링 포함)과 데이터 계보는 시계열 측정항목을 Cloud Monitoring에 게시하지 않으므로 Cloud Billing을 BigQuery로 내보내기를 사용하여 프로젝트, 스캔, 데이터 리소스 전반에서 데이터 컴퓨팅 단위 (DCU) 사용량과 비용을 추적, 모니터링, 귀속시킬 수 있습니다.
Dataplex 청구 라벨
Knowledge Catalog는 데이터 스캔 및 데이터 계보에 대해 내보내진 청구 레코드에 시스템 라벨을 자동으로 연결합니다. Cloud Billing 내보내기 테이블의 labels 배열에서 이러한 라벨을 쿼리할 수 있습니다.
| 라벨 키 | 워크로드 | 설명 |
|---|---|---|
goog-dataplex-datascan-id |
데이터 품질, 데이터 프로파일링 | 데이터 스캔의 ID 또는 이름입니다. |
goog-dataplex-datascan-job-id |
데이터 품질, 데이터 프로파일링 | 데이터 스캔 작업의 특정 실행 ID입니다. |
goog-dataplex-datascan-data-source-project |
데이터 품질, 데이터 프로파일링 | 스캔된 데이터 소스가 포함된 Google Cloud 프로젝트입니다. |
goog-dataplex-datascan-data-source-region |
데이터 품질, 데이터 프로파일링 | 스캔된 데이터 소스의 Google Cloud 리전입니다. |
goog-dataplex-datascan-data-source-bigquery-dataset |
데이터 품질, 데이터 프로파일링 | 스캔된 테이블의 BigQuery 데이터 세트 ID입니다. |
goog-dataplex-datascan-data-source-bigquery-table |
데이터 품질, 데이터 프로파일링 | 스캔된 BigQuery 테이블 ID입니다. |
goog-dataplex-datascan-data-source-dataplex-lake |
데이터 품질, 데이터 프로파일링 | Dataplex 레이크 ID (해당하는 경우) |
goog-dataplex-datascan-data-source-dataplex-zone |
데이터 품질, 데이터 프로파일링 | Dataplex 데이터 영역 ID (해당하는 경우)입니다. |
goog-dataplex-datascan-data-source-dataplex-entity |
데이터 품질, 데이터 프로파일링 | Dataplex 엔티티 ID (해당하는 경우)입니다. |
goog-dataplex-datascan-data-source-biglake-catalog |
데이터 품질, 데이터 프로파일링 | BigLake 카탈로그 ID (해당하는 경우) |
goog-dataplex-datascan-data-source-biglake-namespace |
데이터 품질, 데이터 프로파일링 | BigLake 네임스페이스 (해당하는 경우) |
goog-dataplex-datascan-data-source-biglake-table |
데이터 품질, 데이터 프로파일링 | BigLake 테이블 ID (해당하는 경우)입니다. |
goog-dataplex-workload-type |
데이터 계보 | 워크로드를 식별합니다. 데이터 계보 처리 요금의 경우 LINEAGE로 설정됩니다. |
쿼리 예
이 쿼리를 실행하기 전에 Cloud Billing을 BigQuery로 내보내기를 사용 설정했는지 확인합니다. 예시 쿼리에서 다음 자리표시자를 바꿉니다.
PROJECT_ID: BigQuery 결제 내보내기 데이터 세트를 호스팅하는 Google Cloud 프로젝트 ID입니다.DATASET_NAME: 결제 내보내기 테이블이 포함된 BigQuery 데이터 세트의 이름입니다.BILLING_ACCOUNT_ID: Cloud Billing 계정 ID입니다 (밑줄로 형식이 지정됨, 예:012345_567890_ABCDEF).
질문 1: DataScan 및 타겟 테이블별 속성 DCU 비용 및 사용량
이 쿼리는 지난 30일 동안 Dataplex 처리 및 프리미엄 처리 비용을 DataScan ID 및 타겟 BigQuery 테이블별로 집계합니다.
SELECT project.id AS project_id, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-id') AS datascan_id, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-data-source-project') AS data_source_project, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-data-source-bigquery-dataset') AS data_source_dataset, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-data-source-bigquery-table') AS data_source_table, sku.description AS sku_description, SUM(usage.amount) AS total_usage, usage.unit AS usage_unit, SUM(cost) AS total_cost, currency FROM `PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID` WHERE service.description = 'Dataplex' AND EXISTS (SELECT 1 FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-id') AND _PARTITIONDATE >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) GROUP BY project_id, datascan_id, data_source_project, data_source_dataset, data_source_table, sku_description, usage_unit, currency ORDER BY total_cost DESC;
쿼리 2: 워크로드 유형 (계보 vs DataScan)별 Dataplex 비용 속성 지정
이 쿼리는 모든 프로젝트에서 워크로드 카테고리 (예: 데이터 계보와 DataScan)별로 Dataplex SKU 비용을 분류합니다.
SELECT project.id AS project_id, sku.description AS sku_description, COALESCE( (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-workload-type'), IF(EXISTS(SELECT 1 FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-id'), 'DATASCAN', 'OTHER') ) AS workload_type, SUM(usage.amount) AS total_usage, usage.unit AS usage_unit, SUM(cost) AS total_cost, currency FROM `PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID` WHERE service.description = 'Dataplex' AND _PARTITIONDATE >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) GROUP BY project_id, sku_description, workload_type, usage_unit, currency ORDER BY total_cost DESC;
질문 3: DataScan 작업 실행별 일일 DCU 사용량 및 비용 추세
이 쿼리는 지난 7일 동안 개별 DataScan 작업 실행의 일일 DCU 소비량과 비용을 추적합니다.
SELECT DATE(usage_start_time) AS usage_date, project.id AS project_id, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-id') AS datascan_id, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-job-id') AS job_id, SUM(usage.amount) AS total_usage, usage.unit AS usage_unit, SUM(cost) AS total_cost, currency FROM `PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID` WHERE service.description = 'Dataplex' AND EXISTS (SELECT 1 FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-id') AND _PARTITIONDATE >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) GROUP BY usage_date, project_id, datascan_id, job_id, usage_unit, currency ORDER BY usage_date DESC, total_cost DESC;
커스텀 Monitoring 대시보드 빌드
선택한 Knowledge Catalog 서비스 측정항목의 차트를 표시하는 커스텀 Monitoring 대시보드를 빌드할 수 있습니다. 대시보드를 만드는 방법에 대한 자세한 내용은 커스텀 대시보드 만들기 및 관리를 참조하세요. 대시보드에서 위젯 측정항목을 선택할 때 Cloud Dataplex 리소스를 선택한 후 Knowledge Catalog 측정항목을 선택합니다.
Monitoring 알림 사용
Knowledge Catalog 서비스 또는 작업 측정항목이 지정된 기준을 초과할 때 알림을 표시하는 Monitoring 알림을 만들 수 있습니다.
알림 만들기
알림을 만들려면 측정항목 기준점 알림 정책 만들기의 안내를 따르세요.
모니터링할 시계열을 선택할 때 Cloud Dataplex 리소스를 선택한 후 Knowledge Catalog 측정항목을 선택합니다.
알림 보기
측정항목 기준 조건에 의해 알림이 트리거되면 Monitoring에서 이슈 및 해당 이벤트가 만들어집니다.
이슈를 보려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 알림 페이지로 이동합니다.
알림 정책에 이메일 또는 SMS 알림과 같은 알림 메커니즘을 정의하면 Monitoring에서 사고 알림도 전송합니다.
알림에 대한 자세한 내용은 측정항목 기반 알림에 대한 사고를 참조하세요.
다음 단계
- Cloud Monitoring 자세히 알아보기
- BigQuery로 Cloud Billing 내보내기에 대해 알아봅니다.
- 자동 데이터 품질 사용 방법 알아보기
- 데이터 프로파일링을 사용하는 방법 알아보기
- 데이터 계보를 사용하는 방법을 알아보세요.