跳转到主要内容
在 ClickHouse Cloud 中查询此系统表中的数据分别保存在 ClickHouse Cloud 各节点的本地。因此,如需查看所有数据的完整情况,需要使用 clusterAllReplicas 函数。更多详情请参见此处

描述

包含在后台定期计算的指标。例如,已使用的 RAM 量。

  • metric (String) — 指标名称。
  • value (Float64) — 指标值。
  • description (String - 指标说明)

示例

SELECT * FROM system.asynchronous_metrics LIMIT 10
┌─metric──────────────────────────────────┬──────value─┬─description────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ AsynchronousMetricsCalculationTimeSpent │ 0.00179053 │ Time in seconds spent for calculation of asynchronous metrics (this is the overhead of asynchronous metrics).                                                                                                                                              │
│ NumberOfDetachedByUserParts             │          0 │ The total number of parts detached from MergeTree tables by users with the `ALTER TABLE DETACH` query (as opposed to unexpected, broken or ignored parts). The server does not care about detached parts and they can be removed.                          │
│ NumberOfDetachedParts                   │          0 │ The total number of parts detached from MergeTree tables. A part can be detached by a user with the `ALTER TABLE DETACH` query or by the server itself it the part is broken, unexpected or unneeded. The server does not care about detached parts and they can be removed. │
│ TotalRowsOfMergeTreeTables              │    2781309 │ Total amount of rows (records) stored in all tables of MergeTree family.                                                                                                                                                                                   │
│ TotalBytesOfMergeTreeTables             │    7741926 │ Total amount of bytes (compressed, including data and indices) stored in all tables of MergeTree family.                                                                                                                                                   │
│ NumberOfTables                          │         93 │ Total number of tables summed across the databases on the server, excluding the databases that cannot contain MergeTree tables. The excluded database engines are those who generate the set of tables on the fly, like `Lazy`, `MySQL`, `PostgreSQL`, `SQlite`. │
│ NumberOfDatabases                       │          6 │ Total number of databases on the server.                                                                                                                                                                                                                   │
│ MaxPartCountForPartition                │          6 │ Maximum number of parts per partition across all partitions of all tables of MergeTree family. Values larger than 300 indicates misconfiguration, overload, or massive data loading.                                                                       │
│ ReplicasSumMergesInQueue                │          0 │ Sum of merge operations in the queue (still to be applied) across Replicated tables.                                                                                                                                                                       │
│ ReplicasSumInsertsInQueue               │          0 │ Sum of INSERT operations in the queue (still to be replicated) across Replicated tables.                                                                                                                                                                   │
└─────────────────────────────────────────┴────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

指标说明

AsynchronousHeavyMetricsCalculationTimeSpent

计算异步重型 (与表相关) 指标所花费的时间 (单位:秒) (这是异步指标带来的开销) 。

AsynchronousHeavyMetricsUpdateInterval

高开销 (与表相关) 指标的更新间隔

AsynchronousMetricsCalculationTimeSpent

计算异步指标所花费的时间 (单位:秒) (即异步指标的额外开销) 。

AsynchronousMetricsUpdateInterval

指标更新间隔

BlockActiveTime_name

块设备的 IO 请求排队等待的时间 (以秒为单位) 。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。来源:/sys/block。另请参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockDiscardBytes_name

块设备上被丢弃的字节数。这些操作与 SSD 相关。ClickHouse 不使用丢弃操作,但系统上的其他进程可能会使用。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockDiscardMerges_name

由操作系统 IO 调度器向块设备发起并合并的 discard 操作次数。这些操作与 SSD 有关。ClickHouse 不使用 discard 操作,但系统上的其他进程可能会使用。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockDiscardOps_name

块设备发出的 discard 操作请求次数。这些操作主要与 SSD 相关。ClickHouse 不使用 discard 操作,但系统上的其他进程可能会使用。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockDiscardTime_name

块设备请求执行的丢弃操作所耗费的时间 (以秒为单位) ,为所有此类操作耗时的总和。这些操作与 SSD 有关。ClickHouse 不使用丢弃操作,但系统上的其他进程可能会使用。这是一个系统级指标,包含主机上所有进程的数据,而不只是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockInFlightOps_name

