指标参考

解读不熟悉的指标时应谨慎行事。建议阅读性能章节以更好地理解这些指标。

有关 2025-2026 系列中已更改、已弃用或已删除指标的列表,请参阅Neo4j 2025-2026 系列中的变更当前弃用内容以及Neo4j 2025.01 中的重大变更

指标类型

Neo4j 具有以下类型的指标

  • 全局 (Global) — 涵盖整个 Neo4j DBMS。

  • 数据库级 (Per database) — 涵盖单个数据库。

指标分为以下类别

  • 计量器 (Gauge) — 显示特定值的瞬时读数。

  • 计数器 (Counter) — 显示累积值。

  • 直方图 (Histogram) — 显示值的分布情况。

Neo4j 支持多种公开指标的方式。有关详细信息,请参阅公开指标 (Expose metrics) 页面。

全局指标

全局指标涵盖整个数据库管理系统,并代表系统的整体状态。

全局指标采用以下名称格式

  • <user-configured-prefix>.dbms.<metric-name>,其中 <user-configured-prefix> 可通过 server.metrics.prefix 配置设置进行配置。

此类指标在数据库管理系统可用时立即上报。例如,所有 JVM 相关指标均为全局指标。特别是 neo4j.dbms.vm.thread.count 指标,其默认用户配置前缀为 neo4j,因此全局指标名称为 vm.thread.count

默认情况下,全局指标包括

数据库指标

每个数据库指标仅针对特定数据库上报。数据库指标仅在数据库生命周期内可用。当数据库不可用时,其所有指标也将不可用。

数据库指标采用以下名称格式

  • <user-configured-prefix>.database.<database-name>.<metric-name>,其中 <user-configured-prefix> 可通过 server.metrics.prefix 配置设置进行配置。

例如,任何事务指标都是数据库指标。特别是 neo4j.database.mydb.transaction.started 指标,其默认用户配置前缀为 neo4j,且是针对 mydb 数据库的指标。

默认情况下,数据库指标包括

通用指标

Bolt 指标

表 1. Bolt 指标
名称 描述

<prefix>.dbms.bolt.connections_opened

自启动以来打开的 Bolt 连接总数。这包括成功和失败的连接。结合其他指标,有助于通过 Bolt 驱动程序监控负载。(计数器)

<prefix>.dbms.bolt.connections_closed

自启动以来关闭的 Bolt 连接总数。这包括正常和异常结束的连接。结合其他指标,有助于通过 Bolt 驱动程序监控负载。(计数器)

<prefix>.dbms.bolt.connections_running

当前正在执行 Cypher 并返回结果的 Bolt 连接总数。有助于跟踪 Bolt 连接上的总负载。此值受通过 dbms.connector.bolt.thread_pool_max_size 配置的 Bolt 工作线程数量限制。达到此最大值表明服务器已满负荷运行。(计量器)

<prefix>.dbms.bolt.connections_idle

当前未执行 Cypher 或返回结果的 Bolt 连接总数。(计量器)

<prefix>.dbms.bolt.messages_received

自启动以来通过 Bolt 接收的消息总数。结合其他指标,有助于跟踪常规消息活动。(计数器)

<prefix>.dbms.bolt.messages_started

自接收以来已开始处理的消息总数。接收到的消息可能需要等待 Bolt 工作线程可用才能开始处理。如果观察到 bolt.messages_receivedbolt.messages_started 之间存在巨大差距,则可能表明服务器已满负荷运行。(计数器)

<prefix>.dbms.bolt.messages_done

已完成处理(无论成功与否)的 Bolt 消息总数。有助于跟踪总负载。(计数器)

<prefix>.dbms.bolt.messages_failed

处理过程中失败的消息总数。大量失败可能表明服务器存在问题,建议进一步调查日志。(计数器)

<prefix>.dbms.bolt.accumulated_queue_time

(不支持的功能) 当启用 internal.server.bolt.thread_pool_queue_size 时,这是 Bolt 消息在处理队列中等待 Bolt 工作线程可用以进行处理的总时间(毫秒)。该值急剧增加表明服务器已满负荷运行。如果禁用 internal.server.bolt.thread_pool_queue_size,该值应为 0,表示消息直接传递给工作线程。(计数器)

<prefix>.dbms.bolt.accumulated_processing_time

