ClickHouse服务监控
一、系统表
在ClickHouse System库下的系统表中最要有三张表支撑了ClickHouse运行指标的查询,分别是:metrics、events和asynchronous_metrice。
1、metrics
metrics表用于统计ClickHouse服务在运行时,当前正在执行的概要信息,包括正在执行的查询总次数、正在发生的合并操作总次数等,查询方式如下:
代码语言:javascript复制node1 :) select * from system.metrics limit 5;
2、events
events统计ClickHouse在运行过程中已经执行过的概要信息,包括总的查询次数、总的SELECT查询次数等,该系统表的查询方法如下:
代码语言:javascript复制node1 :) select event,value from system.events limit 5;
3、asynchronous_metrics
asynchronous_metrics用于统计ClickHouse服务运行过程中当前正在后台异步运行的概要信息,包括当前分配的内存、执行队列中的任务数量等。该系统表的查询方法如下:
代码语言:javascript复制node1 :) select * from system.asynchronous_metrics limit 5;
二、查询日志
查询日志重要的目前有3种类型,分别从不同角度记录了ClickHouse的操作行为,ClickHouse会为每种类型的查询日志自动生成相应的系统表以供查询。
1、query_log
query_log是最常用的查询日志,记录了ClickHouse服务中所有已经执行的查询记录。查询方式如下:
代码语言:javascript复制node1 :) select type,concat(substr(query,1,20),'...') as query,read_rows,query_duration_ms as duration from system.query_log limit 5;
2、query_thread_log
query_thread_log系统表记录了所有线程的执行查询信息。查询方式如下:
代码语言:javascript复制node1 :) select thread_name,concat(substr(query,1,20),'...') as query,query_duration_ms as duration,memory_usage as memory from system.query_thread_log limit 6;
3、part_log
part_log日志记录了MergeTree系列表引擎的分区操作日志。查询方式如下:
代码语言:javascript复制node1 :) select event_type as type ,table ,partition_id,event_date from system.part_log desc limit 5;
除了上面介绍的系统表和查询日志之外,ClickHouse还能够与第三方监控系统集成。