该值统计已提交给设备驱动程序但尚未完成的 I/O 请求数量。不包括仍在队列中、尚未提交给设备驱动程序的 I/O 请求。这是一个系统级指标,涵盖主机上的所有进程,而不只是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockQueueTime_name

该值表示此块设备上的 IO 请求累计等待了多少毫秒。如果有多个 IO 请求同时在等待,该值会按“等待毫秒数 × 等待请求数”的乘积增加。这是一个系统级指标,涵盖主机上的所有进程,而不仅仅是 clickhouse-server。来源:/sys/block。另请参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockReadBytes_name

从块设备读取的字节数。由于使用了可减少 IO 的操作系统页缓存,该值可能会低于从 虚拟文件系统 读取的字节数。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockReadMerges_name

由操作系统 IO 调度器合并的块设备读取请求次数。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockReadOps_name

从块设备发起的读操作次数。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockReadTime_name

从块设备发起的读操作所耗费的时间 (以秒为单位) ,为所有此类操作的总和。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockWriteBytes_name

写入块设备的字节数。由于使用了可减少 IO 的操作系统 page cache,其值可能低于写入 虚拟文件系统 的字节数。由于直写缓存,块设备上的写入可能会晚于 虚拟文件系统 中对应的写入发生。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。来源:/sys/block。另请参阅 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockWriteMerges_name

由操作系统 IO 调度器从块设备发起并合并的写操作次数。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockWriteOps_name

向块设备请求的写操作次数。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

BlockWriteTime_name

从块设备发起的写操作所耗费的时间 (以秒为单位) ,为所有操作的总和。这是一个系统级指标,涵盖主机上的所有进程,而不仅仅是 clickhouse-server。来源:/sys/block。参见 https://www.kernel.org/doc/Documentation/block/stat.txt

CPUFrequencyMHz_name

CPU 的当前频率,单位为 MHz。大多数现代 CPU 会为节能和 Turbo Boost 而动态调整频率。

字典最大更新延迟

字典更新的最大延迟时间 (以秒为单位) 。

DictionaryTotalFailedUpdates

所有字典自上次成功加载以来的错误数量。

DiskAvailable_name

磁盘 (虚拟文件系统) 中的可用字节数。远程文件系统可能会显示很大的数值,例如 16 EiB。

DiskTotal_name

该 磁盘 (虚拟文件系统) 的总大小,单位为字节。远程文件系统可能会显示较大的值,例如 16 EiB。

DiskUnreserved_name

磁盘 (虚拟文件系统) 上扣除为合并、拉取和移动操作预留空间后剩余的可用字节数。远程文件系统可能会显示很大的值,例如 16 EiB。

DiskUsed_name

磁盘 (虚拟文件系统) 上的已用字节数。远程文件系统不一定会提供此信息。

FilesystemCacheBytes

虚拟文件系统 cache 中的总字节数。该缓存存储在磁盘上。

FilesystemCacheFiles

cache 虚拟文件系统中已缓存的 File 段总数。该缓存存储在磁盘上。

FilesystemLogsPathAvailableBytes

挂载 ClickHouse 日志路径的卷中的可用字节数。如果该值接近零,您应在配置文件中调整日志轮转设置。

FilesystemLogsPathAvailableINodes

挂载 ClickHouse 日志路径的卷上可用的 inode 数量。

FilesystemLogsPathTotalBytes

挂载 ClickHouse 日志路径的卷容量大小,以字节为单位。建议至少为日志预留 10 GB 空间。

FilesystemLogsPathTotalINodes

挂载 ClickHouse 日志路径所在卷上的 inode 总数。

FilesystemLogsPathUsedBytes

挂载 ClickHouse 日志路径所在卷的已用字节数。

FilesystemLogsPathUsedINodes

挂载 ClickHouse 日志路径的卷上已使用的 inode 数量。

FilesystemMainPathAvailableBytes

挂载 ClickHouse 主路径所在卷上的可用字节数。

FilesystemMainPathAvailableINodes

挂载 ClickHouse 主路径的卷上可用的 inode (索引节点) 数量。如果该值接近零,说明存在配置错误;即使磁盘未满,也会出现“设备上没有剩余空间”的错误。

FilesystemMainPathTotalBytes

挂载 ClickHouse 主路径的卷大小,以字节为单位。

FilesystemMainPathTotalINodes

挂载主 ClickHouse 路径的卷上的 inode 总数。如果小于 2500 万,则表示配置有误。

FilesystemMainPathUsedBytes

挂载 ClickHouse 主路径所在卷上已使用的字节数。

FilesystemMainPathUsedINodes

挂载 ClickHouse 主路径的卷上已使用的 inode 数量。该值基本上对应于文件数量。

HTTPThreads

HTTP 接口服务器 (不含 TLS) 的线程数。

HTTPSecureThreads

HTTPS 接口服务器中的线程数。

InterserverThreads

副本通信协议服务器中的线程数 (不使用 TLS) 。

InterserverSecureThreads

使用 TLS 的副本通信协议服务器中的线程数。

抖动

用于计算异步指标的线程计划被唤醒的时间与实际被唤醒的时间之间的差值。可作为反映整体系统延迟和响应能力的代理指标。

LoadAverageN

整个系统的负载,使用指数平滑按 1 分钟平均。该负载表示当前所有进程中的线程数 (即操作系统内核的调度实体) ,包括正在 CPU 上运行、等待 IO,或者已准备就绪但此时尚未被调度运行的线程。这个数值包含所有进程,而不仅仅是 clickhouse-server。如果系统负载过高,且有许多进程已准备运行但仍在等待 CPU 或 IO,那么这个数值可能会大于 CPU 核心数。

每个分区的最大 parts 数

在所有 MergeTree 家族表的全部分区中,单个分区所包含的最大 parts 数。值大于 300 表明存在配置不当、系统过载或大规模数据加载。

MemoryCode

服务器进程中机器代码页映射的虚拟内存量,单位为字节。

MemoryDataAndStack

映射用于栈和已分配内存的虚拟内存大小,单位为字节。是否包含各线程的栈,以及大部分通过 mmap 系统调用分配的内存,则未作明确说明。此指标仅为完整性而提供。建议监控时使用 MemoryResident 指标。

MemoryResidentMax

服务器进程占用的物理内存上限,单位为字节。

MemoryResident

服务器进程占用的物理内存量,单位为字节。

MemoryShared

服务器进程使用的内存中,同时也被其他进程共享的部分,单位为字节。ClickHouse 不使用共享内存,但由于操作系统自身的原因,某些内存可能会被标记为共享。这个指标并没有太大的参考意义,仅为完整起见而提供。

MemoryVirtual

服务器进程分配的虚拟地址空间大小,以字节为单位。虚拟地址空间通常会远大于物理内存占用,因此不应将其用作内存占用的估算依据。该指标数值较大完全正常,只有在技术层面才有意义。

MySQLThreads

MySQL 兼容协议服务器中的线程数。

NetworkReceiveBytes_name

通过网络接口接收的字节数。这是一个系统级指标,涵盖主机上的所有进程,而不只是 clickhouse-server。

NetworkReceiveDrop_name

通过网络接口接收数据包时丢弃的字节数。这是一项系统级指标,涵盖主机上的所有进程,而不仅仅是 clickhouse-server。

NetworkReceiveErrors_name

通过网络接口接收时发生错误的次数。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。

NetworkReceivePackets_name

通过网络接口接收的网络数据包总数。这是一项系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。

NetworkSendBytes_name

通过网络接口发送的字节数。这是一项系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。

NetworkSendDrop_name

通过网络接口发送时丢弃 packed 的次数。这是一个系统级指标,包含主机上的所有进程,而不仅限于 clickhouse-server。

NetworkSendErrors_name

通过网络接口发送时发生错误 (例如 TCP 重传) 的次数。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。

NetworkSendPackets_name

通过网络接口发送的网络数据包总数。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。

