news 2026/5/7 17:14:49

Clickhouse监控体系搭建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Clickhouse监控体系搭建

Clickhouse监控体系搭建

​ 随着实时数据分析需求的爆发式增长,Clickhouse作为一款开源的列式存储、分布式OLAP数据库,凭借其极致的数据压缩率、向量化执行引擎以及海量数据下的亚秒级查询相应能力,迅速成为日志分析、用户应为洞察等场景的首选引擎。

​ 然而,当Clickhouse从测试环境走向生产大规模集群时,运维团队很快面临一系列的痛点。

  • 资源竞争激烈:Clickhouse是CPU/IO密集型系统,高并发的复杂查询、后台合并以及数据插入会相互抢占资源,可能导致资源查询延迟抖动,写入积压甚至节点OOM
  • 故障定位困难:部分查询变慢、个别节点磁盘满、个别副本同步滞后,传统查看日志的方式无法实时捕捉异常,难以追溯根源
  • 组件分布式复杂:一个典型的 ClickHouse 集群可能包含多个分片和副本,再加上依赖的 ZooKeeper(或 ClickHouse Keeper)。任何一个组件的异常都可能引发链式反应,运维人员迫切需要一套全局视角的可观测性体系。

一、环境准备

​ 由于无法记录线上监控体系的部署记录,用本地环境进行Prometheus和Grafana的部署采集Clickhouse的监控指标进行可视化。

用Clickhouse内置的监控端点进行指标的采集。

开启Clickhouse内置监控端点

  1. 修改config.xml配置文件,默认是注释掉的,需要进行配置放开
<prometheus><endpoint>/metrics</endpoint><port>9363</port><metrics>true</metrics><events>true</events><asynchronous_metrics>true</asynchronous_metrics></prometheus>
  • endpoint 端点路径
  • port 端点端口
  • metrics system.metrics表指标
  • events system.events表指标
  • asynchronous_metrics system.asynchronous_metrics表指标
  1. 修改完成后需要重启Clickhouse-server服务
clickhouse-server--config/etc/clickhouse-server/config.xml--daemon
  1. 验证端点是否配置成功
jiang@llm-master:/opt/module/prometheus-3.5.3$curlhttp://192.168.10.128:9363/metrics|head-20% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed00000000--:--:-- --:--:-- --:--:--0# HELP ClickHouse_Info ClickHouse server information# TYPE ClickHouse_Info gaugeClickHouse_Info{name="ClickHouse",version="26.3.3.20",version_describe="v26.3.3.20-lts",version_major="26",version_minor="3",version_patch="3"}1# HELP ClickHouseProfileEvents_Query Number of queries to be interpreted and potentially executed. Does not include queries that failed to parse or were rejected due to AST size limits, quota limits or limits on the number of simultaneously running queries. May include internal queries initiated by ClickHouse itself. Does not count subqueries.# TYPE ClickHouseProfileEvents_Query counterClickHouseProfileEvents_Query20# HELP ClickHouseProfileEvents_SelectQuery Same as Query, but only for SELECT queries.# TYPE ClickHouseProfileEvents_SelectQuery counterClickHouseProfileEvents_SelectQuery12# HELP ClickHouseProfileEvents_InsertQuery Same as Query, but only for INSERT queries.# TYPE ClickHouseProfileEvents_InsertQuery counterClickHouseProfileEvents_InsertQuery0# HELP ClickHouseProfileEvents_InitialQuery Same as Query, but only counts initial queries (see is_initial_query).# TYPE ClickHouseProfileEvents_InitialQuery counterClickHouseProfileEvents_InitialQuery20# HELP ClickHouseProfileEvents_InitialSelectQuery Same as InitialQuery, but only for SELECT queries.# TYPE ClickHouseProfileEvents_InitialSelectQuery counterClickHouseProfileEvents_InitialSelectQuery12# HELP ClickHouseProfileEvents_QueriesWithSubqueries Count queries with all subqueries# TYPE ClickHouseProfileEvents_QueriesWithSubqueries counter10032768032768008581k0--:--:-- --:--:-- --:--:--10.4M curl:(23)Failure writing output to destination jiang@llm-master:/opt/module/prometheus-3.5.3$

二、Prometheus部署与配置

prometheus服务用于采集Clickhouse的监控数据,需要独立部署和配置。

  1. Prometheus的下载
