如果您紧跟数据库领域的最新发展,则可能对ClickHouse已经耳熟能详了,它是专为OLAP设计的列式数据库管理系统。ClickHouse由Yandex开发,于2016年开源,这使其成为最新的列式数据库管理系统之一,当前被作为开源数据库被广泛应用。

因为ClickHouse支持实时,高速报告,所以它是一个功能强大的工具,特别是对于需要即时,快速和灵活的数据分析方式的现代DevOps团队而言。

但是,与大多数DevOps工具一样,ClickHouse仅在受到正确管理和监控的情况下才能提供巨大的价值。即使该工具是为高性能而设计的,实际上要实现高性能也需要仔细注意系统的运行状况。

考虑到这一需求,本文(由三部分组成的系列文章的第一部分)说明了如何通过识别要监视的ClickHouse指标类型来开始制定监视策略。

ClickHouse监控必要的指标

第一种也是最广泛的关键指标是那些反映ClickHouse内部事件的指标。在这个类别中有几个特定类型的事件需要监控:

「查询总数(clickhouse.query.count) :」  此数字表示ClickHouse集成中的查询总数。这是评估ClickHouse系统总体活动水平的关键指标。

「插入行(clickhouse.insert.rows):」 此度量标准表示在所有表中插入的行数,并反映数据库中的活动级别以及数据库大小。

「插入字节数(clickhouse.insert.bytes):」  所有表中插入的未压缩字节数, 也反映了活动级别和数据库大小。

granfna监控clickhouse clickhouse监控指标_网络

「合并的行(clickhouse.merge.rows):」  后台合并读取的行,这表示合并前的行数。

「合并未压缩的字节(clickhouse.merge.bytes.uncompressed):」 后台合并读取的未压缩字节, 表示合并前的数字。

granfna监控clickhouse clickhouse监控指标_granfna监控clickhouse_02

ClickHouse网络指标

尽管ClickHouse不是联网工具,但它依靠网络来传输信息。因此,网络指标提供了一种评估ClickHouse性能和运行状况的有用方法。特别是,您将需要监控以下指标:

「TCP连接数(clickhouse.connection.tcp.count):」 与TCP服务器的连接总数, 帮助衡量ClickHouse的负载。

「HTTP连接数(clickhouse.connection.http.count):」 与HTTP服务器的连接数, 也反映了负载。

「服务器间连接数(clickhouse.connection.interserver.count):」 此度量标准表示从其他副本到获取Part的连接数。它与整体系统负载没有直接关系,但是对于评估和优化ClickHouse的性能很有用。

granfna监控clickhouse clickhouse监控指标_python_03

Zookeeper指标

ClickHouse使用Apache Zookeeper来帮助管理数据,因此监视Zookeeper对于确保ClickHouse正常运行很重要。您可以监视ZooKeeper指标 以帮助了解ClickHouse安装状态。在此类别中,要遵循的关键指标如下:

「Zookeepr监视数(clickhouse.zk.watches):」 ZooKeeper中watches的数量(例如,事件订阅)

「Zookeeper等待时间(clickhouse.zk.wait.time):」 等待ZooKeeper操作所花费的时间

「Zookeeper请求数(clickhouse.zk.requests):」 正在处理的ZooKeeper的请求数。

granfna监控clickhouse clickhouse监控指标_java_04

异步指标

以下异步指标是要监视的其他的基本ClickHouse指标:

「最大Part数(clickhouse.part.count.max):」 此度量标准表示ClickHouse分区中活动Part的最大数量。如果Part处于活动状态,则在表中使用它;否则,它将被删除。合并后,不活动的Part部分仍然保留。

granfna监控clickhouse clickhouse监控指标_网络_05

数据Part指标

除了上述异步ClickHouse指标之外,您还需要监视以下MergeTree 数据Part指标:

「活动Part数(clickhouse.mergetree.table.parts):」 MergeTree表中活动Part的数量;

「行数(clickhouse.mergetree.table.rows):」 MergeTree表中的行数。

granfna监控clickhouse clickhouse监控指标_granfna监控clickhouse_06

副本状态

最后介绍并非最重要的副本状态衡量指标:

「副本队列大小(clickhouse.replica.queue.size):」 此度量标准表示等待执行操作的队列的大小。在这种情况下,操作包括插入数据块,合并和某些其他操作。

granfna监控clickhouse clickhouse监控指标_python_07

结论

有效的ClickHouse监视要求跟踪各种指标,以反映ClickHouse安装的可用性,活动级别和性能。上述那些仅代表要监视的最重要的指标。要获取所有ClickHouse指标的较长列表,可以参阅此文档页面。