NumberOfDatabases

服务器上的数据库总数。

用户分离的 parts 总数

用户通过 ALTER TABLE DETACH 查询从 MergeTree 表中分离的 parts 总数 (不包括意外、损坏或被忽略的 parts) 。服务器不会处理 分离的 parts,因此可以将其删除。

NumberOfDetachedParts

从 MergeTree 表中分离出的 parts 总数。用户可以通过 ALTER TABLE DETACH 查询分离某个 part;如果某个 part 已损坏、异常或不再需要,服务器自身也可能将其分离。服务器不会处理 分离的 parts,因此可以将其移除。

表数量

服务器上各数据库中表的总数之和,不包括无法包含 MergeTree 表的数据库。被排除的数据库引擎是那些即时生成表集合的引擎,例如 LazyMySQLPostgreSQLSQlite

OSContextSwitches

主机系统发生的上下文切换总次数。这是一个系统级指标,统计的是主机上的所有进程,而不只是 clickhouse-server。

OSGuestNiceTime

在 Linux 内核控制下,当 guest 操作系统被设为较高优先级时,运行其虚拟 CPU 所花费时间的比率 (参见 man procfs) 。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。该指标与 ClickHouse 无关,但为保证完整性仍然保留。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值则是各核心数值之和,范围为 [0..num cores]。

OSGuestNiceTimeCPU_N

在 Linux 内核的控制下,当 guest 被设置为较高优先级时,为 guest 操作系统运行虚拟 CPU 所花费时间的占比 (参见 man procfs) 。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。该指标与 ClickHouse 无关,但为了保证完整性仍予以保留。单个 CPU 核心的值位于区间 [0..1] 内。所有 CPU 核心的值则为各核心数值之和,范围是 [0..num cores]。

OSGuestNiceTimeNormalized

该值与 OSGuestNiceTime 类似,但会除以 CPU 核心数,因此无论核心数量多少,其值都会落在 [0..1] 区间内。这样一来,即使集群中各服务器的核心数不一致,你也可以对该指标在多台服务器上的值求平均,仍然得到平均资源利用率指标。如果已指定,也可以用 Cgroup CPU 配额除以其周期后的结果来代替实际的 CPU 核心数;在这种情况下,该指标的值在某些时刻可能会超过 1。

OSGuestTime

在 Linux 内核控制下,为 guest 操作系统运行虚拟 CPU 所耗时间的比率 (参见 man procfs) 。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。这个指标与 ClickHouse 无关,但为保证完整性仍予以保留。单个 CPU 核心的值位于区间 [0..1] 内。所有 CPU 核心的值则按各核心求和计算,为 [0..num cores]。

OSGuestTimeCPU_N

在 Linux 内核控制下,为 guest 操作系统运行虚拟 CPU 所耗时间的比率 (参见 man procfs) 。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。该指标与 ClickHouse 无关,但为保证完整性仍予以保留。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值则是各核心值的总和,范围为 [0..num cores]。

OSGuestTimeNormalized

该值与 OSGuestTime 类似,但会除以 CPU 核心数,因此无论核心数多少,结果都会落在 [0..1] 区间内。这样一来,即使集群中各 server 的核心数不一致,你也可以对多个 server 上的这一指标求平均,仍然得到平均资源利用率指标。如果指定了 Cgroup CPU quota,则可使用其配额除以周期后的结果来代替实际 CPU 核心数;在这种情况下,该指标的值在某些时刻可能会超过 1。

OSIOWaitTime

当进程处于 IO 等待状态时,CPU 核心未执行代码,且操作系统内核也未在该 CPU 上运行任何其他进程,这段时间所占的比例。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值则是各核心值的总和,范围为 [0..num cores]。

OSIOWaitTimeCPU_N

当进程在等待 IO 时,CPU 核心未执行代码,且操作系统内核也没有在该 CPU 上运行任何其他进程,这段时间所占的比率。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。单个 CPU 核心的值范围为 [0..1]。所有 CPU 核心的值则为各核心值之和,范围为 [0..num cores]。

OSIOWaitTimeNormalized