工作线程处理消息的总时间(毫秒)。结合其他指标,有助于通过 Bolt 驱动程序监控负载。(计数器)

<prefix>.dbms.bolt.worker_thread_bound_time

工作线程绑定到给定连接的时间(毫秒)。(直方图)

<prefix>.dbms.bolt.response_success

(不支持的功能) 当启用 internal.server.bolt.response_metrics 时,encounteredsuccess 响应的数量。(计数器)

<prefix>.dbms.bolt.response_ignored

(不支持的功能) 当启用 internal.server.bolt.response_metrics 时,encounteredignored 响应的数量。(计数器)

<prefix>.dbms.bolt.response_failed

(不支持的功能) 当启用 internal.server.bolt.response_metrics 时,给定错误代码的 encounteredinstances 数量。(计数器)

Bolt 驱动程序指标

表 2. Bolt 驱动程序指标
名称 描述

<prefix>.dbms.bolt_driver.api.managed_transaction_function_calls

托管事务函数调用总数。(计数器)

<prefix>.dbms.bolt_driver.api.unmanaged_transaction_calls

非托管事务函数调用总数。(计数器)

<prefix>.dbms.bolt_driver.api.implicit_transaction_calls

隐式事务函数调用总数。(计数器)

<prefix>.dbms.bolt_driver.api.execute_calls

驱动程序级执行函数调用总数。(计数器)

数据库检查点指标

表 3. 数据库检查点指标
名称 描述

<prefix>.check_point.events

到目前为止执行的检查点事件总数。(计数器)

<prefix>.check_point.total_time

到目前为止花费在检查点上的总时间(毫秒)。(计数器)

<prefix>.check_point.duration

上一次检查点事件的持续时间(毫秒)。检查点通常需要几秒到几分钟。长时间的检查点可能会成为问题,因为它们在数据库停止时、执行热备份时以及定期调用。超过约 30 分钟的值应引起调查。(计量器)

<prefix>.check_point.flushed_bytes

所有检查点事件期间刷新字节数的累积总和。(计数器)

<prefix>.check_point.limit_millis

检查点因 IO 限制器而暂停的毫秒数。(计量器)

<prefix>.check_point.limit_times

检查点因 IO 限制器而暂停的次数。(计量器)

<prefix>.check_point.pages_flushed

在上一次检查点事件期间刷新的页面数。(计量器)

<prefix>.check_point.io_performed

从 Neo4j 角度看,在上一次检查点事件期间执行的 IO 数量。(计量器)

<prefix>.check_point.io_limit

上一次检查点事件期间使用的 IO 限制。(计量器)

Cypher 指标

表 4. Cypher 指标
名称 描述

<prefix>.cypher.replan_events

Cypher 决定重新计划查询的总次数。Neo4j 默认缓存 1000 个计划。如果观察到持续的重计划事件或大规模峰值,可能表明存在需要调查的问题。(计数器)

<prefix>.cypher.replan_wait_time

查询重计划之间等待的总秒数。(计数器)

数据库数据计数指标

表 5. 数据库数据计数指标
名称 描述

<prefix>.neo4j.count.relationship

数据库中的关系总数。(计量器)

<prefix>.neo4j.count.node

数据库中的节点总数。这是图大小的一个粗略指标。如果您正在运行批量插入操作,可以看到此数值增加。(计量器)

<prefix>.neo4j.count.relationship_types

为存储在数据库中的不同关系类型内部生成的 ID 总数。这些 ID 不反映实际数据的变化。仅供参考,不代表任何问题。(计量器)

数据库 neo4j 池指标

表 6. 数据库 neo4j 池指标
名称 描述

<prefix>.database.<database>.pool.<pool>.<database>.used_heap

已使用或保留的堆内存(字节)。(计量器)

<prefix>.database.<database>.pool.<pool>.<database>.used_native

已使用或保留的本地内存(字节)。(计量器)

<prefix>.database.<database>.pool.<pool>.<database>.total_used

堆内存和本地内存已使用的总和(字节)。(计量器)

<prefix>.database.<database>.pool.<pool>.<database>.total_size

堆内存和/或本地内存池容量的总和。(计量器)

<prefix>.database.<database>.pool.<pool>.<database>.free

池中可用的未用内存(字节)。(计量器)

数据库操作计数指标

表 7. 数据库操作计数指标
名称 描述

<prefix>.db.operation.count.create

