指标参考

解释不熟悉的指标时应谨慎。建议阅读性能部分以更好地理解这些指标。

要了解更多关于2025.x中弃用和移除的指标,请参阅页面Neo4j 2025.x中的变更、弃用和移除

指标类型

Neo4j具有以下指标类型

  • 全局 — 覆盖整个Neo4j DBMS。

  • 每个数据库 — 覆盖单个数据库。

指标属于以下类别之一

  • 瞬时值 — 显示特定值的瞬时读数。

  • 计数器 — 显示累积值。

  • 直方图 — 显示值的分布。

Neo4j支持多种方式暴露指标。更多详情请参阅页面暴露指标

全局指标

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

全局指标的命名格式如下

  • <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>.pool.<pool>.<database>.used_heap

已使用或保留的堆内存(字节)。(瞬时值)

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

已使用或保留的本地内存(字节)。(瞬时值)

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

堆内存和本地内存已使用总和(字节)。(瞬时值)

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

堆和/或本地内存池的总容量大小。(瞬时值)

<prefix>.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

此服务器上托管的数据库。处于startedstore copyingdraining状态的数据库被视为托管状态。(瞬时值)

<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。(瞬时值)

数据库数据指标不报告使用块格式的数据库的值。相反,指标总是报告-1。这不表示任何类型的错误。

全局Neo4j池指标

表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

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

<prefix>.page_cache.pins

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

<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

页面缓存中的页面错误总数。如果此计数随时间持续增加,可能表明需要更多页面缓存。但是,请注意,当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%,则命中率很可能会开始下降,您应该考虑为页面缓存分配更多RAM。(瞬时值)

<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

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

查询执行指标

表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

流水线运行时成功执行的查询计数。服务器端路由的查询会增加它们最终到达并执行的服务器上的此计数,而不是中间的路由服务器。(计数器)

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

流水线运行时执行失败的查询计数。服务器端路由的查询会增加它们最终到达并执行的服务器上的此计数,而不是中间的路由服务器。(计数器)

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

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

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

槽式运行时成功执行的查询计数。服务器端路由的查询会增加它们最终到达并执行的服务器上的此计数,而不是中间的路由服务器。(计数器)

<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.terminated

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

<prefix>.transaction.terminated_read

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

<prefix>.transaction.terminated_write

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

<prefix>.transaction.last_committed_tx_id

最后提交事务的ID。跟踪每个实例的此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。(集群)跟踪每个主数据库和从数据库的此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池中线程的总数(包括空闲和忙碌)。(瞬时值)

集群特定指标

追赶指标

表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索引。修剪事件将增加此值。这可用于跟踪成员拥有的Raft日志历史记录量。(瞬时值)

<prefix>.cluster.raft.term

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

<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日志条目预取缓冲区异步放入数。(瞬时值)

<prefix>.cluster.raft.raft_log_entry_prefetch_buffer.sync_put

Raft日志条目预取缓冲区同步放入数。(瞬时值)

<prefix>.cluster.raft.message_processing_delay

接收Raft消息和开始处理之间的延迟。(瞬时值)

<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

(操作系统设置) 打开文件描述符的最大数量。建议设置为4万个文件句柄,因为Neo4j使用本地和Lucene索引。如果此指标接近限制,您应该考虑提高它。(瞬时值)

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

累积检测到的VM暂停时间。(计数器)

JVM线程指标

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

<prefix>.vm.threads

包括守护线程和非守护线程在内的活动平台线程总数。(瞬时值)

<prefix>.vm.threads.virtual

在2025.05中引入 虚拟线程的总数。(瞬时值)

© . All rights reserved.