跳转到主要内容
在生产环境中监控数据库系统,对于了解部署的健康状况至关重要, 这样您才能预防或解决服务中断。 高级仪表板是一款轻量级工具,旨在帮助您深入了解 ClickHouse 系统及其运行环境,让您能够提前发现并应对 性能瓶颈、系统故障和低效问题。 高级仪表板在 ClickHouse OSS (开源软件) 和 Cloud 中均可用。本文将向您展示如何在 Cloud 中使用高级仪表板。

访问高级仪表板

可通过以下路径访问高级仪表板:
  • 左侧面板
    • MonitoringAdvanced dashboard

访问原生高级仪表板

可通过以下路径访问原生高级仪表板:
  • 左侧面板
    • MonitoringAdvanced dashboard
    • 点击 You can still access the native advanced dashboard.
这会在新标签页中打开原生高级仪表板。您需要先完成 身份验证才能访问该仪表板。 每个可视化都关联了一个用于填充数据的 SQL 查询。您可以 点击铅笔图标编辑该查询。

开箱即用的可视化

高级仪表板中的默认图表旨在让您实时了解 ClickHouse 系统的运行状况。下面列出了每个图表及其说明。 为便于查看,这些图表分为三类。

ClickHouse 特有

这些指标专用于监控您的 ClickHouse 实例的健康状况和性能。

系统健康状况相关

监控底层系统与监控 ClickHouse 本身同样重要。

ClickHouse Cloud 特定指标

ClickHouse Cloud 使用对象存储 (S3 类型) 来存储数据。监控该 接口有助于发现问题。

使用高级仪表板识别问题

通过这种对 ClickHouse 服务健康状况的实时视图,您可以在问题影响业务之前大幅降低其影响,或更快地排查并解决问题。下面列出了一些您可以借助高级仪表板发现的问题。

非批量插入

最佳实践文档中所述,如果能够以同步方式执行,建议始终将数据批量插入 ClickHouse。 批量插入采用合理的批次大小,可以减少摄取期间创建的 parts 数量, 从而提高磁盘写入效率并减少合并 操作。 用于识别插入未优化问题的关键指标是 Inserted Rows/secMax Parts for Partition 上面的示例显示,在 13h 到 14h 之间,Inserted Rows/secMax Parts for Partition 都出现了两次峰值。这表明我们正在以合理的速度摄取数据。 随后我们看到,16h 之后 Max Parts for Partition 又出现了一次明显的峰值,但 Inserted Rows/sec speed 却非常低。系统创建了大量 parts, 但生成的数据却很少,这说明这些 parts 的大小 并不理想。

资源密集型查询

运行会消耗大量资源 (如 CPU 或内存) 的 SQL 查询很常见。不过,监控这些查询并了解它们对部署整体性能的影响非常重要。 如果资源消耗突然变化,而查询吞吐量没有变化,则可能表明正在执行开销更高的查询。具体是否属于预期情况取决于您运行的查询类型,但通过高级仪表板识别出这类查询仍然很有帮助。 下面是一个示例:CPU 使用率出现峰值,而每秒执行的查询数量并未明显变化。

糟糕的主键设计

你还可以通过高级仪表板发现另一个问题:主键设计不佳。 如“ClickHouse 主索引实用入门”中所述, 选择最适合自身使用场景的主键,可以通过减少 ClickHouse 在执行查询时需要读取的行数, 显著提升性能。 你可以用来发现主键潜在优化空间的指标之一 是 每秒选中行数。选中行数突然出现峰值, 既可能表明整体查询吞吐量有所上升,也可能意味着某些查询 为执行而选中了大量行。 你可以使用时间戳作为过滤器,在表 system.query_log 中 找出峰值出现时执行的查询。 例如,可以运行一条查询,显示某一天上午 11 点到上午 11 点之间执行的所有查询, 以了解哪些查询读取了过多的行:
Query
Response
在这个示例中,我们可以看到同一条查询被执行在两个 表 amazon_reviews_no_pkamazon_reviews_pk 上。由此可以推断, 有人正在为表 amazon_reviews 测试主键选项。
最后修改于 2026年7月1日