成功的数据库创建操作计数。(计数器)

<prefix>.db.operation.count.start

成功的数据库启动操作计数。(计数器)

<prefix>.db.operation.count.stop

成功的数据库停止操作计数。(计数器)

<prefix>.db.operation.count.drop

成功的数据库删除操作计数。(计数器)

<prefix>.db.operation.count.failed

失败的数据库操作计数。(计数器)

<prefix>.db.operation.count.recovered

先前失败但已恢复的数据库操作计数。(计数器)

数据库状态计数指标

表 8. 数据库状态计数指标
名称 描述

<prefix>.db.state.count.hosted

此服务器上托管的数据库。处于 started(已启动)、store copying(正在复制存储)或 draining(正在排干)状态的数据库被视为已托管。(计量器)

<prefix>.db.state.count.failed

此服务器上处于失败状态的数据库。(计量器)

<prefix>.db.state.count.desired_started

希望在此服务器上启动的数据库。(计量器)

数据库数据指标

在 5.15 版本中已弃用

表 9. 数据库数据指标
名称 描述

<prefix>.ids_in_use.relationship_type

为存储在数据库中的不同关系类型内部生成的 ID 总数。这些 ID 不反映实际数据的变化。仅供参考,不代表任何问题。(计量器)

<prefix>.ids_in_use.property

为存储在数据库中的不同属性名称内部生成的 ID 总数。这些 ID 不反映实际数据的变化。仅供参考,不代表任何问题。(计量器)

<prefix>.ids_in_use.relationship

为存储在数据库中的关系内部生成的、可重用的 ID 总数。这些 ID 不反映实际数据的变化。如果您想要一个粗略的图大小指标,请改用 <prefix>.neo4j.count.relationship。(计量器)

<prefix>.ids_in_use.node

为存储在数据库中的节点内部生成的、可重用的 ID 总数。这些 ID 不反映实际数据的变化。如果您想要一个粗略的图大小指标,请改用 <prefix>.neo4j.count.node。(计量器)

对于使用 块格式 (block format) 的数据库,数据库数据指标不报告数值。相反,这些指标始终报告 -1。这并不代表任何错误。

全局 neo4j 池指标

Table 10. 全局 neo4j 池指标
名称 描述

<prefix>.dbms.pool.<pool>.used_heap

已使用或保留的堆内存(字节)。(计量器)

<prefix>.dbms.pool.<pool>.used_native

已使用或保留的本地内存(字节)。(计量器)

<prefix>.dbms.pool.<pool>.total_used

堆内存和本地内存已使用的总和(字节)。(计量器)

<prefix>.dbms.pool.<pool>.total_size

堆内存和/或本地内存池容量的总和。(计量器)

<prefix>.dbms.pool.<pool>.free

池中可用的未用内存(字节)。(计量器)

数据库页面缓存指标

表 11. 数据库页面缓存指标
名称 描述

<prefix>.page_cache.eviction_exceptions

页面缓存驱逐过程中出现的异常总数。(计数器)

<prefix>.page_cache.flushes

页面缓存执行的页面刷新总数。(计数器)

<prefix>.page_cache.merges

页面缓存执行的页面合并总数。(计数器)

<prefix>.page_cache.unpins

页面缓存执行的页面解除固定 (unpin) 总数。(计数器)

<prefix>.page_cache.pins

页面缓存执行的页面固定 (pin) 总数。(计数器)

<prefix>.page_cache.evictions

页面缓存执行的页面驱逐总数。(计数器)

<prefix>.page_cache.evictions.cooperative

由于可用页面较少,页面缓存执行的协作页面驱逐总数。(计数器)

<prefix>.page_cache.eviction.flushes

通过页面驱逐刷新的页面总数。(计数器)

<prefix>.page_cache.eviction.cooperative.flushes

通过协作页面驱逐刷新的页面总数。(计数器)

<prefix>.page_cache.page_faults

页面缓存中的缺页中断 (page fault) 总数。如果此计数随着时间的推移不断增加,可能表明需要更多的页面缓存。但是,请注意,当 Neo4j Enterprise 启动时,所有的页面缓存预热活动都会导致缺页中断。因此,在启动后立即观察到大量的缺页中断计数是正常的。(计数器)

<prefix>.page_cache.page_fault_failures

页面缓存中发生的失败的缺页中断总数。(计数器)

<prefix>.page_cache.page_cancelled_faults

