쿼리 로깅 관련 설정

쿼리 로깅 관련 설정

쿼리 로깅의 동작 방식을 제어하는 설정들이에요. 로깅 활성화, 쿼리 길이 잘라내기, 최소 쿼리 지속 시간, 최소 타입, 샘플링 확률 등을 다룬답니다. 이 설정들은 system.settings 테이블에서 확인할 수 있고 소스 코드에서 자동 생성된 값들이에요.

출처: 문서

본문

이 설정들은 system.settings에서 확인할 수 있고, 소스 코드에서 자동 생성된 값들이에요.

log_queries

쿼리 로깅을 설정해요. 이 설정으로 ClickHouse에 보내진 쿼리는 query_log 서버 구성 파라미터의 규칙에 따라 기록돼요.

예시:

log_queries=1

log_queries_cut_to_length

쿼리 길이가 지정된 임계값(바이트)보다 크면 쿼리 로그에 쓸 때 쿼리를 잘라요. 또한 일반 텍스트 로그에서 출력된 쿼리의 길이도 제한해요.

log_queries_min_query_duration_ms

활성화되면(0이 아닌 경우) 이 설정의 값보다 빠른 쿼리는 기록되지 않아요(MySQL Slow Query Log의 long_query_time으로 생각할 수 있어요). 기본적으로 다음 테이블에서 찾을 수 없다는 뜻이에요:

  • system.query_log
  • system.query_thread_log

다음 타입의 쿼리만 로그에 들어가요:

  • QUERY_FINISH
  • EXCEPTION_WHILE_PROCESSING

타입: milliseconds

기본값: 0(모든 쿼리).

log_queries_min_type

query_log에 기록할 최소 타입이에요.

가능한 값:

  • QUERY_START (=1)
  • QUERY_FINISH (=2)
  • EXCEPTION_BEFORE_START (=3)
  • EXCEPTION_WHILE_PROCESSING (=4)

query_log에 어떤 엔티티가 들어갈지 제한하는 데 사용할 수 있어요. 예를 들어 오류에만 관심이 있다면 EXCEPTION_WHILE_PROCESSING을 사용할 수 있어요:

log_queries_min_type='EXCEPTION_WHILE_PROCESSING'

log_queries_probability

사용자가 query_log, query_thread_log, query_views_log 시스템 테이블에 지정된 확률로 무작위 선택된 쿼리의 샘플만 기록할 수 있게 해요. 초당 많은 양의 쿼리로 부하를 줄이는 데 도움이 돼요.

가능한 값:

  • 0 — 쿼리가 시스템 테이블에 기록되지 않아요.
  • [0..1] 범위의 양의 부동소수점 숫자. 예를 들어 설정 값이 0.5이면 약 절반의 쿼리가 시스템 테이블에 기록돼요.
  • 1 — 모든 쿼리가 시스템 테이블에 기록돼요.

더 알아보기 (Learn more)