前言
我们往往需要关心数据库的查询执行情况,特别是慢查询。本文简述配置ClickHouse查询监控的一种傻瓜方法。
开启查询日志
打开各个ClickHouse实例的users.xml,在当前使用的profile(如default)中加入:
vim /etc/clickhouse-server/users.xml
#添加以下内容
<log_queries>1</log_queries>
再去各个ClickHouse实例的config.xml中检查一下查询日志的配置,以下是默认启用的配置:
[root@dbos-bigdata-test005 ~]# vim /etc/clickhouse-server/config.xml
以下都是默认配置
<query_log>
<database>system</database>
<table>query_log</table>
<partition_by>toYYYYMM(event_date)</partition_by>
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
</query_log>
<trace_log>
<database>system</database>
<table>trace_log</table>
<partition_by>toYYYYMM(event_date)</partition_by>
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
</trace_log>
<query_thread_log>
<database>system</database>
<table>query_thread_log</table>
<partition_by>toYYYYMM(event_date)</partition_by>
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
</query_thread_log>
其中,partition_by表示查询日志表的分区列,语法与普通建表时相同,默认按月分区。flush_interval_milliseconds则表示日志刷入表中的周期,默认7.5秒。按需修改后,重启ClickHouse实例,就会自动在system库中创建对应的系统表,并写数据。
重启clickhouse-server的服务
sudo systemctl restart clickhouse-server
下载、安装、启动Grafana
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.2.5-1.x86_64.rpm
yum -y localinstall grafana-enterprise-8.2.5-1.x86_64.rpm
systemctl start grafana-server
访问<grafana_ip>:3000即可。
安装与添加ClickHouse DataSource
方法1:
ClickHouse DataSource是由Vertamedia开发的第三方插件(这家公司也开源了负载均衡组件CHProxy)。直接用grafana-cli安装之。
grafana-cli plugins install vertamedia-clickhouse-datasource
方法2:
点击添加数据源,搜clickhouse,点击install即可
添加数据源
如果以上有密码,要点击Basic auth
点击save即可
配置Grafana Dashboard
添加模板
模板下载地址
https://grafana.com/grafana/dashboards/2515
点击immort
点击Upload JSON file
选择对应的json模板
因为我导入过了,所以以下图片会出现红色
选择clickhouse数据源