页面缓存中发生的已取消的缺页中断总数。(计数器)

<prefix>.page_cache.page_vectored_faults

页面缓存中发生的向量缺页中断总数。(计数器)

<prefix>.page_cache.page_vectored_faults_failures

页面缓存中发生的失败的向量缺页中断总数。(计数器)

<prefix>.page_cache.page_no_pin_page_faults

页面缓存中发生的不是由页面固定引起的缺页中断总数。代表通过向量缺页中断加载的页面。(计数器)

<prefix>.page_cache.hits

页面缓存中发生的页面命中总数。(计数器)

<prefix>.page_cache.hit_ratio

命中次数与页面缓存中查找总数的比率。性能依赖于有效地使用页面缓存,因此该指标应持续保持在 98-100% 的范围内。如果远低于此值,则说明数据库访问磁盘的频率过高。(计量器)

<prefix>.page_cache.usage_ratio

已使用页面数与可用页面总数的比率。该指标显示了分配的页面缓存中有多少百分比正在实际使用。如果为 100%,则命中率可能会开始下降,您应考虑分配更多的内存给页面缓存。(计量器)

<prefix>.page_cache.bytes_read

页面缓存读取的总字节数。(计数器)

<prefix>.page_cache.bytes_written

页面缓存写入的总字节数。(计数器)

<prefix>.page_cache.iops

页面缓存执行的 IO 操作总数。(计数器)

<prefix>.page_cache.throttled.times

在进行 IO 操作期间页面缓存刷新 IO 限制器被节流的总次数。(计数器)

<prefix>.page_cache.throttled.millis

在进行 IO 操作期间页面缓存刷新 IO 限制器被节流的总毫秒数。(计数器)

<prefix>.page_cache.pages_copied

页面缓存中发生的页面复制总数。(计数器)

<prefix>.page_cache.pages_snapshot_loaded

引入于 2026.02 页面缓存中加载的旧页面快照总数。(计数器)

<prefix>.page_cache.async_submit

引入于 2026.02 页面缓存中发生的页面异步 IO 提交总数。(计数器)

<prefix>.page_cache.async_complete

引入于 2026.02 页面缓存中发生的页面异步 IO 完成总数。(计数器)

<prefix>.page_cache.async_failure

引入于 2026.02 页面缓存中发生的页面异步 IO 失败总数。(计数器)

查询执行指标

表 12. 查询执行指标
名称 描述

<prefix>.db.query.execution.success

已执行的成功查询计数。服务端路由的查询在它们最终到达并执行的服务器上贡献此计数,而不是在中间的路由服务器上。(计数器)

<prefix>.db.query.execution.failure

已执行的失败查询计数。服务端路由的查询在它们最终到达并执行的服务器上贡献此计数,而不是在中间的路由服务器上。(计数器)

<prefix>.db.query.execution.latency.millis

成功执行的查询的执行时间(毫秒)。(直方图)

<prefix>.db.query.execution.parallel.success

并行运行时执行的成功查询计数。服务端路由的查询在它们最终到达并执行的服务器上贡献此计数。(计数器)

<prefix>.db.query.execution.parallel.failure

并行运行时执行的失败查询计数。服务端路由的查询在它们最终到达并执行的服务器上贡献此计数。(计数器)

<prefix>.db.query.execution.parallel.latency.millis

并行运行时成功执行的查询的执行时间(毫秒)。(直方图)

<prefix>.db.query.execution.pipelined.success

流水线 (pipelined) 运行时执行的成功查询计数。服务端路由的查询在它们最终到达并执行的服务器上贡献此计数。(计数器)

<prefix>.db.query.execution.pipelined.failure

流水线运行时执行的失败查询计数。服务端路由的查询在它们最终到达并执行的服务器上贡献此计数。(计数器)

<prefix>.db.query.execution.pipelined.latency.millis

流水线运行时成功执行的查询的执行时间(毫秒)。(直方图)

<prefix>.db.query.execution.slotted.success

槽位 (slotted) 运行时执行的成功查询计数。服务端路由的查询在它们最终到达并执行的服务器上贡献此计数。(计数器)

<prefix>.db.query.execution.slotted.failure

槽位运行时执行的失败查询计数。服务端路由的查询在它们最终到达并执行的服务器上贡献此计数。(计数器)

<prefix>.db.query.execution.slotted.latency.millis

