You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Cypher查询或HTTP接口获取Neo4j监控指标?

我来帮你梳理下两种获取Neo4j监控指标的实用方法,都是官方支持的方式:

通过Cypher查询(cypher-shell)获取监控指标

Neo4j内置了一系列专门的过程来暴露监控指标,直接在cypher-shell里调用就行,不用额外配置:

  • 全局系统级指标:用dbms.listMetrics()可以获取整个Neo4j服务器/集群的系统指标,比如CPU使用率、内存占用、磁盘IO、网络流量等。你可以筛选特定指标,比如只看CPU相关的:

    CALL dbms.listMetrics() YIELD name, value, description 
    WHERE name CONTAINS 'cpu' 
    RETURN name, value, description;
    

    这个过程返回的指标会包含维度信息(比如集群中的节点),适合排查整体系统负载。

  • 单个数据库级指标:如果只关心当前连接的数据库的指标(比如节点/关系数量、查询性能、缓存命中率),用db.listDatabaseMetrics():

    CALL db.listDatabaseMetrics() YIELD name, value, description
    WHERE name IN ['database.nodes.count', 'database.relationships.count', 'query.cache.hitRate']
    RETURN *;
    

    这里能拿到和业务更相关的数据库运行数据。

  • 事务相关指标:要监控事务提交、回滚、等待情况,可以用dbms.listTransactionMetrics():

    CALL dbms.listTransactionMetrics() YIELD name, value, description
    RETURN *;
    

注意:执行这些过程需要dbms.metrics.read权限,默认的admin用户已经拥有该权限。

通过HTTP接口获取监控指标

Neo4j的REST API提供了专门的监控端点,适合集成到监控系统(比如Prometheus、Grafana)中:

  • 全局指标端点:访问/dbms/metrics可以获取整个服务器/集群的所有监控指标,返回JSON格式。用curl调用的例子:

    curl -u your-username:your-password http://localhost:7474/dbms/metrics
    

    如果需要Prometheus兼容的格式,加上?format=prometheus参数:

    curl -u your-username:your-password http://localhost:7474/dbms/metrics?format=prometheus
    
  • 单个数据库指标端点:要获取指定数据库的指标,用/db/<database-name>/metrics,比如默认的neo4j数据库:

    curl -u your-username:your-password http://localhost:7474/db/neo4j/metrics
    

同样,访问这些端点需要认证,确保使用的账号有足够的权限。

内容的提问来源于stack exchange,提问作者adrpino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:31:04