system.metric_log 시스템 테이블
system.metric_log 시스템 테이블
system.metric_log 는 system.metrics 및 system.events 테이블의 메트릭 값 이력을 주기적으로 디스크에 flush해 저장하는 테이블이에요. 이 테이블은 언제든지 안전하게 truncate 하거나 drop 할 수 있어요.
출처: 문서
본문
ClickHouse Cloud에서의 조회 — 이 시스템 테이블의 데이터는 ClickHouse Cloud에서 각 노드에 로컬로 저장돼요. 따라서 모든 데이터의 완전한 뷰를 얻으려면 clusterAllReplicas 함수가 필요해요. 자세한 내용은 여기 를 참고하세요.
Description
system.metrics 및 system.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.events 및 system.metrics 테이블의 설명과 동일해요.
예를 들어 대표적인 컬럼들의 의미는 다음과 같아요:
-
ProfileEvent_Query— 해석되고 잠재적으로 실행될 쿼리 수예요. 파싱에 실패했거나 AST 크기 제한, 쿼터 제한, 동시 실행 쿼리 수 제한으로 거부된 쿼리는 포함되지 않아요. ClickHouse 자체가 시작한 내부 쿼리를 포함할 수 있어요. 하위 쿼리는 계산하지 않아요. -
ProfileEvent_SelectQuery—Query와 같지만 SELECT 쿼리만 해당돼요. -
ProfileEvent_InsertQuery—Query와 같지만 INSERT 쿼리만 해당돼요. -
ProfileEvent_InitialQuery—Query와 같지만 초기 쿼리(is_initial_query 참고)만 계산해요. -
ProfileEvent_FailedQuery— 내부 및 사용자 쿼리를 포함한 전체 실패 쿼리 수예요. -
Metric_Query— 해석 중이거나 실행 중인 쿼리 수예요. -
Metric_MemoryTracking— 서버가 할당한 총 메모리(바이트)예요.
Example
SELECT * FROM system.metric_log LIMIT 1 FORMAT Vertical;
이 쿼리는 각 동적 ProfileEvent/Metric 컬럼의 값을 포함한 하나의 행을 반환해요.
더 알아보기 (Learn more)
- system.events — ProfileEvent의 정의와 설명
- system.metrics — Metric의 정의와 설명