槽位运行时成功执行的查询的执行时间(毫秒)。(直方图)

查询路由指标

表 13. 查询路由指标
名称 描述

<prefix>.dbms.routing.query.count.local

本地执行的查询总数。(计数器)

<prefix>.dbms.routing.query.count.remote_internal

路由到同一集群中其他成员的查询总数。(计数器)

<prefix>.dbms.routing.query.count.remote_external

路由到集群外服务器的查询总数。(计数器)

数据库存储大小指标

表 14. 数据库存储大小指标
名称 描述

<prefix>.store.size.full

重命名于 2025.01 数据库和事务日志的总大小(字节)。数据库的总大小有助于确定需要多少页面缓存。它还有助于比较数据存储所使用的总磁盘空间以及剩余可用空间。(计量器)

<prefix>.store.size.database

数据库的大小(字节)。数据库的总大小有助于确定需要多少页面缓存。它还有助于比较数据存储所使用的总磁盘空间以及剩余可用空间。(计量器)

<prefix>.store.size.available_reserved

数据库中已保留但可用空间的估计值(字节)。在写入新数据时,至少有这么多空间是可以重复利用的。(计量器)

数据库事务日志指标

表 15. 数据库事务日志指标
名称 描述

<prefix>.log.rotation_events

到目前为止执行的事务日志轮转总数。(计数器)

<prefix>.log.rotation_total_time

到目前为止花费在轮转事务日志上的总时间(毫秒)。(计数器)

<prefix>.log.rotation_duration

上一次日志轮转事件的持续时间(毫秒)。(计量器)

<prefix>.log.appended_bytes

追加到事务日志的总字节数。(计数器)

<prefix>.log.flushes

事务日志刷新总数。(计数器)

<prefix>.log.append_batch_size

上一个事务追加批次的大小。(计量器)

数据库事务指标

表 16. 数据库事务指标
名称 描述

<prefix>.transaction.started

已启动的事务总数。(计数器)

<prefix>.transaction.peak_concurrent

并发事务的最高峰值。这是一个非常有用的数值,有助于理解最高负载场景的设计,以及是否应该调整 Bolt 线程设置。(计数器)

<prefix>.transaction.active

当前活动事务的数量。仅供参考,不代表任何问题。峰值或大幅增长可能表明存在大量数据加载或高读取负载。(计量器)

<prefix>.transaction.active_read

当前活动读取事务的数量。(计量器)

<prefix>.transaction.active_write

当前活动写入事务的数量。(计量器)

<prefix>.transaction.committed

已提交事务的总数。仅供参考,不代表任何问题。峰值或大幅增长表明存在大量数据加载或高读取负载。(计数器)

<prefix>.transaction.committed_read

已提交的读取事务总数。仅供参考,不代表任何问题。峰值或大幅增长表明存在高读取负载。(计数器)

<prefix>.transaction.committed_write

已提交的写入事务总数。仅供参考,不代表任何问题。峰值或大幅增长表明存在大量数据加载,这可能与您正在调查的某些行为相对应。(计数器)

<prefix>.transaction.rollbacks

已回滚事务的总数。(计数器)

<prefix>.transaction.rollbacks_read

已回滚的读取事务总数。(计数器)

<prefix>.transaction.rollbacks_write

已回滚的写入事务总数。看到大量写入回滚可能表明存在各种锁定、事务超时等问题。(计数器)

<prefix>.transaction.rollbacks_deadlocked

引入于 2026.01 因死锁而回滚的事务总数。(计数器)

<prefix>.transaction.terminated

已终止事务的总数。(计数器)

<prefix>.transaction.terminated_read

已终止的读取事务总数。(计数器)

<prefix>.transaction.terminated_write

已终止的写入事务总数。(计数器)

<prefix>.transaction.last_committed_tx_id

最后提交的事务 ID。请为每个实例跟踪此值。(集群)请为每个主库和从库跟踪此值。可能需要分拆成单独的图表。它应该显示一条不断增加的线;如果其中一条线持平或落后,则很清楚该成员不再复制数据,需要采取行动来纠正这种情况。(计数器)

<prefix>.transaction.last_closed_tx_id

最后一个关闭的事务的 ID。(计数器)

<prefix>.transaction.tx_size_heap

堆内存中事务的大小(字节)。(直方图)

<prefix>.transaction.tx_size_native

