system.metrics
该系统表中的数据保存在 ClickHouse Cloud 中每个节点的本地。因此,如需获得所有数据的完整视图,需要使用 clusterAllReplicas 函数。更多详情请参阅此处。
包含可即时计算或具有当前值的指标。例如,同时处理的查询数量或当前副本延迟时间。该表中的数据始终是最新的。
列:
你可以在源文件 src/Common/CurrentMetrics.cpp 中找到所有支持的指标。
示例
指标说明
AggregatorThreads
Aggregator 线程池中的线程数量。
AggregatorThreadsActive
在 Aggregator 线程池中正在运行任务的线程数量。
TablesLoaderForegroundThreads
异步加载器前台线程池中的线程数量。
TablesLoaderForegroundThreadsActive
在异步加载器前台线程池中正在运行任务的线程数量。
TablesLoaderBackgroundThreads
异步加载器后台线程池中的线程数量。
TablesLoaderBackgroundThreadsActive
在异步加载器后台线程池中正在运行任务的线程数量。
AsyncInsertCacheSize
缓存中异步插入哈希 ID 的数量。
AsynchronousInsertThreads
AsynchronousInsert 线程池中的线程数量。
AsynchronousInsertThreadsActive
在 AsynchronousInsert 线程池中正在运行任务的线程数量。
AsynchronousReadWait
正在等待异步读取的线程数量。
BackgroundBufferFlushSchedulePoolSize
BackgroundBufferFlushSchedulePool 中任务数量的上限。
BackgroundBufferFlushSchedulePoolTask
BackgroundBufferFlushSchedulePool 中活动任务的数量。该线程池用于定期刷新 Buffer。
BackgroundCommonPoolSize
关联的后台线程池中任务数量的上限。
BackgroundCommonPoolTask
关联的后台线程池中活动任务的数量。
BackgroundDistributedSchedulePoolSize
BackgroundDistributedSchedulePool 中任务数量的上限。
BackgroundDistributedSchedulePoolTask
BackgroundDistributedSchedulePool 中活动任务的数量。该线程池用于在后台执行分布式发送。
BackgroundFetchesPoolSize
关联的后台线程池中并发抓取操作数量的上限。
BackgroundFetchesPoolTask
关联的后台线程池中活动抓取操作的数量。
BackgroundMergesAndMutationsPoolSize
关联的后台线程池中活动合并和变更操作数量的上限。
BackgroundMergesAndMutationsPoolTask
关联的后台线程池中活动合并和变更操作的数量。
BackgroundMessageBrokerSchedulePoolSize
用于消息流的 BackgroundProcessingPool 中任务数量的上限。
BackgroundMessageBrokerSchedulePoolTask
用于消息流的 BackgroundProcessingPool 中活动任务的数量。
BackgroundMovePoolSize
用于移动操作的 BackgroundProcessingPool 中任务数量的上限。
BackgroundMovePoolTask
用于移动操作的 BackgroundProcessingPool 中活动任务的数量。
BackgroundSchedulePoolSize
BackgroundSchedulePool 中任务数量的上限。该线程池用于定期执行 ReplicatedMergeTree 任务,例如清理旧数据分片、修改数据分片、副本重新初始化等。
BackgroundSchedulePoolTask
BackgroundSchedulePool 中活动任务的数量。该线程池用于定期执行 ReplicatedMergeTree 任务,例如清理旧数据分片、修改数据分片、副本重新初始化等。
BackupsIOThreads
BackupsIO 线程池中的线程数量。
BackupsIOThreadsActive
在 BackupsIO 线程池中正在运行任务的线程数量。
BackupsThreads
BACKUP 线程池中的线程数量。
BackupsThreadsActive
在 BACKUP 线程池中正在运行任务的线程数量。
BrokenDistributedFilesToInsert
用于异步插入到 Distributed 表且已标记为损坏的文件数量。该指标在启动时从 0 开始计数。各分片上的文件数量会被求和。
CacheDetachedFileSegments
当前存在的已分离缓存文件分段数量。
CacheDictionaryThreads
CacheDictionary 线程池中的线程数量。
CacheDictionaryThreadsActive
在 CacheDictionary 线程池中正在运行任务的线程数量。
正在 CacheDictionary 线程池中运行任务的线程数量。
CacheDictionaryUpdateQueueBatches
CacheDictionaries 中更新队列里“批次”(一组键)的数量。
CacheDictionaryUpdateQueueKeys
CacheDictionaries 中更新队列里键的精确数量。
CacheFileSegments
现有缓存文件分段的数量。
ContextLockWait
在 Context 中等待锁的线程数量。这是全局锁。
DDLWorkerThreads
用于 ON CLUSTER 查询的 DDLWorker 线程池中的线程数量。
DDLWorkerThreadsActive
用于 ON CLUSTER 查询并正在运行任务的 DDLWorker 线程池中的线程数量。
DatabaseCatalogThreads
DatabaseCatalog 线程池中的线程数量。
DatabaseCatalogThreadsActive
DatabaseCatalog 线程池中正在运行任务的线程数量。
DatabaseOnDiskThreads
DatabaseOnDisk 线程池中的线程数量。
DatabaseOnDiskThreadsActive
DatabaseOnDisk 线程池中正在运行任务的线程数量。
DelayedInserts
由于某个 MergeTree 表分区的活动数据分片数量过多而被限流的 INSERT 查询数量。
DestroyAggregatesThreads
用于销毁聚合状态的线程池中的线程数量。
DestroyAggregatesThreadsActive
用于销毁聚合状态并正在运行任务的线程池中的线程数量。
DictCacheRequests
正在发送到缓存类型字典数据源的请求数量。
DiskObjectStorageAsyncThreads
DiskObjectStorage 异步线程池中的线程数量。
DiskObjectStorageAsyncThreadsActive
DiskObjectStorage 异步线程池中正在运行任务的线程数量。
DiskSpaceReservedForMerge
为当前正在运行的后台合并保留的磁盘空间。该值略大于当前正在合并的分片总大小。
DistributedFilesToInsert
用于异步插入到 Distributed 表的待处理文件数量。每个分片的文件数会被汇总。
DistributedSend
向远程服务器发送已 INSERT 到 Distributed 表的数据的连接数量。包括同步和异步模式。
EphemeralNode
在 ZooKeeper 中持有的临时节点数量。
FilesystemCacheElements
文件系统缓存元素(文件分段)
FilesystemCacheReadBuffers
活动缓存缓冲区的数量。
FilesystemCacheSize
文件系统缓存大小(字节)。
QueryCacheBytes
查询缓存的总大小(字节)。
QueryCacheEntries
查询缓存中的条目总数。
UncompressedCacheBytes
未压缩缓存的总大小(字节)。未压缩缓存通常不会提升性能,应尽量避免使用。
UncompressedCacheCells
CompiledExpressionCacheBytes
JIT 编译代码缓存所使用的总字节数。
CompiledExpressionCacheCount
JIT 编译代码缓存中的条目总数。
MMapCacheCells
使用 mmap(映射到内存)打开的文件数量。该指标用于将 local_filesystem_read_method 设置为 mmap 的查询。使用 mmap 打开的文件会保留在缓存中,以避免代价高昂的 TLB 刷新。
MarkCacheBytes
标记缓存的总大小(字节)。
MarkCacheFiles
缓存在标记缓存中的标记文件总数。
GlobalThread
全局线程池中的线程数量。
GlobalThreadActive
全局线程池中正在运行任务的线程数量。
HTTPConnection
到 HTTP 服务器的连接数量。
HashedDictionaryThreads
HashedDictionaryThreads
HashedDictionary 线程池中的线程数量。
HashedDictionaryThreadsActive
HashedDictionary 线程池中正在运行任务的线程数量。
IOPrefetchThreads
IO 预取线程池中的线程数量。
IOPrefetchThreadsActive
IO 预取线程池中正在运行任务的线程数量。
IOThreads
IO 线程池中的线程数量。
IOThreadsActive
IO 线程池中正在运行任务的线程数量。
IOUringInFlightEvents
当前正在处理中的 io_uring SQE 数量。
IOUringPendingEvents
等待提交的 io_uring SQE 数量。
IOWriterThreads
IO 写入线程池中的线程数量。
IOWriterThreadsActive
IO 写入线程池中正在运行任务的线程数量。
InterserverConnection
用于从其他副本获取数据分片的连接数量。
KafkaAssignedPartitions
Kafka 表当前被分配到的分区数量。
KafkaBackgroundReads
当前正在运行的后台读取数量(用于从 Kafka 填充物化视图)。
KafkaConsumers
活动的 Kafka 消费者数量。
KafkaConsumersInUse
当前被直接或后台读取使用的 Kafka 消费者数量。
KafkaConsumersWithAssignment
已分配到某些分区的活动 Kafka 消费者数量。
KafkaLibrdkafkaThreads
活动的 librdkafka 线程数量。
KafkaProducers
已创建的活动 Kafka 生产者数量。
KafkaWrites
当前正在向 Kafka 执行的 INSERT 操作数量。
KeeperAliveConnections
存活的连接数量。
KeeperOutstandingRequests
未完成请求的数量。
LocalThread
本地线程池中的线程数量。本地线程池中的线程来自全局线程池。
LocalThreadActive
本地线程池中正在运行任务的线程数量。
MMappedAllocBytes
所有 mmapped 分配的字节总和。
MMappedAllocs
mmapped 分配的总次数。
MMappedFileBytes
mmapped 文件区域的大小总和。
MMappedFiles
mmapped 文件的总数量。
MarksLoaderThreads
用于加载标记(marks)的线程池中的线程数量。
MarksLoaderThreadsActive
用于加载标记(marks)的线程池中正在运行任务的线程数量。
MaxDDLEntryID
DDLWorker 已处理的最大 DDL 记录 ID。
MaxPushedDDLEntryID
DDLWorker 已推送到 ZooKeeper 的最大 DDL 记录 ID。
MemoryTracking
服务器已分配的内存总量(字节)。
Merge
正在执行的后台合并数量。
MergeTreeAllRangesAnnouncementsSent
从远程服务器向发起服务器发送的、关于数据分片集合(针对 MergeTree 表)的正在进行中的通知数量。该指标在远程服务器端进行度量。
MergeTreeBackgroundExecutorThreads
MergeTreeBackgroundExecutor 线程池中的线程数量。
MergeTreeBackgroundExecutorThreadsActive
MergeTreeBackgroundExecutor 线程池中正在运行任务的线程数量。
MergeTreeDataSelectExecutorThreads
MergeTreeDataSelectExecutor 线程池中的线程数量。
MergeTreeDataSelectExecutorThreadsActive
MergeTreeDataSelectExecutor 线程池中正在运行任务的线程数量。
MergeTreePartsCleanerThreads
MergeTree 分片清理线程池中的线程数量。
MergeTreePartsCleanerThreadsActive
MergeTree 分片清理线程池中正在运行任务的线程数量。
MergeTreePartsLoaderThreads
MergeTree 分片加载线程池中的线程数量。
MergeTreePartsLoaderThreadsActive
MergeTree 分片加载线程池中正在运行任务的线程数量。
MergeTreeReadTaskRequestsSent
从远程服务器发往发起服务器、用于选择读取任务(针对 MergeTree 表)的正在进行中的回调请求数量。该指标在远程服务器端进行统计。
Move
当前正在执行的 move 操作数量。
MySQLConnection
使用 MySQL 协议的客户端连接数量。
NetworkReceive
从网络接收数据的线程数量。仅包含与 ClickHouse 相关的网络交互,不包括由第三方库产生的交互。
NetworkSend
向网络发送数据的线程数量。仅包含与 ClickHouse 相关的网络交互,不包括由第三方库产生的交互。
OpenFileForRead
当前为读取而打开的文件数量。
OpenFileForWrite
当前为写入而打开的文件数量。
ParallelFormattingOutputFormatThreads
ParallelFormattingOutputFormatThreads 线程池中的线程数量。
ParallelFormattingOutputFormatThreadsActive
ParallelFormattingOutputFormatThreads 线程池中正在运行任务的线程数量。
PartMutation
变更(ALTER DELETE/UPDATE)的数量。
PartsActive
处于活动状态的数据分片,被当前和即将进行的 SELECT 使用。
PartsCommitted
已弃用。参见 PartsActive。
PartsCompact
紧凑分片。
PartsDeleteOnDestroy
分片已被移动到其他磁盘,应在其自身析构函数中删除。
PartsDeleting
非活动数据分片,引用计数为 1,当前正由清理器删除。
PartsOutdated
非活动数据分片,仅可能被当前的 SELECT 使用,在这些 SELECT 结束后即可删除。
PartsPreActive
分片已在 data_parts 中,但尚未被 SELECT 使用。
PartsPreCommitted
已弃用。参见 PartsPreActive。
PartsTemporary
分片当前正在生成中,还不在 data_parts 列表中。
PartsWide
宽分片。
PendingAsyncInsert
正在等待刷盘的异步插入数量。
PostgreSQLConnection
使用 PostgreSQL 协议的客户端连接数量。
Query
正在执行的查询数量。
QueryPreempted
由于 priority 设置而被停止并处于等待状态的查询数量。
QueryThread
用于处理查询的线程数量。
RWLockActiveReaders
在表的 RWLock 上持有读锁的线程数量。
RWLockActiveWriters
在表的 RWLock 上持有写锁的线程数量。
RWLockWaitingReaders
在表的 RWLock 上等待获取读锁的线程数量。
RWLockWaitingWriters
在表的 RWLock 上等待获取写锁的线程数量。
Read
正在进行中的读(read、pread、io_getevents 等)系统调用数量。
ReadTaskRequestsSent
从远程服务器发往发起服务器、用于选择读取任务(针对 s3Cluster 表函数及类似场景)的正在进行中的回调请求数量。该指标在远程服务器端进行统计。
ReadonlyReplica
由于 ZooKeeper 会话丢失后重新初始化,或在未配置 ZooKeeper 的情况下启动,而当前处于只读状态的 Replicated 表数量。
RemoteRead
正在进行中的远程读取操作数量。
ReplicatedChecks
正在进行一致性检查的数据分片数量。
ReplicatedFetch
正在从副本拉取的数据分片数量。
ReplicatedSend
正在发送到副本的数据分片数量。
RestartReplicaThreads
RESTART REPLICA 线程池中的线程数。
RestartReplicaThreadsActive
在 RESTART REPLICA 线程池中正在运行任务的线程数。
RestoreThreads
用于 RESTORE 的线程池中的线程数。
RestoreThreadsActive
用于 RESTORE 的线程池中正在运行任务的线程数。
Revision
服务器的修订版本。对于每个发布版或候选发布版(补丁版本除外),该数字都会递增。
S3Requests
S3 请求次数。
SendExternalTables
向远程服务器发送外部表数据的连接数。外部表用于实现带有分布式子查询的 GLOBAL IN 和 GLOBAL JOIN 运算符。
SendScalars
向远程服务器发送标量数据的连接数。
StorageBufferBytes
Buffer 表缓冲区中的字节数。
StorageBufferRows
Buffer 表缓冲区中的行数。
StorageDistributedThreads
StorageDistributed 线程池中的线程数。
StorageDistributedThreadsActive
在 StorageDistributed 线程池中正在运行任务的线程数。
StorageHiveThreads
StorageHive 线程池中的线程数。
StorageHiveThreadsActive
在 StorageHive 线程池中正在运行任务的线程数。
StorageS3Threads
StorageS3 线程池中的线程数。
StorageS3ThreadsActive
在 StorageS3 线程池中正在运行任务的线程数。
SystemReplicasThreads
system.replicas 线程池中的线程数。
SystemReplicasThreadsActive
在 system.replicas 线程池中正在运行任务的线程数。
TCPConnection
到 TCP 服务器的连接数(使用原生接口的客户端),还包括服务器之间用于分布式查询的连接。
TablesToDropQueueSize
已被删除但正在等待后台数据清理的表的数量。
TemporaryFilesForAggregation
为外部聚合创建的临时文件数量。
TemporaryFilesForJoin
为 JOIN 创建的临时文件数量。
TemporaryFilesForSort
为外部排序创建的临时文件数量。
TemporaryFilesUnknown
为未知用途创建的临时文件数量。
ThreadPoolFSReaderThreads
用于 local_filesystem_read_method=threadpool 的线程池中的线程数。
ThreadPoolFSReaderThreadsActive
用于 local_filesystem_read_method=threadpool 的线程池中正在运行任务的线程数。
ThreadPoolRemoteFSReaderThreads
用于 remote_filesystem_read_method=threadpool 的线程池中的线程数。
ThreadPoolRemoteFSReaderThreadsActive
用于 remote_filesystem_read_method=threadpool 的线程池中正在运行任务的线程数。
ThreadsInOvercommitTracker
在 OvercommitTracker 内处于等待状态的线程数。
TotalTemporaryFiles
创建的临时文件总数。
VersionInteger
以 base-1000 的单个整数形式表示的服务器版本。例如,版本 11.22.33 被转换为 11022033。
Write
正在执行的写入(write、pwrite、io_getevents 等)系统调用数量。
ZooKeeperRequest
正在执行的对 ZooKeeper 的请求数量。
ZooKeeperSession
到 ZooKeeper 的会话(连接)数量。不应超过一个,因为使用多个到 ZooKeeper 的连接可能会由于 ZooKeeper 一致性模型允许缺乏线性化(过期读取)而导致错误。
ZooKeeperWatch
在 ZooKeeper 中的 watch(事件订阅)数量。
ConcurrencyControlAcquired
已获取的 CPU 槽位总数。
ConcurrencyControlSoftLimit
CPU 插槽数量的软限制值。
另请参阅
- system.asynchronous_metrics — 包含周期性计算的指标。
- system.events — 包含已发生事件的计数信息。
- system.metric_log — 包含来自
system.metrics和system.events表的指标值历史记录。 - Monitoring — ClickHouse 监控的基本概念。