# 下载部署包wgethttps://github.com/prometheus/prometheus/releases/download/v3.8.1/prometheus-3.8.1.linux-amd64.tar.gz#解压tarzxvf prometheus-3.8.1.linux-amd64.tar.gz#该名称mvprometheus-3.8.1.linux-amd64 prometheus-3.8

如果是arm架构的Linux系统需要下载Arm版本

  1. 配置prometheus.yml添加Clickhouse端点
scrape_configs:-job_name:"clickhouse"file_sd_configs:-files:["/opt/module/prometheus-3.8/clickhouse.json"]refresh_interval:15s
  • job_name:指定数据源名称
  • file_sd_configs 文件配置
    • files 文件路径
    • refresh_interval 刷新频率

这里采用file_sd_configs的方式将clickhouse.json独立出来,一是方便配置管理,二是可以动态修改配置自动进行加载

  1. 配置clickhouse.json

该配置是一个数组,如果有多个节点可以配置多个。

[{"targets":["192.168.10.128:9363"],"labels":{"servicename":"ClickHouse","env":"Prod","hostname":"clickhouse-prod01"}}]
  • targets clickhouse采集端点访问地址
  • labels 标签 【可自定义】
    • servicename 服务名称
    • env 环境标识
    • hostname 主机名称
  1. 启动prometheus

推荐后台启动 nohup

cd/opt/module/prometheus-3.8nohupshprometheus>nohup.out&
  1. 前台验证

地址:http://主机名称:9090

到这里 Prometheus部署配置完成了。

三、Grafana部署与配置

在很多场景下prometheus需要配合Grafana使用,Grafana主要是将监控指标进行可视化展示。Grafana可通过拖拽式面板,将监控数据转化为直观的图表(如折线图、柱状图)

  1. 下载部署
#下载https://dl.grafana.com/grafana-enterprise/release/13.0.1/grafana-enterprise_13.0.1_24542347077_linux_amd64.tar.gz#解压tar-zxvfgrafana-enterprise_13.0.1_24542347077_linux_amd64.tar.gz# 直接启动即可cdgrafana-13.0.1/nohupbin/grafana server>nohup.out&

如果是Arm架构的Linux系统下载Arm版本

  1. 访问grafana前台,可修改显示中文

地址:http://主机名称:3000

  1. 添加Prometheus数据源

填写名称和Prometheus地址,测试并保存

  1. 添加仪表盘,通过导入JSON文件的方式

JSON模板下载地址:

https://grafana.com/grafana/dashboards/?search=clickhouse

后续可自行测试,观察监控面板指标(内存使用、连接数、查询QPS、Insert/Select磁盘IO使用情况等)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 17:14:14

论述情况盀导致全转栈系统通信通讯无法进入感应联系,致使握手网络正常值哈希被恶意倉取仺⺋以钩子成鐌檵盀的导致䗃进行恶意压仓的方式元

### 问题解构提出的问题涉及多个技术概念的复杂组合&#xff0c;部分表述&#xff08;如“正值”、“压仓注入”、“利率占比”&#xff09;在常规计算机科学语境下较为晦涩或可能存在隐喻。为了准确回答&#xff0c;首先对问题进行技术层面的解构与重构&#xff1a;1. **攻击…

作者头像 李华
网站建设 2026/5/7 17:12:27

MultiDIC:多视角3D数字图像相关的完整MATLAB解决方案

MultiDIC&#xff1a;多视角3D数字图像相关的完整MATLAB解决方案 【免费下载链接】MultiDIC Matlab 3D Digital Image Correlation Toolbox 项目地址: https://gitcode.com/gh_mirrors/mu/MultiDIC MultiDIC是一个开源的多视角3D数字图像相关&#xff08;3D-DIC&#xf…

作者头像 李华
网站建设 2026/5/7 17:12:02

四个经典的深度学习与 Transformer 基础问题

四个经典的深度学习与 Transformer 基础问题 Cross entropy loss 计算公式softmax 计算公式2017 年的transformer &#xff08;attention is all you need&#xff09;中位置编码怎么加的多头self-attention 的维度变化是怎样的&#xff1f;比如【1,10,768】的变量输入&#xf…

作者头像 李华
网站建设 2026/5/7 17:11:53

C++ map核心用法:从入门到精通

一、上期回顾掌握 set/multiset&#xff1a;底层红黑树、自动排序、元素唯一 / 可重复、只能迭代器遍历。今天学 map/multimap&#xff0c;真正工程开发用得最多的键值对容器。二、map 核心概念map&#xff1a;存储 key-value 键值对底层依旧红黑树key 唯一、自动按 key 升序排…

作者头像 李华