该值与 OSIOWaitTime 类似,但会除以 CPU 核心数,因此无论核心数量多少,结果都会落在 [0..1] 区间内。这样一来,即使集群中各服务器的核心数并不一致,你也可以对多台服务器上的该指标取平均值,同时仍然得到平均资源利用率指标。如果已指定,也可以用 Cgroup 的 CPU 配额 除以其 period 的结果来代替实际的 CPU 核心数;在这种情况下,该指标的值在某些时刻可能会超过 1。

OSIdleTime

从操作系统内核的视角来看,CPU 核心处于空闲状态的时间占比 (即它甚至未准备好运行正在等待 IO 的进程) 。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。这不包括由于 CPU 内部原因导致 CPU 未被充分利用的时间 (例如内存加载、流水线停顿、分支预测错误、运行另一个 SMT 核心) 。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值则按各核心求和计算,范围为 [0..num cores]。

OSIdleTimeCPU_N

从操作系统内核的角度看,CPU 核心处于空闲状态的时间占比 (即甚至没有准备好运行某个正在等待 IO 的进程) 。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。这不包括因 CPU 内部原因而未被充分利用的时间 (如内存加载、流水线停顿、分支预测错误、运行另一个 SMT 核心) 。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值则按各核心求和计算,范围为 [0..num cores]。

OSIdleTimeNormalized

该值与 OSIdleTime 类似,但会除以 CPU 核心数,因此无论核心数量多少,结果都落在 [0..1] 区间内。这样一来,即使集群中多台服务器的核心数分布不均,也可以对该指标值求平均,仍然得到平均资源利用率指标。如果已指定,也可以使用 Cgroup CPU 配额除以其周期所得的值来代替实际 CPU 核心数;在这种情况下,该指标的值在某些时刻可能会超过 1。

OSInterrupts

主机上的中断总次数。这是一个系统级指标,涵盖主机上的所有进程,而不只是 clickhouse-server。

OSIrqTime

CPU 用于处理硬件中断请求的时间占比。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。该指标数值偏高可能表示硬件配置不当,或网络负载过高。单个 CPU 核心的值范围为 [0..1]。所有 CPU 核心的值则是各核心值的总和,范围为 [0..num cores]。

OSIrqTimeCPU_N

CPU 用于处理硬件中断请求的时间占比。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。该指标数值较高可能表明硬件配置不当,或网络负载过高。单个 CPU 核心的值位于区间 [0..1] 内。所有 CPU 核心的值则为各核心数值之和 [0..num cores]。

OSIrqTimeNormalized

该值与 OSIrqTime 类似,但会除以 CPU 核心数,因此无论核心数量多少,结果都会落在 [0..1] 区间内。这样一来,即使集群中多台服务器的核心数不一致,你也可以对该指标在这些服务器上的值取平均,仍然得到平均资源利用率指标。如果指定了 Cgroup CPU 配额,则可以用其除以周期后的结果来代替实际的 CPU 核心数;在这种情况下,该指标的值在某些时刻可能会超过 1。

操作系统可用内存

可供程序使用的内存量,以字节为单位。它与 OSMemoryFreePlusCached 指标非常接近。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。

OSMemoryBuffers

OS 内核缓冲区占用的内存量,以字节为单位。该值通常应较小;如果数值较大,可能表明 OS 配置存在问题。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。

OSMemoryCached

操作系统页缓存占用的内存量,以字节为单位。通常,几乎所有可用内存都会被操作系统页缓存占用,因此该指标值较高是正常且符合预期的。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。

OSMemoryFreePlusCached

主机系统上空闲内存与操作系统页缓存内存的总量,单位为字节。这部分内存可供程序使用。该值应与 OSMemoryAvailable 非常接近。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。

OSMemoryFreeWithoutCached

主机系统上的空闲内存量,单位为字节。其中不包括操作系统页缓存使用的内存 (单位同样为字节) 。页缓存中的内存也可供程序使用,因此这个指标的值可能会让人产生误解。建议改为查看 OSMemoryAvailable 指标。为方便起见,我们还提供了 OSMemoryFreePlusCached 指标,它应与 OSMemoryAvailable 比较接近。另请参见 https://www.linuxatemyram.com/。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。