本地内存中事务的大小(字节)。(直方图)

<prefix>.transaction.lowest_available_committed_tx_id

引入于 2025.04 事务日志中可用的最低已提交事务 ID。请为每个实例跟踪此值。(集群)请为每个主库和从库跟踪此值。数据可以组织成单独的图表,显示随时间增加的单条线。此 ID 与 last_committed_tx_id 指标之间的差异表示可用于服务于其他集群成员或备份的可用事务窗口的大小。(计数器)

数据库索引指标

表 17. 数据库索引指标
名称 描述

<prefix>.index.fulltext.queried

全文索引被查询的总次数。(计数器)

<prefix>.index.fulltext.populated

已完成的全文索引填充作业总数。(计数器)

<prefix>.index.lookup.queried

查找索引被查询的总次数。(计数器)

<prefix>.index.lookup.populated

已完成的查找索引填充作业总数。(计数器)

<prefix>.index.text.queried

文本索引被查询的总次数。(计数器)

<prefix>.index.text.populated

已完成的文本索引填充作业总数。(计数器)

<prefix>.index.range.queried

范围索引被查询的总次数。(计数器)

<prefix>.index.range.populated

已完成的范围索引填充作业总数。(计数器)

<prefix>.index.point.queried

点索引被查询的总次数。(计数器)

<prefix>.index.point.populated

已完成的点索引填充作业总数。(计数器)

<prefix>.index.vector.queried

向量索引被查询的总次数。(计数器)

<prefix>.index.vector.populated

已完成的向量索引填充作业总数。(计数器)

服务器指标

表 18. 服务器指标
名称 描述

<prefix>.server.threads.jetty.idle

Jetty 池中的空闲线程总数。(计量器)

<prefix>.server.threads.jetty.all

Jetty 池中的线程总数(包括空闲和繁忙)。(计量器)

集群特定指标

追赶 (Catch-up) 指标

表 19. 追赶指标
名称 描述

<prefix>.cluster.catchup.tx_pull_requests_received

从其他集群成员接收的事务 (TX) 拉取请求。(计数器)

发现服务指标

表 20. 发现服务
名称 描述

<prefix>.cluster.discovery.memberset.reachable

处于存活或被怀疑状态的成员数量。(计量器)

<prefix>.cluster.discovery.memberset.unreachable

不可达的集群成员数量。(计量器)

Raft 指标

表 21. Raft 指标
名称 描述

<prefix>.cluster.raft.append_index

Raft 日志的追加索引。每个索引代表一个提议提交的写事务(可能是内部事务)。数值大多会增加,但有时由于领导者更换,它们可能会减少。追加索引应始终大于或等于提交索引。(计量器)

<prefix>.cluster.raft.commit_index

Raft 日志的提交索引。代表先前追加条目的提交。如果您不解绑集群状态,其值会单调增加。提交索引应始终小于或等于追加索引,并大于或等于已应用索引。(计量器)

<prefix>.cluster.raft.applied_index

Raft 日志的已应用索引。代表将已提交的 Raft 日志条目应用到数据库和内部状态。已应用索引应始终小于或等于提交索引。此值与提交索引之间的差异可用于监控从库数据库的更新程度。(计量器)

<prefix>.cluster.raft.prune_index

Raft 日志的头部索引。代表日志中存在的最旧 Raft 索引。修剪 (prune) 事件会增加此值。这可用于跟踪成员拥有的 Raft 日志历史记录有多少。(计量器)

<prefix>.cluster.raft.term

此数据库的 Raft 任期 (term)。除非您清除集群状态,否则它会单调增加。(计量器)

<prefix>.cluster.raft.tx_retries

弃用于 2025.02 事务重试。(计数器)

<prefix>.cluster.raft.is_leader

此服务器是否为领导者?请为集群中每个 Raft 主数据库跟踪此指标。如果不是领导者,它报告 0;如果是,则报告 1。所有这些的总和应始终为 1。但是,存在瞬态周期,此时总和可能大于 1,因为有多个成员认为自己是领导者。如果指标显示 0 超过 30 秒,可能需要采取行动。(计量器)

<prefix>.cluster.raft.in_flight_cache.total_bytes

传输中缓存的总字节数。(计量器)

<prefix>.cluster.raft.in_flight_cache.max_bytes

传输中缓存的最大字节数。(计量器)

