ClickHouse 实战笔记 第03期:使用 Grafana 展示 ClickHouse 数据

发布时间 - 2025-07-11 00:00:00    点击率:

作者简介

Grafana(https://github.com/grafana/grafana) 是目前比较受欢迎的开源可视化工具,其支持多种数据源,比如 MySQL、Es、PgSQL 以及 ClickHouse 等。这一节内容就来聊聊把 ClickHouse 数据通过 Grafana 进行图形化展示的过程。

1 安装 Grafana

Red Hat、CentOS 系统使用如下方式安装(这一节操作系统使用的是:CentOS 7.4):

代码语言:javascript代码运行次数:0运行复制
wget https://dl.grafana.com/oss/release/grafana-6.5.2-1.x86_64.rpmyum install grafana-6.5.2-1.x86_64.rpm

其他操作系统或者其他版本的安装,请参考官方网站:https://grafana.com/grafana/download。

2 安装 ClickHouse Grafana 插件

使用 grafana-cli 安装 ClickHouse Grafana 插件

代码语言:javascript代码运行次数:0运行复制
grafana-cli plugins install vertamedia-clickhouse-datasource

启动 grafana

代码语言:javascript代码运行次数:0运行复制
systemctl start grafana-server.service
3 准备 ClickHouse

ClickHouse 单机版安装参考:https://clickhouse.tech/docs/zh/getting-started/install/

4 配置 ClickHouse 数据源

登录 Grafana(登录地址为:IP:3000),初始用户名密码为 admin/admin

点击如下按钮进入数据源添加界面:

选择 ClickHouse

如下图,配置 ClickHouse 服务器

点击 Save & Test 按钮,如果出现

Data source is working

则说明连接 ClickHouse 数据源正常

5 创建仪表板

在主页点击最左边 + 号图标,选择 Dashboard,则会出现如下内容:

6 配置图形

上图中,点击 Add Query,进入如下图所示界面:

Query 这里选择刚才添加的数据源,包含 SQL 的框中,替换成你需要在 ClickHouse 查询数据的 SQL,如下图:

上图中的 SQL 为:

代码语言:javascript代码运行次数:0运行复制
select _time,query,round(query_time, 4) AS latency from clicktail.mysql_slow_log where $timeFilter limit 10

其中:$timeFilter 表示右上角选择的时间范围。

细心的朋友其实已经发现啦,其实 clicktail.mysql_slow_log 就是 ClickTail+CH 实现 MySQL 慢查询实时展示中记录慢查询日志的 ClickHouse 表。因此这篇文章加上之前的文章,可以实现一整套慢查询系统。

然后点击左边的第二个图标:Visualization,将 Visualization 改为 Table,如下图所示:

再点击上方的保存按钮。

在该 Dashboard 查看的效果如下图:

到这里,通过 Grafana 展示 ClickHouse 数据整个过程就完成啦。

专栏《ClickHouse 实战笔记》系列文章推荐

第01期:Kafka 数据同步到 ClickHouse

第02期:ClickTail+CH 实现 MySQL 慢查询实时展示


# mysql  # centos  # git  # 操作系统  # 工具  # ai  # red  # JavaScript  # sql  # kafka  # table  # github  # clickhouse  # https  # grafana  # 如下图  # 仪表板  # 所示  # 图中  # 的是  # 这一节  # 第二个  # 受欢迎  # 可以实现 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript常见的五种数组去重的方式  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  如何用PHP快速搭建高效网站?分步指南  郑州企业网站制作公司,郑州招聘网站有哪些?  Laravel如何保护应用免受CSRF攻击?(原理和示例)  如何实现建站之星域名转发设置?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  android nfc常用标签读取总结  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  Laravel如何配置任务调度?(Cron Job示例)  Python文件异常处理策略_健壮性说明【指导】  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Python进程池调度策略_任务分发说明【指导】  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  黑客如何通过漏洞一步步攻陷网站服务器?  Android滚轮选择时间控件使用详解  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  PythonWeb开发入门教程_Flask快速构建Web应用  微信小程序 input输入框控件详解及实例(多种示例)  详解Android中Activity的四大启动模式实验简述  如何快速搭建高效WAP手机网站?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  Swift中switch语句区间和元组模式匹配  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  南京网站制作费用,南京远驱官方网站?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  如何在橙子建站中快速调整背景颜色?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  如何确保FTP站点访问权限与数据传输安全?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  如何生成腾讯云建站专用兑换码?  EditPlus中的正则表达式实战(6)  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  轻松掌握MySQL函数中的last_insert_id()  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?