OSMemoryTotal

主机系统的内存总量,以字节为单位。

OSNiceTime

CPU 核心以较高优先级运行用户态代码的时间占比。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值则是各核心值的总和,范围为 [0..num cores]。

OSNiceTimeCPU_N

CPU 核心以较高优先级运行用户态代码的时间占比。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值为各核心数值之和,范围为 [0..num cores]。

OSNiceTimeNormalized

该值与 OSNiceTime 类似,但会除以 CPU 核心数,因此无论核心数量多少,结果都落在 [0..1] 区间内。这样一来,即使集群中各服务器的核心数并不一致,你也可以对多台服务器上的这一指标取平均值,并仍然得到平均资源利用率指标。如果有指定,也可以用 Cgroup CPU 配额 除以其 period 的结果来代替实际的 CPU 核心数;在这种情况下,该指标的值在某些时刻可能会超过 1。

OSOpenFiles

主机上打开的文件总数。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。

OSProcessesBlocked

因等待 I/O 完成而阻塞的线程数 (man procfs) 。这是一个系统级指标,涵盖主机上的所有进程,而不只是 clickhouse-server。

OSProcessesCreated

创建的进程数。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。

OSProcessesRunning

操作系统中处于可运行状态 (正在运行或已准备好运行) 的线程数量。这是一个系统级指标,涵盖主机上的所有进程,而不只是 clickhouse-server。

OSSoftIrqTime

CPU 用于处理软件中断请求的时间占比。这是一个系统级指标,涵盖主机上的所有进程,而不只是 clickhouse-server。该指标数值较高,可能表明系统上运行的软件效率不高。单个 CPU 核心的值位于区间 [0..1] 内。所有 CPU 核心的值则为各核心数值之和 [0..num cores]。

OSSoftIrqTimeCPU_N

CPU 用于处理软件中断请求的时间占比。这是一个系统级指标,涵盖主机上的所有进程,而不只是 clickhouse-server。该指标数值较高,可能表明系统中运行的某些软件效率不佳。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值则是各核心数值之和,范围为 [0..num cores]。

OSSoftIrqTimeNormalized

该值与 OSSoftIrqTime 类似,但会除以 CPU 核心数,因此无论核心数量多少,其度量值都会落在 [0..1] 区间内。这样一来,即使集群中各服务器的核心数并不一致,也可以对多台服务器上的这一指标求平均,同时仍能得到平均资源利用率指标。如果已指定,也可以用 Cgroup CPU 配额除以其周期来代替实际的 CPU 核心数;在这种情况下,该指标的值在某些时刻可能会超过 1。

OSStealTime

在虚拟化环境中运行时,CPU 被其他操作系统占用的时间比例。这是一个系统级指标,涵盖主机上的所有进程,而不只是 clickhouse-server。并非所有虚拟化环境都会提供这一指标,而且大多数都不会提供。单个 CPU 核心的值处于区间 [0..1]。所有 CPU 核心的值为各核心数值之和,范围是 [0..num cores]。

OSStealTimeCPU_N

在虚拟化环境中运行时,CPU 被其他操作系统占用的时间比例。这是一个系统级指标,包含主机上的所有进程,而不只是 clickhouse-server。并非所有虚拟化环境都会提供该指标,而且大多数都不会提供。单个 CPU 核心的值位于区间 [0..1] 内。所有 CPU 核心的值则是各核心数值之和,范围为 [0..num cores]。

OSStealTimeNormalized

该值与 OSStealTime 类似,但会除以 CPU 核心数,因此无论核心数量多少,结果都会落在 [0..1] 区间内。这样一来,即使一个 集群 中各个 server 的核心数并不一致,你也可以对多台 server 上这一指标的值求平均,仍然得到平均资源利用率指标。如果已指定,则可以用 Cgroup 的 CPU quota 除以其 period 的结果来替代实际的 CPU 核心数;在这种情况下,该指标的值在某些时刻可能会超过 1。

OSSystemTime

