监控方案选型
这是官网给出的方案
一般常见的方案为Prometheus+clickhouse_exporter+Grafana已有大佬实现https://blog.csdn.net/lms1719/article/details/88864567
优点:已经写好的数据采集程序还有对应的Dashboards,直接配置即可监控集群
缺点:不仅要安装Prometheus还要安装clickhouse_exporter,尤其是clickhouse_exporter自己编译非常麻烦,如果不编译直接用还需要安装go环境和docker,成本较高
所以这里我们选择Grafana+Clickhouse Data Source
实现
下载安装
一共要下载三个东东,安装很简单照着官网直接干这里不再赘述
Grafana:https://grafana.com/grafana/download
Clickhouse Data Source:https://grafana.com/plugins/vertamedia-clickhouse-datasource
ClickHouse Queries:https://grafana.com/dashboards/2515
配置clickhouse data source
导入数据源
填写对应配置
创建集群监控表
监控主要是查询query_log,而我们需要监控的是整个集群,所以我们要给query_log表创建分布式表
CREATE TABLE system.query_log_all AS system.query_log ENGINE = Distributed(集群名称, system, query_log );
然后将下载好的ClickHouse Queries打开,将其中的query_log全部替换为query_log_all,一共18个
导入Dashboards
选择修改好的json文件 然后load
点击Dashboards,出现对应的仪表盘
到此grafana监控配置完毕