最新要闻
- 逆水寒踏雪寻梅任务怎么做 踏雪寻梅任务完成攻略
- 万华化学千吨级乙烯精馏塔提前交付,二期项目将打破POE国外技术垄断
- 广州酒家(603043)8月1日主力资金净卖出20.68万元
- 中期汇报展成果 名师引领促发展
- 防范儿童溺水须织密安全网
- 市监总局约谈四家生猪养殖企业,涉事企业:立即整改
- 河北涿州:截至今日10时受灾人数133913人,无死亡
- 赛力斯:7月赛力斯汽车销量同比下降45.69%
- 东方环宇: 截至2023年7月31日,公司的股东人数为12474
- 夏令营爆发手足口病:这个“赚快钱”的江湖该管管了
- 韩国研发全球首个常温超导 美顶尖实验室研究称理论可行!美公司股价秒翻倍
- 6.88mm超薄5G直屏!Hi nova 11图赏:全新的11号色
- 首发499元 小米发布米家智能电烤箱40L:2000W大功率
- 不愧是大众相中的车企!小鹏7月交付11008台:G6扛起大旗
- 搭载智能化和场景化配置 银河L6更多信息曝光 比亚迪秦PLUS还香不香
- 这就是中国军人!
手机

浙江湖州:志愿者助农忙抢收

私家车雨中抛锚,济南公交司机和市民齐伸援手
- 浙江湖州:志愿者助农忙抢收
- 私家车雨中抛锚,济南公交司机和市民齐伸援手
- 营业执照年报不报会怎么样_营业执照年报
- 新增产能压力大 聚丙烯需求未见实质好转
- 全国青少年足球联赛双阳赛区开赛
- 【青听·两岸】跨越海峡的善举 台青萧家曜在大陆做无声世界的“桥梁”
家电
统一观测|借助 Prometheus 监控 ClickHouse 数据库
引言
ClickHouse 作为用于联机分析(OLAP)的列式数据库管理系统(DBMS), 最核心的特点是极致压缩率和极速查询性能。同时,ClickHouse 支持 SQL 查询,在基于大宽表的聚合分析查询场景下展现出优异的性能。因此,获得了广泛的应用。本文旨在分享阿里云可观测监控 Prometheus 版对开源 ClickHouse 的监控实践。
一、ClickHouse 简介
(一)技术特点
- 列式存储与数据压缩:
在执行数据查询时,列式存储可以减少数据扫描范围和数据传输大小,提高数据查询的效率。
(相关资料图)
- 完备的 DBMS 功能
- DDL (数据定义语言):可以动态地创建、修改或删除数据库、表和视图,而无须重启服务;
- DML(数据操作语言):可以动态查询、插入、修改或删除数据。
- 权限控制:
可按照用户粒度设置数据库或表的操作权限,保障数据安全性。
- 数据备份与恢复
提供数据备份导出与导入恢复机制,满足生产环境要求。
- 分布式管理
提供集群模式,自动管理多个数据库节点。
(二)ClickHouse 典型适用场景
- 复杂查询聚合的 OLAP 场景;
- 需要支持稳定大量数据写入;
- 不需要高频查询;
- 不需要高级 DBMS 功能,如事务性;不需要经常很复杂的表间操作,比如 join 操作。
(三)ClickHouse 核心概念
- ClickHouse 集群(Cluster)
在物理构成上,ClickHouse 集群是由多个 ClickHouse Server 实例组成的分布式数据库。这些 ClickHouse Server 根据规格的不同可以包含 1 个或多个副本(Replica)、1 个或多个分片(Shard)。在逻辑构成上,一个ClickHouse 集群可以包含多个数据库(Database)对象。
- 分片(Shard)
在超大规模海量数据处理场景下,单台服务器的存储、计算资源会成为瓶颈。为了进一步提高效率,ClickHouse 将海量数据分散存储到多台服务器上,每台服务器只存储和处理海量数据的一部分,在这种架构下,每台服务器被称为一个分片(Shard)。
- 副本(Replica)
为了在异常情况下保证数据的安全性和服务的高可用性,ClickHouse 提供副本机制,将单台服务器的数据冗余存储在2台或多台服务器上。
- 数据库(Database)
数据库是云数据库 ClickHouse 集群中的最高级别对象,内部包含表(Table)、列(Column)、视图(View)、函数、数据类型等。
- 表(Table)
表是数据的组织形式,由多行、多列构成。
二、ClickHouse Metrics 监控参考模型
我们从 Metrics 采集、监控大盘、告警规则等三个方面定义 ClickHouse Metrics 监控的参考模型,以便实现监控闭环。
(一)Metrics 采集
- 主机节点监控即硬件资源(Node-Exporter)
- 处理器、内存负载;
- 磁盘存储;
- ClickHouse 服务指标监控(集成进 ClickHouse-Exporter)
- 系统指标(metrics): system.metrics 表用于统计 ClickHouse 服务在运行时,当前正在执行的高层次的概要信息,包括了正在执行的查询总次数、正在发生的合并操作总次数等。具体指标通过执行
select * from system.metrics
; - 系统事件(events):system.events 用于统计 ClickHouse 服务在运行过程中已经执行过的高层次的 累积概要信息,包括查询总次数、 SELECT 查询总次数等,具体指标通过执行查询
select * from system.events
--> 64个指标; - 系统异步指标(asynchronous_ metrics):asynchronous_metrics 用于统计 ClickHouse 服务运行过程时,当前正在后台 异步运行的高层次的概要信息,包括当前分配的内存、执行队列中的任务数量等。 具体指标通过执行查询
select * from system.asynchronous_metrics
--> 500个指标; - 查询日志:查询日志目前主要有6种类型,所有查询日志在默认配置下都是关闭状态,需要在 config.xml文件配置,开启日志后可以到对应的日志表进行日志查询
system.query_log
。
- 系统指标(metrics): system.metrics 表用于统计 ClickHouse 服务在运行时,当前正在执行的高层次的概要信息,包括了正在执行的查询总次数、正在发生的合并操作总次数等。具体指标通过执行
(1)主机节点监控
该部分指标主要来源于 Node-Exporter , 提供集群/ ECS 节点 CPU、内存、磁盘、inode 等监控指标。
(2)ClikcHouse 服务指标
ClikckHouse 内置 Metrics、events 和 asynchronous_metrics 三张系统表用于存放其监控指标,通过预先安装 clickhouse-exporter 将这三张系统表中的数据转化、发送给阿里云可观测监控 Prometheus 版。
⚠️注意: 以上列出的为关键指标,更多详细指标详见: 应用实时监控服务ARMS控制台
-Prometheus监控
-Prometheus实例列表
-选择实例
-集成中心
-ClickHouse
(二)ClickHouse 监控大盘
我们默认提供了arms-clickhouse-ecs
和arms-clickhouse-k8s
两个大盘,分别针对 ClickHouse 安装在ACK 集群/ ECS 中两个场景,这两个大盘中图标均来自于上述 Metrics 指标。
⚠️注意: 主机节点监控需提前安装 Node-Exporter,以下大盘图示数值仅为展示作用,不具备参考价值,实际数值依 ClickHouse 环境而定
(1)主机节点指标
(2)ClickHouse Server指标
(3)MergeTree 指标
(4)消息队列指标
(三)告警规则
参考前面对各项主要指标介绍,针对 ClickHouse 可以重点配置以下告警项,这些告警项已内置到arms-clickhouse
告警规则中,可依据自身业务情况及经验调整告警阈值:
- 【L0】CPU 超过 90%
- 【L0】Mem 超过 90%
- 【L0】Disk 超过 90%
- 【L0】Inode 使用率超过 90%
- 【L0】写入失败率超过 5%
- 【L1】运行 Query 个数超过 95
- 【L1】连接数超过 4k
- 【L1】失败 Query 个数超过 10
(四)相关实践示例
(1)CPU 过高
- 确认 CPU 占用过高是由 ClickHouse 引起的。可以通过 top 命令
top -H -p xxx
查看系统的 CPU 占用率,找出占用 CPU 比较高的进程。如果发现 ClickHouse 进程占用了大量 CPU 资源,那么就需要进一步排查。 - 使用 ClickHouse 内置查询来查看系统的状态。可以使用以下查询:
SHOW PROCESSLIST query WHERE query NOT LIKE "%SYSTEM%" ORDER BY elapsed DESC LIMIT 10
这个查询可以列出最耗时的查询,找到可能引起 CPU 占用过高的查询语句。
- 检查 ClickHouse 配置。一些配置参数可能导致 ClickHouse 占用大量 CPU 资源。可以查看 ClickHouse 配置文件,确认配置是否合理,是否需要调整。
- 检查 ClickHouse 日志。ClickHouse 日志中可能包含错误信息或警告信息,可以帮助找出问题所在。
- 检查硬件资源是否充足。如果系统 CPU、内存等硬件资源不足,那么 ClickHouse 可能会出现 CPU 占用过高的情况。可以检查系统的硬件资源使用情况,确认是否需要升级硬件。
- 升级 ClickHouse 版本。如果是 ClickHouse 版本的问题,可以考虑升级到更稳定的版本。
(2)内存过高
- 使用内置查询查看内存占用情况。可以使用以下查询来查看 ClickHouse 系统的内存占用情况:
SELECT * FROM system.metrics WHERE metric LIKE "%memory%";
这个查询会列出 ClickHouse 的各个内存指标,包括总内存、已用内存、缓存内存等。可以根据这些指标来判断内存占用是否过高。
- 检查 ClickHouse 的配置。一些配置参数可能会导致 ClickHouse 占用大量的内存资源。可以查看 ClickHouse 的配置文件,确认配置是否合理,是否需要调整。
- 检查系统的内存资源使用情况。如果系统的内存资源不足,那么 ClickHouse 可能会出现内存占用过高的情况。可以使用命令
free -m
查看系统的内存使用情况。 - 检查 ClickHouse 的日志。ClickHouse 的日志中可能包含错误信息或警告信息,可以帮助找出问题所在。
- 升级 ClickHouse 版本。如果是 ClickHouse 版本的问题,可以考虑升级到更稳定的版本。
- 减少查询语句的数据量和计算量。如果查询语句的数据量和计算量过大,那么 ClickHouse 可能会占用大量的内存资源。可以考虑优化查询语句,减少数据量和计算量。
(3)Disk 占用过高
- 使用系统工具查看磁盘占用情况。可以使用命令
df -h
来查看系统的磁盘使用情况,查看是否有磁盘空间不足的情况。 - 检查 ClickHouse 的配置。一些配置参数可能会导致 ClickHouse 占用大量的磁盘资源。可以查看 ClickHouse 的配置文件,确认配置是否合理,是否需要调整。
- 使用 ClickHouse 内置的查询来查看磁盘占用情况。可以使用以下查询来查看 ClickHouse 的磁盘占用情况:
SELECT database, table, sum(bytes) AS total_size FROM system.parts WHERE active GROUP BY database, table ORDER BY total_size DESC
这个查询会列出 ClickHouse 的各个表的占用磁盘空间情况,可以根据这个查询来判断磁盘占用是否过高。
- 检查 ClickHouse 的日志。ClickHouse 的日志中可能包含错误信息或警告信息,可以帮助找出问题所在。
- 清理不必要的数据。如果 ClickHouse 中存在不必要的数据,可以考虑进行清理,释放磁盘空间。
三、如何使用阿里云可观测监控 Prometheus 版监控ClickHouse 服务
(一)安装 Prometheus 监控
(1)前序条件:已根据安装ClickHouse 安装环境,创建对应Prometheus 实例。
根据 ClickHouse 安装方式:
- 如果 ClickHouse 部署在 ACK 中, 并创建了Prometheus for 容器实例,创建请参考
Prometheus for 容器服务
; - 如果 ClickHouse 部署在 ECS 中, 并创建了Prometheus for ECS 实例,创建请参考
Prometheus for ECS
。
(2)安装方式一:Prometheus for 容器服务
在Prometheus for 容器服务
实例中,ClickHouse 已经默认在集成中心中展示,用户可以在应用实时监控服务ARMS控制台
-Prometheus监控
-Prometheus实例列表
-选择Prometheus for 容器服务实例
-集成中心
中找到入口,点击 ClickHouse 图标,可以看到常见的指标列表和大盘缩略图。点击+安装
可以接入 ClickHouse 监控,配置如下图:
- Exporter 名称: 自定义 Exporter 名称;
- ClickHouse Scrape 地址: IP + Port, Exporter 能够访问的 ClickHouse 地址 ;
- ClickHouse 用户名: 登陆用户名;
- ClickHouse 密码: 登陆密码;
- Metrics 采集间隔(秒): 默认 30s 采集一次, 一般不需要更改。
点击确定后, clickhouse-exporter-填入的名称
的 Exporter 会被安装到 arms-prom 命名空间下,并自动完成采集 job 的配置。
可以在应用实时监控服务ARMS控制台
-Prometheus监控
-Prometheus实例列表
-选择Prometheus for 容器服务实例
-集成中心
-已安装
-ClikckHouse
中快速浏览相关的 Target/指标/大盘/告警/服务发现/ Exporter 等信息。
(3)安装方式二:Prometheus for ECS
安装 ClickHouse 相同 VPC 的Prometheus for ECS
实例,由于Prometheus for ECS
实例中 ClickHouse 的主机节点监控来自于Node-Exportor
,所以先安装 Node-Exportor
。用户可以在
应用实时监控服务ARMS控制台
-Prometheus监控
-Prometheus实例列表
-选择Prometheus for ECS实例
-集成中心
中找到入口,点击Node-Exporter
图标,点击+安装
可以接入 Node-Exporter 监控,然后选择对应 ECS 实例安装即可。
用户可以在应用实时监控服务ARMS控制台
-Prometheus监控
-Prometheus实例列表
-选择Prometheus for ECS实例
-集成中心
中找到入口,点击 ClickHouse 图标,点击+安装
可以接入 ClickHouse 监控,配置与上述Prometheus for 容器服务
相同。
(4)指标未采集的排查方法
⚠️注意: 下面是Prometheus for 容器
实例的排查方法,Prometheus for ECS
实例请联系Prometheus值班-美娜
ClickHouse-Exporter 本身的主要工作是指标映射,需要填入正确 ClickHouse 抓取 URL及登陆用户名、密码。如果出现指标采集不到的问题,可以参考如下的排查思路。
- 检查 Prometheus Target 状态,如果 Target 显示为
Unhealthy
状态,请排查clickhouse-exporter
Pod 运行状态;如果 Target 状态正常,继续下一步。
- 若 Target 状态正常,但抓取指标量很少且指标全为
go_
相关查看clickhouse-exporter
Pod 日志,确认日志中是否有报错信息。
- 查看
clickhouse-exporter
Pod 日志,确定 Exporter 抓取目标 URL 是否正常。
(二)查看大盘
如需要查看 ClickHouse 相关大盘,可以从应用实时监控服务ARMS控制台
-Prometheus监控
-Prometheus实例列表
-实例详情页
-集成中心
-已安装
-ClikckHouse
中点选大盘
,列出两类大盘arms-clickhouse-ecs
和arms-clickhouse-k8s
,根据环境选择对应的大盘模板。
以下是arms-clickhouse-k8s
Variables 参数说明:
- datasource : 数据源,选择对应的实例名称;
- job: 新建 clickhouse-exporter 对应 job 名称,与 clickhouse-exporter 名称一致,用于展示ClickHouseServer 指标、MergeTree 指标、消息队列指标;
- namespace: ClickHouse Pod 所在的命名空间,用于主机节点指标筛选;
- Pod: 可根据需要选择对应的 ClickHouse Pod,用于主机节点指标筛选。
以下是arms-clickhouse-ecs
Variables参数说明:
- datasource: 数据源,选择对应的实例名称;
- job: 新建的 clickhouse-exporter 对应 job 名称,与clickhouse-exporter 名称一致,用于展示ClickHouseServer 指标、MergeTree 指标、消息队列指标;
- instance: ecs 实例 IP,用于主机节点筛选。
(三)配置告警
在集成中心安装 ClickHouse 监控时,已经默认增加了arms-clickhouse告警分组
的相关规则,但未启用,您只需要简单修改参数并确认启用即可。
可以从应用实时监控服务ARMS控制台
-Prometheus监控
-Prometheus实例列表
-实例详情页
-集成中心
-已安装
-ClikckHouse
中选择告警
-创建告警规则
进入规则新增页面,在其中告警分组选择arms-clickhouse告警分组
并根据环境选择您需要启用的告警指标
,确认参数阈值并保存,即可完成告警规则的创建。
四、自建 Prometheus 与阿里云可观测监控 Prometheus 版监控 ClickHouse 优劣对比
Prometheus 作为目前主流可观测开源项目之一,已被众多企业所广泛应用,但还会遇到不少困难与挑战:
- 每套完整的自建观测系统都需要安装并配置 Prometheus、Grafana、AlertManager 等组件,部署过程复杂、实施周期长,并且每次升级都需要对每个组件进行维护;
- 开源分享的相关大盘不够专业,更新速度慢,缺少开箱即用的丰富指标;
- 由于安全、组织管理等因素,用户业务通常部署在多个相互隔离的 VPC,需要在多个 VPC 内都重复、独立部署 Prometheus,导致部署和运维成本高。
针对以上问题,阿里云可观测监控 Prometheus 版进行了以下优化:
结束语
阿里云可观测监控 Prometheus 版与阿里云容器服务无缝集成,提供了开源 ClickHouse 的指标采集、用户大盘、告警规则等项目的一键集成,用户免运维,开箱即用,目前 ClickHouse 指标采集功能仍在不断演进中,欢迎大家试用和提出改进意见。
关键词:
-
-
-
-
统一观测|借助 Prometheus 监控 ClickHouse 数据库
挪威网络安全大危机?数据备份刻不容缓
windows如何上架ios应用到app store
逆水寒踏雪寻梅任务怎么做 踏雪寻梅任务完成攻略
万华化学千吨级乙烯精馏塔提前交付,二期项目将打破POE国外技术垄断
刚刚,常温常压超导首被证明理论可行:美顶尖实验室论文出炉
油价突破80美元引发投资者获利了结 石油ETF单周资金流出规模创新高
高质量发展在申城|持续擦亮“宜商黄浦”品牌,“十四五”末人才公寓总量将突破一万套
展示多元文化 促进民心相通
闻风而动!三一全力迎战台风“杜苏芮”!
120越野救护车门头沟转运早产双胞胎!孩子取名定海、神针
传音控股:目前 传音全球销售网络已覆盖超过70个国家和地区
伟明环保(603568)8月1日主力资金净卖出716.14万元
广州酒家(603043)8月1日主力资金净卖出20.68万元
北京门头沟山区被困列车旅客已被转移安置 道路疏通工作仍在进行中
晨泰IPO关注|以智能制造引领行业高质量发展
为奥运让路,巴黎塞纳河岸书摊将拆迁
养老金融产品大PK 冠军花落银行家
大行评级丨摩根士丹利:上调汇丰控股目标价至72.2港元 评级“增持”
机票燃油费今年首次上调,8月5日起机票将贵10或30元
25只股上午收盘涨停(附股)
浙江湖州:志愿者助农忙抢收
蝶变亮相,在您身边——宝山区首家东方社区数字苑示范点揭牌
苏州大学“未梦黔心”暑期支教团来到贵州美德小学
中期汇报展成果 名师引领促发展
私家车雨中抛锚,济南公交司机和市民齐伸援手
辩证看待景区经营权出让
打造省内无人驾驶领域产业高地,山东一企业研发智慧隧道等产品
卖10万保险大赚1万!银行人疯狂卖保背后,谁被坑惨了?
北京全市调整防汛应急响应
临江市建设白酒文化产业园基础设施项目
汽油加白糖燃烧更久_汽油加白糖
沙丁鱼有什么功效与作用?哪些人群不宜食用沙丁鱼?
营业执照年报不报会怎么样_营业执照年报
海河流域启用5个蓄滞洪区应对流域性洪水
量身定制!长宁这些地方新增一批“公共休憩座椅”
今世缘(603369.SH):TA类价格带增长相对更快一些
科力远:拟定增16亿加码碳酸锂,上市近20年累亏1.34亿
防范儿童溺水须织密安全网
北京房山、门头沟部分乡镇通讯设施持续中断 道路、供电问题拖慢抢修
资深加密货币风险投资家预计,AI推动的加密货币将出现“惊人”的增长
市监总局约谈四家生猪养殖企业,涉事企业:立即整改
租房定金能退吗没签约有收据_租房定金能退吗没签约
这家锂电材料厂起火!
人民艺起评:《封神第一部》,颇具现代意识的中国奇幻电影
省高院联合省司法厅发布2022年湖南省行政机关负责人出庭应诉情况
海南椰岛(600238)8月1日主力资金净卖出89.54万元
美媒又放风:美国商务部长雷蒙多计划8月下旬访华
双环科技董秘回复:公司的纯碱生产路线上游是煤炭
X公司重组马斯克负责产品与工程团队;阿里巴巴“零售科技”专利排名全球第一;英国重新评估微软收购动视暴雪交易
天通股份:公司没有集成电路产业的倒角机产品
河北涿州:截至今日10时受灾人数133913人,无死亡
赛力斯:7月赛力斯汽车销量同比下降45.69%
应对“中风”,为什么需要国家级行动
新疆兵团团场辣椒丰收 产品“走”出国门
聊城新奥工会开展短视频制作技巧培训讲座
湖南首例!湘乡法院适用简易程序独任审理破产清算案件
格拉西莫夫现身扎波罗热前线指挥所
东方环宇: 截至2023年7月31日,公司的股东人数为12474
博德之门3晋升之路在哪里介绍
aeke轻力量:直瞄东方人的健康运动生态体系
济南市将重点实施七大工程 创建“中国快递示范城市”
上半年世界黄金市场保持良好势头
吉林省人民医院烧伤整形科价格表!口碑医生个人简介一览
LED闪光灯电路原理图讲解
北京全力抢修受暴雨影响中断通信
收评:沪指接近平收,创业板跌0.58%,医药、酿酒等板块走弱,资源股拉升
新增产能压力大 聚丙烯需求未见实质好转
促进民营经济发展多重利好来了!涉及税收、金融、土地支持→
全国青少年足球联赛双阳赛区开赛
焦作温县“兵支书”郑国旗:实干担当显初心
国内商品期货收盘多数上涨 能化系涨幅居前
七夕情人节朋友圈文案图片大全简短的
八部门:推动符合条件的民间投资项目发行基础设施REITs 进一步扩大民间投资
【午盘】A股早盘窄幅震荡,三大股指涨跌互现
【青听·两岸】跨越海峡的善举 台青萧家曜在大陆做无声世界的“桥梁”
北京市累计平均降雨量突破大暴雨量级,目前北京全市河道正在行洪
雨水收集模块(雨水收集)
夏令营爆发手足口病:这个“赚快钱”的江湖该管管了
你好!我快50岁了,深圳社保还能继续交吗?!还在单位干,老板说50岁后
华泰证券:麒麟软件中标邮政集团大单,看好全年信创产业机遇
拉卡拉首次发布社会责任报告:全景展现社会责任实践成效
2023年重庆市机械冶金系统智能制造应用技术职业技能大赛开赛
【侠客岛】北京此轮强降雨已致11人遇难,另有27人失联
高分辨气质连用仪中标结果公告
华纬科技(001380.SZ):稳定杆的开发周期是在两年左右
夏日彩虹
聊城市交通运输局开展“倡导全民读书 享受阅读快乐”主题活动
最新预报!辽宁这些地方将有暴雨
A股午评:三大指数震荡回升 贵金属、钢铁领涨 军工、中药股下跌
渤海证券:制造业景气度有望逐步重回扩张区间
全国重要生态系统保护和修复重大工程建设暨荒漠化综合防治现场会在阿拉善盟召开
北京强降雨已致11人遇难27人失联,其中2人因公殉职
紫鑫药业股票终止上市,8月4日摘牌
韩国研发全球首个常温超导 美顶尖实验室研究称理论可行!美公司股价秒翻倍
6.88mm超薄5G直屏!Hi nova 11图赏:全新的11号色
首发499元 小米发布米家智能电烤箱40L:2000W大功率
不愧是大众相中的车企!小鹏7月交付11008台:G6扛起大旗
搭载智能化和场景化配置 银河L6更多信息曝光 比亚迪秦PLUS还香不香
慈星股份组织参观学习活动 助力中国针织机械向智能化方向发展