BI Engine 모니터링
BigQuery BI Engine은 Google Cloud 서비스와 호환되어 BI Engine 사용을 모니터링하고 문제를 해결하는 데 도움이 됩니다. BigQuery BI Engine 가속을 사용한 Looker Studio는 INFORMATION_SCHEMA, 실행 그래프,Cloud Monitoring 측정항목을 포함해 BigQuery 모니터링에서 완벽하게 지원됩니다.
Cloud Monitoring
BigQuery BI Engine은 Cloud Monitoring과 통합되므로 집계된 BI Engine 사용을 모니터링하고 알림을 구성할 수 있습니다. Monitoring을 사용하여 BI Engine 측정항목에 대한 대시보드를 만드는 자세한 방법은 Monitoring 문서의 차트 만들기를 참조하세요.
BigQuery BI Engine에는 다음 측정항목이 제공됩니다.
리소스 | 측정항목 | 세부정보 |
---|---|---|
BigQuery 프로젝트 | 예약 총 바이트 | 하나의 Google Cloud 프로젝트에 할당된 총 용량 |
BigQuery 프로젝트 | 예약 사용된 바이트 | 하나의 Google Cloud 프로젝트에 사용된 총 용량 |
BigQuery 프로젝트 | BI Engine 상위 테이블 캐시 바이트 | 테이블당 캐시 사용량입니다. 이 측정항목은 리전 보고서 사용량당 상위 N개 테이블을 표시합니다. |
Cloud Monitoring을 사용하여 BI Engine에서 캐시한 Looker Studio 데이터 소스의 트래픽을 볼 수 있습니다. 사용 가능한 Google Cloud 측정항목의 전체 목록은 Google Cloud 측정항목을 참조하세요.
Looker Studio BigQuery 기본 통합은 모델별 측정항목을 제공하지 않습니다. 대신 BigQuery API 모니터링을 사용하여 INFORMATION_SCHEMA 테이블에 데이터 소스와 보고서 ID를 노출합니다.
BI Engine의 쿼리 통계
이 섹션에서는 BI Engine 사용을 모니터링, 진단, 문제 해결하는 데 도움이 되는 쿼리 통계를 찾는 방법을 설명합니다.
BI Engine 가속 모드
BI Engine 가속을 사용 설정하면 다음 네 가지 모드 중 하나에서 쿼리를 실행할 수 있습니다.
BI_ENGINE_DISABLED |
BI Engine이 가속을 사용 중지했습니다.
biEngineReasons 는 좀 더 자세한 이유를 지정합니다. 쿼리는 BigQuery 실행 엔진을 사용하여 실행되었습니다. |
PARTIAL_INPUT |
BI Engine을 사용하여 쿼리 입력의 일부를 가속화했습니다.
쿼리 최적화 및 가속에 설명된 대로 쿼리 계획은 일반적으로 여러 입력 단계로 나뉩니다. BI Engine은 일반적으로 대시보드에 사용되는 일반적인 유형의 서브 쿼리 패턴을 지원합니다. 쿼리가 여러 입력 단계로 구성된 경우 그중 일부만 지원되는 사용 사례에 포함되고, BI Engine이 가속 없이 일반 BigQuery 엔진을 사용해서 지원되지 않는 단계를 실행합니다. 이 경우 BI Engine은 PARTIAL 가속 코드를 반환하고 biEngineReasons 를 사용하여 다른 서브 쿼리를 가속화하지 않는 이유를 입력합니다. |
FULL_INPUT |
BI Engine을 사용하여 쿼리의 모든 입력 단계를 가속화했습니다. |
FULL_QUERY |
BI Engine을 사용하여 전체 쿼리를 가속화했습니다. |
BigQuery API 작업 통계 보기
BI Engine에 대한 자세한 통계는 BigQuery API를 통해 확인할 수 있습니다.
BI Engine 가속 쿼리와 관련된 통계를 가져오려면 다음 bq 명령줄 도구 명령어를 실행합니다.
bq show --format=prettyjson -j job_id
프로젝트가 BI Engine 가속에 사용 설정된 경우 출력에 새 필드 biEngineStatistics
가 생성됩니다. 다음은 샘플 작업 보고서입니다.
"statistics": {
"creationTime": "1602175128902",
"endTime": "1602175130700",
"query": {
"biEngineStatistics": {
"biEngineMode": "DISABLED",
"biEngineReasons": [
{
"code": "UNSUPPORTED_SQL_TEXT",
"message": "Detected unsupported join type"
}
]
},
BiEngineStatistics
필드에 대한 자세한 내용은 작업 참조를 확인하세요.
BigQuery INFORMATION_SCHEMA 통계
BI Engine 가속 통계는 BigQuery INFORMATION_SCHEMA
뷰에 bi_engine_statistics
열 INFORMATION_SCHEMA.JOBS_BY_*
뷰의 일부로 포함됩니다.
예를 들어 이 쿼리는 지난 24시간 동안의 모든 현재 프로젝트 작업에 대한 bi_engine_statistics
를 반환합니다.
SELECT
creation_time,
job_id,
bi_engine_statistics
FROM
`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE
creation_time BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
AND CURRENT_TIMESTAMP()
AND job_type = "QUERY"
INFORMATION_SCHEMA
뷰에서 project-id
, region
, views
의 리전성을 지정하려면 다음 형식을 사용하세요.
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.VIEW
Looker Studio INFORMATION_SCHEMA 세부정보 보기
INFORMATION_SCHEMA.JOBS
뷰를 보고 BigQuery에서 사용되는 Looker Studio 보고서와 데이터 소스를 추적할 수 있습니다.
BigQuery 기반 통합이 사용 설정되면 모든 Looker Studio 쿼리가 report_id
및 datasource_id
라벨이 있는 항목을 만듭니다. 이 ID는 보고서 또는 데이터 소스 페이지를 열 때 Looker Studio URL 끝에 표시됩니다.
예를 들어 URL이 https://lookerstudio.google.com/navigation/reporting/my-report-id-123
인 보고서의 보고서 ID는 "my-report-id-123"
입니다.
다음 예는 보고서 및 데이터 소스를 보는 방법을 보여줍니다.
각 Looker Studio BigQuery 작업의 보고서 및 데이터 소스 URL 찾기
-- Standard labels used by Looker Studio. DECLARE requestor_key STRING DEFAULT 'requestor'; DECLARE requestor_value STRING DEFAULT 'looker_studio'; CREATE TEMP FUNCTION GetLabel(labels ANY TYPE, label_key STRING) AS ( (SELECT l.value FROM UNNEST(labels) l WHERE l.key = label_key) ); CREATE TEMP FUNCTION GetDatasourceUrl(labels ANY TYPE) AS ( CONCAT("https://lookerstudio.google.com/datasources/", GetLabel(labels, 'looker_studio_datasource_id')) ); CREATE TEMP FUNCTION GetReportUrl(labels ANY TYPE) AS ( CONCAT("https://lookerstudio.google.com/reporting/", GetLabel(labels, 'looker_studio_report_id')) ); SELECT job_id, GetDatasourceUrl(labels) AS datasource_url, GetReportUrl(labels) AS report_url, FROM `region-us`.INFORMATION_SCHEMA.JOBS jobs WHERE creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND GetLabel(labels, requestor_key) = requestor_value LIMIT 100;
보고서 및 데이터 소스를 사용하여 생성된 작업 보기
-- Specify report and data source id, which can be found in the end of Looker Studio URLs. DECLARE user_report_id STRING DEFAULT '*report id here*'; DECLARE user_datasource_id STRING DEFAULT '*datasource id here*'; -- Standard labels Looker Studio uses in native integration. DECLARE requestor_key STRING DEFAULT 'requestor'; DECLARE requestor_value STRING DEFAULT 'looker_studio'; DECLARE datasource_key STRING DEFAULT 'looker_studio_datasource_id'; DECLARE report_key STRING DEFAULT 'looker_studio_report_id'; CREATE TEMP FUNCTION GetLabel(labels ANY TYPE, label_key STRING) AS ( (SELECT l.value FROM UNNEST(labels) l WHERE l.key = label_key) ); SELECT creation_time, job_id, FROM `region-us`.INFORMATION_SCHEMA.JOBS jobs WHERE creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND GetLabel(labels, requestor_key) = requestor_value AND GetLabel(labels, datasource_key) = user_datasource_id AND GetLabel(labels, report_key) = user_report_id ORDER BY 1 LIMIT 100;
Cloud Logging
Google Cloud 콘솔의 Cloud Logging 페이지에서 BI Engine에 대한 로그 정보를 볼 수 있습니다. BI Engine에 대한 로그 정보를 보는 방법은 데이터를 쿼리하는 도구에 따라 다릅니다.
- Looker Studio 기본 통합이 사용 설정되지 않은 Looker Studio 쿼리의 경우:
protoPayload.serviceName="bigquerybiengine.googleapis.com"
페이로드로 Cloud Logging 페이지에서 로그 정보를 볼 수 있습니다. - 다른 모든 트래픽의 경우:
protoPayload.serviceName="bigquery.googleapis.com"
의 페이로드로 Cloud Logging 페이지에서 로그 정보를 볼 수 있습니다
다음 단계
- Cloud Monitoring 자세히 알아보기
- Monitoring 차트 자세히 알아보기
- Monioring 알림 자세히 알아보기
- Cloud Logging에 대해 자세히 알아보기