ClickHouse 모니터링
exemONE ClickHouse 모니터링 상세 가이드
1. 지원 버전
| 항목 | 버전 |
|---|---|
| exemONE | v3.0.507 이후 지원 |
| ClickHouse | v24.8.6.70 지원 |
- exemONE v3.0.507 이상 버전이 설치되어 있어야 ClickHouse 모니터링이 가능합니다.
- Cloud 모니터링 지원 표에 ClickHouse는 포함되어 있지 않으므로 On-Premise 환경에서의 사용을 기본으로 합니다.
2. 필수 권한
필요 권한
- SELECT, KILL QUERY
권한 부여 SQL
모니터링 계정에 아래 system 테이블에 대한 SELECT 권한을 부여해야 합니다:
grant select on system.events to monitor_user;
grant select on system.merges to monitor_user;
grant select on system.metrics to monitor_user;
grant select on system.mutations to monitor_user;
grant select on system.parts to monitor_user;
grant select on system.part_log to monitor_user;
grant select on system.processes to monitor_user;
grant select on system.query_log to monitor_user;
grant select on system.replicas to monitor_user;
grant select on system.clusters to monitor_user;
grant select on system.text_log to monitor_user;
grant select on system.disks to monitor_user;
grant select on system.distribution_queue to monitor_user;
권한별 용도 요약
| 대상 테이블 | 용도 |
|---|---|
system.events | 서버 이벤트 통계 (OverflowBreak 등) 수집 |
system.merges | 병합(Merge) 이벤트 모니터링 |
system.metrics | 인스턴스 성능 지표 수집 |
system.mutations | Mutation 작업 모니터링 |
system.parts | Part Activity 데이터 수집 |
system.part_log | Part Log 이력 조회 |
system.processes | Active Process 모니터링 |
system.query_log | Query Log 조회 |
system.replicas | 복제 상태 모니터링 |
system.clusters | 클러스터 정보 조회 |
system.text_log | Text Log 조회 |
system.disks | Disk 정보 수집 |
system.distribution_queue | 분산 큐 상태 수집 |
| KILL QUERY | Active Process에서 세션(쿼리) 종료 기능 |
3. 모니터링 확인
Instance Detail Slide
(1) Information

| 항목 | 내용 |
|---|---|
| Agent | Instance Name, Status, Instance Group Name, Agent Version, DB Engine, DB Version, Last Boot Time, Uptime |
| Disk | Disk Name, Path, Disk Usage(%), Free, Total Size |
| Machine | Host Name, Host IP, OS, Kernel Version |
(2) Metric

- Default로 최근 5분 데이터를 표시하며, ClickHouse 인스턴스 지표를 모니터링합니다.
- Overflow Break 지표 확인 시,
system.events테이블의 OverflowBreak 이벤트 수가 있어야 수집이 가능합니다.
(3) Active Process

실행 중인 Active Process 목록을 실시간으로 확인합니다.
| 기능 | 설명 |
|---|---|
| Multi Kill | Grid에서 행을 체크한 후 활성화되며, 실행 중인 Query를 종료 |
| Get | Active Process List 데이터를 가져옴 |
| Filter | Or/And 조건으로 목록 필터링 |
주요 수집 항목: User, Current Database, Address, Port, Elapsed Time, Query, Memory Usage, Peak Memory Usage, Read Rows, Read Bytes, Written Rows, Written Bytes, Query Kind 등
(4) Query Log

Top Query Log List를 조회합니다. 합계/평균 토글 전환이 가능합니다.
주요 수집 항목: Hostname, Current Database, User, Normalized Query Hash, Query, Query Duration, Query Count, CPU Time, Memory Usage, Read Rows, Read Bytes, Result Rows, Result Bytes
(5) Part Activity

테이블별 Part 사용 현황을 확인합니다.
주요 수집 항목: Database, Table, Engine, Active Parts, Inactive Parts, Active Part on Disk
(6) Part Log

Part Log 이력을 조회합니다. config.xml에서 Part Log 설정이 활성화되어야 데이터 수집이 가능합니다.

주요 수집 항목: Event Type (NewPart, MergeParts, DownloadPart, RemovePart, MutatePart, MovePart 등), Merge Reason, Merge Algorithm, Duration, Rows, Size in Bytes 등
(7) Merge Event

병합 이벤트를 실시간 모니터링합니다. Group By 사용 및 합계/평균 토글 전환이 가능합니다.
주요 수집 항목: Database, Table, Source Part Names, Result Part Name, Elapsed Time, Progress(%), Num Parts, Memory Usage, Is Mutation 등
(8) Mutation

Mutation(변이) 작업 현황을 실시간 모니터링합니다.
주요 수집 항목: Mutation ID, Command, Create Time, Parts To Do, Is Done, Is Killed, Latest Failed Part, Latest Fail Reason 등
(9) Replication

복제 상태를 모니터링합니다. 이상 상태인 Replica Info만 필터링하는 토글 기능을 제공합니다.
- Cluster 환경 (clickhouse-0, clickhouse-1 등 replica + zookeeper)이 구성되어 있어야 합니다.
- 비정상적인 상태인 경우에만 목록에 표시됩니다.

주요 수집 항목: Is Leader, Can Become Leader, Zookeeper Path, Queue Size, Merges in Queue, Absolute Delay, Total Replicas, Active Replicas, Lost Part Count 등
(10) Text Log

ClickHouse 내부 Text Log를 조회합니다. 현재 로그 조회 또는 특정 시간 선택 조회가 가능하며, Line 수를 지정하여 추가 조회할 수 있습니다.
주요 수집 항목: Level, Event Time Microseconds, Thread Name, Query ID, Logger Name, Message
(11) Alert

알람 규칙 목록과 최근 발생 Alert 상태를 List View 또는 Bar View 형태로 확인합니다. 현재 발생 중인 Alert만 필터링하는 체크박스를 제공합니다.
(12) Parameter

ClickHouse 인스턴스의 Parameter 목록을 조회합니다. 불러온 시각이 함께 표시됩니다.
(13) Host Process List

DB 서버의 프로세스 목록을 실시간 모니터링합니다. 해당 DB 서버에 Host Agent가 설정되어 있어야 데이터 모니터링이 가능합니다.
주요 수집 항목: PID, PPID, Process Name, Args, User Name, Start Time, CPU(%), Virtual Memory, Real Memory
Top N Analysis
Stacked Area Chart를 활용하여 특정 기간 동안의 Top SQL을 조회하는 기능을 제공합니다.

Search SQL
데이터베이스에서 특정 SQL의 통계정보와 과거 수행 이력 등을 확인하는 화면입니다.

Trend Analysis
날짜 별, 시간 별 성능 추이 확인이 가능한 화면으로, 특정 시점의 정밀한 성능 분석 기능을 제공합니다.

참고 문서: