ClickHouse 可观测性最佳实践
本文介绍如何通过观测云采集并监控 ClickHouse 指标数据,帮助用户故障排查、系统优化和成本优化等。
ClickHouse 介绍
ClickHouse 是一款高性能、列式存储的开源分析型数据库,专为在线分析处理(OLAP)场景设计。它能够处理海量数据,支持实时查询和复杂的数据分析,具备极高的读写性能和数据压缩能力。ClickHouse 提供了强大的 SQL 支持,包括对复杂查询、聚合操作和窗口函数的优化,使其成为处理大规模数据集的理想选择。此外,ClickHouse 支持分布式架构,通过数据分片和副本机制,能够实现高可用性和水平扩展。它广泛应用于日志分析、物联网数据处理、实时监控等领域,帮助企业快速获取数据洞察,驱动业务决策。
对 ClickHouse 进行可观测性建设,能有效助力我们的工程师故障排查、系统优化和成本优化等。
观测云
观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。
部署 DataKit
DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。
登录观测云控制台,在「集成」-「DataKit」选择对应安装方式,当前采用 Linux 主机部署 DataKit。

开启 ClickHouse 采集
1、修改 config.xml
在 ClickHouse Server 的 config.xml 配置文件中找到如下的代码段,取消注释,并设置 metrics 暴露的端口号(可自定义,唯一即可)。修改完成后重启(若为集群,则每台机器均需操作)。
vim /etc/clickhouse-server/config.xml

2、修改 clickhousev1.conf
进入 DataKit 安装目录下的 conf.d/clickhousev1 目录,复制 clickhousev1.conf.sample 并命名为 clickhousev1.conf。主要修改这个 IP 和端口,端口与上一步保持一致,示例如下:

3、重启DataKit
配置好后,重启 DataKit 即可。
关键指标
这里主要列举 ClickHouse 的一部分关键指标,详情可参考详细文档。
| 指标名 | 描述 | 类型 | 单位 |
|---|---|---|---|
HTTPConnection |
HTTP 连接数 | float | count |
TCPConnection |
TCP 连接数 | float | count |
InterserverConnection |
其他副本用于获取部分数据的连接数量 | float | count |
MemoryTracking |
内存使用量 | float | B |
Query |
正在执行的查询数量 | float | count |
SelectQuery |
执行的 SELECT 查询数量 | float | count |
InsertQuery |
执行的 INSERT 查询数量 | float | count |
ReplicatedChecks |
数据块一致性检查的次数 | float | count |
场景视图
登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “ClickHouse”, 选择 “ClickHouse 监控视图”,点击 “确定” 即可添加视图。

监控器(告警)
ClickHouse 实例 {{instance}} HTTP 连接数告警
简要描述:根据 HTTPConnection 指标设置阈值告警。


ClickHouse 实例 {{instance}} TCP 连接数告警
简要描述:根据 TCPConnection 指标设置阈值告警。


ClickHouse 实例 {{instance}} 副本一致性检查次数异常告警
简要描述:根据 ReplicatedChecks 指标设置突变告警,当副本之间数据块一致性检查的次数最近 15 分钟比最近 30 分钟差值百分比大于阈值时,进行告警。


总结
本文从指标、可视化仪表板、监控告警等角度展示了如何使用观测云这个一体化观测平台对 ClickHouse 进行全面观测,大大减少了管理多个运维工具的负担,让 DevOps 团队将更多精力投放到更高价值的工作中。
Contact us
Join the community
to join the community
Try Guance
Start online and pay only for what you use.
Get startedChoose a Guance plan