CPU 核心运行 操作系统内核 (system) 代码的时间占比。这是一个系统级指标,涵盖主机上的所有进程,而不只是 clickhouse-server。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值则按求和计算,范围为 [0..num cores]。

OSSystemTimeCPU_N

CPU 核心运行操作系统内核 (system) 代码的时间占比。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值通过对各核心求和计算得出,范围为 [0..num cores]。

OSSystemTimeNormalized

该值与 OSSystemTime 类似,但会除以 CPU 核心数,因此无论核心数量多少,其度量值都会落在 [0..1] 区间内。这样一来,即使集群中各台服务器的核心数量并不一致,你仍然可以对多台服务器上的这一指标值求平均,并得到平均资源利用率指标。如果有指定,也可以使用 Cgroup CPU 配额除以其周期来代替实际的 CPU 核心数;在这种情况下,该指标的值在某些时刻可能会超过 1。

OSThreadsRunnable

从操作系统内核调度器的视角看,处于“可运行”状态的线程总数。

OSThreadsTotal

线程总数,即操作系统内核调度器所见的线程总数。

OSUptime

主机服务器 (即运行 ClickHouse 的机器) 的运行时间,单位为秒。

OSUserTime

CPU 核心处于运行用户态代码状态的时间占比。这是一个系统级指标,涵盖主机上的所有进程,而不仅仅是 clickhouse-server。它还包括 CPU 由于自身内部原因而未被充分利用的时间 (如内存加载、流水线停顿、分支预测错误、运行另一个 SMT 核心时) 。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值则是各核心数值之和,范围为 [0..num cores]。

OSUserTimeCPU_N

CPU 核心执行用户态代码的时间占比。这是一个系统级指标,包含主机上的所有进程,而不仅仅是 clickhouse-server。它还包括由于 CPU 内部原因导致 CPU 未得到充分利用的时间 (例如内存加载、流水线停顿、分支预测错误、运行另一个 SMT 核心时的时间) 。单个 CPU 核心的值位于区间 [0..1]。所有 CPU 核心的值则是各核心数值之和,范围为 [0..num cores]。

OSUserTimeNormalized

该值与 OSUserTime 类似,但会除以 CPU 核心数,因此无论核心数多少,其值都落在 [0..1] 区间内。这样一来,即使集群中多台服务器的核心数不一致,你也可以对该指标的值求平均,仍然得到平均资源利用率指标。如果有指定,也可以用 Cgroup CPU 配额除以其周期的结果来代替实际的 CPU 核心数;在这种情况下,该指标的值在某些时刻可能会超过 1。

PostgreSQLThreads

PostgreSQL 兼容协议服务器中的线程数。

QueriesMemoryUsage

服务器上所有正在运行的查询当前使用的总内存,单位为字节。可用于将内存压力归因于并发查询负载。

QueriesPeakMemoryUsage

ProcessList 中跟踪的所有用户的单用户查询内存峰值总和,单位为字节。每个用户的峰值都是该用户 memory tracker 的最高水位;当该用户没有正在运行的查询时,该值会重置。因此,这里表示的是当前正在跟踪的各用户峰值的聚合值,而不是服务器自启动以来所有查询的单一全局峰值。

ReplicasMaxAbsoluteDelay

在复制表中,最新已复制的数据分区片段与最新的、仍待复制的数据分区片段之间的最大时间差 (以秒为单位) 。该值非常高通常表示某个副本中没有数据。

ReplicasMaxInsertsInQueue

复制表队列中 (尚待复制) 的 INSERT 操作最大数量。

ReplicasMaxMergesInQueue

所有复制表中队列内 (尚待执行) 的合并操作最大数量。

ReplicasMaxQueueSize

所有复制表中队列的最大长度 (按操作数计算,如 get、merge) 。

ReplicasMaxRelativeDelay

在复制表中,某个副本的延迟与同一表中延迟最低的最新副本之间的最大差值。

ReplicasSumInsertsInQueue

所有 复制表 的队列中尚待复制的 INSERT 操作总数。

ReplicasSumMergesInQueue

