system.metric_log 시스템 테이블

system.metric_log 시스템 테이블

system.metric_logsystem.metricssystem.events 테이블의 메트릭 값 이력을 주기적으로 디스크에 flush해 저장하는 테이블이에요. 이 테이블은 언제든지 안전하게 truncate 하거나 drop 할 수 있어요.

출처: 문서

본문

ClickHouse Cloud에서의 조회 — 이 시스템 테이블의 데이터는 ClickHouse Cloud에서 각 노드에 로컬로 저장돼요. 따라서 모든 데이터의 완전한 뷰를 얻으려면 clusterAllReplicas 함수가 필요해요. 자세한 내용은 여기 를 참고하세요.

Description

system.metricssystem.events 테이블의 메트릭 값 이력을 포함하며, 주기적으로 디스크로 flush돼요. 이 테이블은 언제든지 안전하게 truncate 하거나 drop 할 수 있어요.

Columns

  • hostname (LowCardinality(String)) — 쿼리를 실행한 서버의 호스트 이름이에요.

  • clickhouse_version (LowCardinality(String)) — 이 행을 만든 ClickHouse 서버의 버전이에요.

  • system_processor (LowCardinality(String)) — 이 행을 만든 ClickHouse 서버의 CPU 아키텍처예요.

  • event_date (Date) — 이벤트 날짜예요.

  • event_time (DateTime) — 이벤트 시간이에요.

  • event_time_microseconds (DateTime64(6)) — 마이크로초 정밀도의 이벤트 시간이에요.

이 외에 이 테이블은 system.events 의 각 ProfileEvent와 system.metrics 의 각 Metric마다 하나씩, 이름이 ProfileEvent_<이름>Metric_<이름> 인 동적 컬럼을 포함해요. 이 컬럼들은 모두 (UInt64) 타입이며, 각각 해당 프로파일 이벤트 또는 메트릭의 값(예: 쿼리 수, 읽기/쓰기 작업 수, 스레드 수 등)을 기록해요. 각 메트릭·이벤트의 의미는 system.eventssystem.metrics 테이블의 설명과 동일해요.

예를 들어 대표적인 컬럼들의 의미는 다음과 같아요:

  • ProfileEvent_Query — 해석되고 잠재적으로 실행될 쿼리 수예요. 파싱에 실패했거나 AST 크기 제한, 쿼터 제한, 동시 실행 쿼리 수 제한으로 거부된 쿼리는 포함되지 않아요. ClickHouse 자체가 시작한 내부 쿼리를 포함할 수 있어요. 하위 쿼리는 계산하지 않아요.

  • ProfileEvent_SelectQueryQuery 와 같지만 SELECT 쿼리만 해당돼요.

  • ProfileEvent_InsertQueryQuery 와 같지만 INSERT 쿼리만 해당돼요.

  • ProfileEvent_InitialQueryQuery 와 같지만 초기 쿼리(is_initial_query 참고)만 계산해요.

  • ProfileEvent_FailedQuery — 내부 및 사용자 쿼리를 포함한 전체 실패 쿼리 수예요.

  • Metric_Query — 해석 중이거나 실행 중인 쿼리 수예요.

  • Metric_MemoryTracking — 서버가 할당한 총 메모리(바이트)예요.

Example

SELECT * FROM system.metric_log LIMIT 1 FORMAT Vertical;

이 쿼리는 각 동적 ProfileEvent/Metric 컬럼의 값을 포함한 하나의 행을 반환해요.

더 알아보기 (Learn more)