<prefix>.cluster.raft.in_flight_cache.element_count

传输中缓存的元素数量。(计量器)

<prefix>.cluster.raft.in_flight_cache.max_elements

传输中缓存的最大元素数。(计量器)

<prefix>.cluster.raft.in_flight_cache.hits

传输中缓存命中数。(计数器)

<prefix>.cluster.raft.in_flight_cache.misses

传输中缓存缺失数。(计数器)

<prefix>.cluster.raft.raft_log_entry_prefetch_buffer.lag

Raft 日志条目预取缓冲区滞后。已添加到 Raft 日志但未应用到存储的条目数量。(计量器)

<prefix>.cluster.raft.raft_log_entry_prefetch_buffer.bytes

Raft 日志条目预取缓冲区字节数。预取缓冲区中条目的总大小(字节)。(计量器)

<prefix>.cluster.raft.raft_log_entry_prefetch_buffer.size

Raft 日志条目预取缓冲区大小。预取缓冲区中存储的条目数量。(计量器)

<prefix>.cluster.raft.raft_log_entry_prefetch_buffer.async_put

Raft 日志条目预取缓冲区异步放入 (async puts)。(计量器)

<prefix>.cluster.raft.raft_log_entry_prefetch_buffer.sync_put

Raft 日志条目预取缓冲区同步放入 (sync puts)。(计量器)

<prefix>.cluster.raft.message_processing_delay

接收 Raft 消息到开始处理之间的延迟。(计量器)

<prefix>.cluster.raft.message_processing_delay_timer

引入于 2025.07 用于 Raft 消息处理延迟的指标计时器。该计时器提供不同类型的统计信息,例如 minmaxp999mean_rate。(计数器,直方图)

<prefix>.cluster.raft.message_processing_timer

用于 Raft 消息处理的指标计时器,与消息类型无关。该计时器提供不同类型的统计信息,例如 minmaxp999mean_rate。(计数器,直方图)

<prefix>.cluster.raft.replication_new

Raft 复制请求的总数。它随着写事务(可能是内部事务)活动的增加而增加。(计数器)

<prefix>.cluster.raft.replication_attempt

Raft 复制请求尝试的总次数。它大于或等于复制请求次数。(计数器)

<prefix>.cluster.raft.replication_fail

失败的 Raft 复制尝试总次数。(计数器)

<prefix>.cluster.raft.replication_maybe

本地无法确定结果的 Raft 复制尝试总次数。(计数器)

<prefix>.cluster.raft.replication_success

成功的 Raft 复制请求总次数。(计数器)

<prefix>.cluster.raft.last_leader_message

自上次领导者发送消息以来经过的时间(毫秒)。应该定期重置。(计量器)

<prefix>.cluster.raft.snapshot_attempt

引入于 2025.01 触发的 Raft 快照下载尝试总次数。(计数器)

<prefix>.cluster.raft.snapshot_success

引入于 2025.01 成功下载的 Raft 快照总次数。(计数器)

<prefix>.cluster.raft.snapshot_fail

引入于 2025.01 失败的 Raft 快照下载尝试总次数。(计数器)

<prefix>.cluster.raft.inbound_queue_offered

引入于 2025.02 提供给队列的入站消息总数。(计数器)

<prefix>.cluster.raft.inbound_queue_accepted

引入于 2025.02 队列接受的入站消息总数。(计数器)

<prefix>.cluster.raft.inbound_queue_rejected

引入于 2025.02 队列拒绝的入站消息总数。(计数器)

<prefix>.cluster.raft.pre_elections_triggered

引入于 2025.02 此成员触发的预选举总数。(计数器)

<prefix>.cluster.raft.elections_triggered

引入于 2025.02 此成员触发的选举总数。(计数器)

存储复制指标

表 22. 存储复制指标
名称 描述

<prefix>.cluster.store_copy.pull_updates

此实例发出的拉取请求总数。(计数器)

<prefix>.cluster.store_copy.pull_update_highest_tx_id_requested

此实例在拉取更新中请求的最高事务 ID。(计数器)

<prefix>.cluster.store_copy.pull_update_highest_tx_id_received

此实例在最近的拉取更新中拉取的最高事务 ID。(计数器)

<prefix>.cluster.store_copy.store_file_download_attempt

引入于 2025.02 存储文件下载尝试总次数。(计数器)

<prefix>.cluster.store_copy.store_file_download_fail

引入于 2025.02 失败的存储文件下载总次数。(计数器)

<prefix>.cluster.store_copy.store_file_download_success

引入于 2025.02 成功的存储文件下载总次数。(计数器)

Java 虚拟机指标

JVM 指标显示有关垃圾回收(例如,事件数量和收集所花费的时间)、内存池和缓冲区、正在运行的活动线程数以及 Neo4j 进程和操作系统的中央处理器 (CPU) 使用率的信息。它们依赖于环境,因此可能会因硬件和 JVM 配置的不同而有所差异。

有关 JVM 内存使用情况的指标暴露了由 MemoryPoolMXBeans 和 BufferPoolMXBeans 提供的值。内存池是 JVM 管理的内存,例如 neo4j.dbms.vm.memory.pool.g1_survivor_space。因此,如有必要,您可以使用 JVM 设置对其进行调优。

缓冲区池是垃圾回收器管理的内存之外的空间。Neo4j 会根据需要分配这些池中的缓冲区。您可以使用 JVM 设置限制此内存,但通常没有充分理由去修改它们。

CPU 使用率指标

表 23. CPU 使用率指标
名称 描述

<prefix>.vm.cpu_load.system

操作系统的最近 CPU 使用率。此值是 [0.0, 1.0] 区间内的双精度浮点数。根据您使用的 Java 发行版,该指标可能不可用。(计量器)

<prefix>.vm.cpu_load.process

Neo4j 进程的最近 CPU 使用率。此值是 [0.0, 1.0] 区间内的双精度浮点数。根据您使用的 Java 发行版,该指标可能不可用。(计量器)

JVM 文件描述符指标

表 24. JVM 文件描述符指标
名称 描述

<prefix>.vm.file.descriptors.count

当前打开的文件描述符数量。(计量器)

<prefix>.vm.file.descriptors.maximum

(操作系统设置) 打开文件描述符的最大数量。由于 Neo4j 使用了本地和 Lucene 索引,建议将其设置为 40K 文件句柄。如果此指标接近该限制,您应考虑提高它。(计量器)

GC 指标

表 25. GC 指标
名称 描述

<prefix>.vm.gc.time.<gc>

累计垃圾回收时间(毫秒)。长时间的 GC 可能表明存在性能问题或潜在的不稳定性。如果这在集群中接近心跳超时,可能会导致不必要的领导者切换。(计数器)

<prefix>.vm.gc.count.<gc>

垃圾回收总次数。(计数器)

JVM 堆内存指标

表 26. JVM 堆内存指标
名称 描述

<prefix>.vm.heap.committed

保证可供 JVM 使用的内存量(字节)。(计量器)

<prefix>.vm.heap.used

当前已使用的内存量(字节)。这是在给定时间点当前使用的堆空间量。监控此指标以确定您是否持续达到极限(在这种情况下,您应该增加初始和最大堆大小),或者是否利用不足(您应该减少初始和最大堆大小)。(计量器)

<prefix>.vm.heap.max

可使用的最大堆内存量(字节)。这是在给定时间点当前使用的堆空间量。监控此指标以确定您是否持续达到极限(在这种情况下,您应该增加初始和最大堆大小),或者是否利用不足(您应该减少初始和最大堆大小)。(计量器)

JVM 内存缓冲区指标

表 27. JVM 内存缓冲区指标
名称 描述

<prefix>.vm.memory.buffer.<bufferpool>.count

池中估计的缓冲区数量。(计量器)

<prefix>.vm.memory.buffer.<bufferpool>.used

池估计使用的内存量。(计量器)

<prefix>.vm.memory.buffer.<bufferpool>.capacity

池中估计的缓冲区总容量。(计量器)

JVM 内存池指标

表 28. JVM 内存池指标
名称 描述

<prefix>.vm.memory.pool.<pool>

池估计使用的内存量(字节)。(计量器)

JVM 暂停时间指标

表 29. JVM 暂停时间指标
名称 描述

<prefix>.vm.pause_time

累计检测到的虚拟机暂停时间。(计数器)

JVM 线程指标

表 30. JVM 线程指标
名称 描述

<prefix>.vm.threads

活动平台线程总数,包括守护线程和非守护线程。(计量器)

<prefix>.vm.threads.virtual

引入于 2025.05 虚拟线程总数。(计量器)