复制表中队列内 (尚未应用) 的 merge 操作总数。

ReplicasSumQueueSize

所有复制表的队列总大小 (以 get、merge 等操作的数量计) 。

TCPThreads

TCP 协议 (不使用 TLS) 的服务器线程数。

TCPSecureThreads

启用 TLS 的 TCP 协议服务器中的线程数。

GRPCThreads

GRPC 协议服务端的线程数。

PrometheusThreads

Prometheus 端点服务器中的线程数。注意:Prometheus 端点也可以通过常规的 HTTP/HTTPS 端口访问。

KeeperTCPThreads

Keeper TCP 协议服务器中的线程数 (不含 TLS) 。

KeeperTCPSecureThreads

Keeper TCP 协议服务器 (启用 TLS) 的线程数。

温度_N

对应设备的温度,单位为 ℃。传感器可能会返回异常值。来源:/sys/class/thermal

Temperature_name

由相应的硬件监控器及其对应传感器报告的温度,单位为 ℃。传感器可能返回不合理的值。来源:/sys/class/hwmon

MergeTree 家族中所有表的总字节数

MergeTree 家族中所有表存储的总字节数 (压缩后,包含数据和索引) 。

MergeTree 家族表的数据分区片段总数

MergeTree 家族中所有表的数据分区片段总数。数值超过 10 000 会对服务器启动时间产生负面影响,也可能表明分区键选择不合理。

TotalPrimaryKeyBytesInMemory

主键值使用的内存总量 (以字节计,仅考虑活跃 parts) 。

TotalPrimaryKeyBytesInMemoryAllocated

为主键值预留的内存总量 (以字节为单位,仅统计活动 parts) 。

TotalRowsOfMergeTreeTables

MergeTree 家族中所有表存储的总行数 (记录数) 。

运行时间

服务器的运行时间,以秒为单位。包括服务器在开始接受连接之前的初始化时间。

ZooKeeperClientLastZXIDSeen

当前 ZooKeeper 客户端会话看到的最新 ZXID。随着客户端观察到来自 ZooKeeper 的事务,该值会单调递增。

LongestRunningMerge

当前运行时间最长的后台合并的耗时 (秒) 。

jemalloc.active

底层内存分配器 (jemalloc) 的内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.allocated

底层内存分配器 (jemalloc) 的一项内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.arenas.all.dirty_purged

这是底层内存分配器 (jemalloc) 的一个内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.arenas.all.muzzy_purged

jemalloc 底层内存分配器的内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.arenas.all.pactive

jemalloc 这一底层内存分配器的内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.arenas.all.pdirty

底层内存分配器 (jemalloc) 的内部度量指标。请参见 https://jemalloc.net/jemalloc.3.html

jemalloc.arenas.all.pmuzzy

这是底层内存分配器 (jemalloc) 的一个内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.background_thread.num_runs

jemalloc 这一底层内存分配器的内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.background_thread.num_threads

jemalloc 底层内存分配器的内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.background_thread.run_intervals

jemalloc 底层内存分配器的一个内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.epoch

jemalloc (Jason Evans 的内存分配器) 统计信息的内部递增更新序号,用于所有其他 jemalloc 指标。

jemalloc.mapped

jemalloc (底层内存分配器) 的一个内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.metadata

底层内存分配器 (jemalloc) 的一个内部度量指标。请参阅 https://jemalloc.net/jemalloc.3.html

jemalloc.metadata_thp

这是底层内存分配器 (jemalloc) 的内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.resident

底层内存分配器 (jemalloc) 的内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.retained

jemalloc 这一底层内存分配器的一个内部度量指标。参见 https://jemalloc.net/jemalloc.3.html

jemalloc.prof.active

底层内存分配器 (jemalloc) 的一项内部度量指标。参见 https://jemalloc.net/jemalloc.3.html 另请参见
  • 监控 — ClickHouse 监控的基础概念。
  • system.metrics — 包含即时计算得到的指标。
  • system.events — 包含若干已发生的事件。
  • system.metric_log — 包含来自表 system.metricssystem.events 的指标值历史记录。
最后修改于 2026年6月10日