clickhouse官方文档_clickhouse分析:结合grafana和metabase完成监控和数据分析
点击上方蓝字关注我们
“ 关于clickhouse的监控和可视化界面,想必刚接触到ch的人是一头雾水,大厂往往会给ch集群定制各种监控和可视化分析,普通用户就需要我们自己寻求现成的开源工具,在一些常见的开源工具上,我们可以较好的使用和定制我们想要展示的内容。本文从grafana和metabase两个组件出发,分析了其安装和配合ch使用的过程。”
grafana
安装
下载安装,见[1][2],ch需要注意下载插件并解压到插件目录即可。
使用
可以直接导入json来完成clickhouse的看板的生成。
常用的看板
ClickHouse Queries
该看板要开启clickhouse的log配置才可以使用,其它的看板也有和其它监控工具结合完成的。
<log_queries>1log_queries>
大部分的监控都是基于system下的query_log,events和metrics等表完成的。
我们也可以自己定制一些个性化的SQL展示出来,在这一点上与Metabase有点相似。
Metabase
安装
之前笔者也分析过一些关于metabase的安装等文章,所以对metabase比较熟悉,在得知其也支持clickhouse时,当然也是赶紧试用一下。除了metabase,业界使用的最多的是superset工具来做ch的数据分析可视化操作。
jar安装
java -jar metabase.jar
由于metabase默认没有clickhouse驱动,我们需要在额外添加该插件,如果你已经启动过metabase,会发现当前目录有plugins,将driver放入重启即可。(注意插件与metabase版本的对应关系,不然会出现一些使用异常,不然会出现如下异常)
No method in multimethod 'connection-details->spec' for dispatch value: :clickhouse
根据参考文章中的一些提示可以使用变量指定启动的端口号等配置:
export MB_JETTY_PORT=8080
出现如下异常:Distinct, non-empty sequence of Field clauses
这里出现的原因主要是metabase没有扫描完成我们的库,因为metabase需要把我们库中的字段等信息存储起来,没有扫描完成自然就没办法展示数据,笔者使用0.35版本无法扫描完成,更新到0.36版本才正常显示(若依然不能正常显示可在管理页面重新触发扫描)。
docker安装
docker命令:
docker run -d -p 3000:3000 --name metabase metabase/metabase
挂载clickhouse-driver的启动:
docker run -d -p 3000:3000 \ --mount type=bind,source=/path/to/plugins,destination=/plugins \ --name metabase metabase/metabase123
配置
添加一个数据库:
一些case
简单的表test_zookeeper(之前测试使用的表),结合官方文档的测试sql,完成几个场景的构建,建表语句:
CREATE TABLE default.test_zookeeper( `Id` Int32, `Code` Int32, `Type` String) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{layer}-{shard}/default_test_zookeeper', '{replica}') PARTITION BY Code ORDER BY (Id, Code) SETTINGS index_granularity = 8192;12345678
- 求相同code下的最大id趋势图
- 官方的一些分析
首先是当前表的count数,Code Test Zookeeper为Code出现的次数图,Type Test Zookeeper为Type出现的次数图。
- 求Code为2020-2021之间出现的条目次数:
select Code,count(Type) as count from test_zookeeper where Code between 2020 and 2021 group by Code ;1
- 求Code大于2020,Type中字符出现的次数的排行:
select Type, count(*) as count from test_zookeeper where Code > 2020 group by Type order by count(*) desc;1
参考文章
- grafana-clickhouse插件: https://grafana.com/grafana/plugins/vertamedia-clickhouse-datasource
- grafana官方:https://grafana.com/
- grafana-clickhouse相关看板:https://grafana.com/grafana/dashboards?search=clickhouse
- ClickHouse datasource for Grafana 4.6+:https://github.com/Vertamedia/clickhouse-grafana
- metabase:https://www.metabase.com/ https://downloads.metabase.com/v0.36.0/metabase.jar
- metabase挂载clickhouse数据源:https://blog.csdn.net/jiangshouzhuang/article/details/103917772
- metabase-clickhouse-driver: https://github.com/enqueue/metabase-clickhouse-driver
- 开源metabase安装:https://www.jianshu.com/p/2ae75635d237
end
如果您想了解更多有关深度学习、机器学习、java开发、大数据等知识,欢迎关注我们的公众号,我会整理分享关于这些的有趣文章。
clickhouse官方文档_clickhouse分析:结合grafana和metabase完成监控和数据分析相关推荐
- clickhouse官方文档_clickhouse分析:zookeeper减压概述
点击上方蓝字关注我们 " 使用复制表之后,随着数据量的增加,zookeeper是瓶颈?这个问题估计任何一个对ch关注的人都会看到,当然解决这个问题是需要花费较大精力的.本次我主要想分享ch官 ...
- clickhouse官方文档_clickhouse分析:chproxy使用
点击上方蓝字关注我们 " 什么是chproxy?从名字就能了解ch代表clickhouse,proxy为代理,即专为clickhouse使用的代理.在clickhouse集群中,每一台机器都 ...
- clickhouse官方文档_ClickHouse和他的朋友们(1)编译、开发、测试
一次偶然的机会,和ClickHouse团队做了一次线下沟通,Alexey提到ClickHouse的设计哲学: The product must solve actual problem And do ...
- clickhouse分析:结合grafana和metabase完成监控和数据分析
前言:关于clickhouse的监控和可视化界面,想必刚接触到ch的人是一头雾水,大厂往往会给ch集群定制各种监控和可视化分析,普通用户就需要我们自己寻求现成的开源工具,在一些常见的开源工具上,我们可 ...
- ClickHouse 官方文档摘录
数据库创建: 延时引擎: 1 CREATE DATABASE testlazy ENGINE = Lazy(expiration_time_in_seconds); mysql引擎: 1 CREATE ...
- np.unique()官方文档分析以及举例
np.unique()官方文档分析以及举例 1.1 官方文档及解读 numpy.unique 语法:numpy.unique(ar, return_index=False, return_invers ...
- oracle txn,【学习笔记】ORACLE分布式事务故障的处理 结合MOS官方文档分析
[学习笔记]ORACLE分布式事务故障的处理 结合MOS官方文档分析 时间:2016-10-25 10:59 来源:Oracle研究中心 作者:HTZ 点击: 次 天萃荷净 Oracle研 ...
- python-66:BS4实例--下载BS4官方文档
2019独角兽企业重金招聘Python工程师标准>>> 前面已经对BS4有了简单的认识和讲解,该讲的都讲了,原本也已经想好了一个实例,但是现在想往后推一推,因为我实在受不了了,我们前 ...
- 《Redis官方文档》用Redis构建分布式锁
<Redis官方文档>用Redis构建分布式锁 用Redis构建分布式锁 在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段. 有很多三方库和文章描述如何用Redis实现 ...
最新文章
- 比特币现金成为第二个最有价值的区块链
- 【 FPGA 】MATLAB 生成 FIR 滤波器的操作步骤(包括生成Verilog HDL代码以及仿真过程)
- tf.sign和tf.reduce_sum
- iOS数据存储简要笔记
- ginkgo测试介绍
- java使用集合存储过程_详解java调用存储过程并封装成map
- 全国计算机三级哪个容易一点,给考三级网络的朋友们一点儿真诚的建议
- 嵌套循环连接,哈希连接,排序合并连接(2015-2-4学习日记)
- nosql-redis学习 数据类型
- 安卓入门系列-03安卓的开发方式(逻辑与视图分离)
- 解决VS2013或2017中类似于:error C4996: 'scanf': This function or variable may be unsafe的问题
- ip别名及其在tcp压力测试时候的作用
- float 最小误差_关于float与double结果的误差
- [Python] L1-038. 新世界 团体程序设计天梯赛GPLT
- 使用RouteDebugger对MVC路由进行调试
- 修改mysql默认字符集为latin1_修改MYSQL默认编码为UTF8
- nmap命令的安装及用法
- vos怎样能快速安装VOS3000
- numpy中np.nan(pandas中NAN)
- 【许晓笛】49行代码就能发币?而且EOS连例子都给你了
热门文章
- 冲击波病毒攻击-《截获网站服务器数据》
- php redis并发读写,PHP使用Redis实现防止大并发下二次写入的方法
- java 手机网站 cookie操作_java操作cookie问题
- 函数传参字典_Python 函数中的 4 种参数类型
- 工业交换机常见问题汇总!
- POE交换机技术及优势介绍
- [渝粤教育] 中国地质大学 国际贸易理论 复习题 (2)
- 【渝粤教育】广东开放大学 大学英语1 形成性考核 (43)
- 【渝粤题库】陕西师范大学151203 初级会计学作业(笔试题型)
- 【渝粤题库】国家开放大学2021春3620矿井火灾防治题目