客户指标集成 (CMI)
AuraDB 虚拟专用云 AuraDS 企业版 AuraDB 商业关键版
可以配置应用程序性能监控系统来获取以下类型 AuraDB 实例的指标
-
AuraDB 虚拟专用云
-
AuraDS 企业版
-
AuraDB 商业关键版
这使用户可以访问其 Neo4j Aura 实例指标数据以进行监控。
分析指标数据可以让用户
-
优化 Neo4j 负载
-
调整 Aura 实例大小
-
设置通知
详细步骤
-
以项目管理员身份登录 Aura。
-
确保有一个专用的 Aura 用户用于获取指标。您可以
-
确保您以上一步骤中选择的用户的身份登录 Aura。在 "帐户详细信息" 中,创建新的 Aura API 凭据。保存客户端密钥。
-
配置 APM 系统以从 Neo4j Aura 的 "指标集成" 中显示的 URL 或配置模板获取指标。使用
oauth2
类型的身份验证,指定在上一步中创建的客户端 ID 和客户端密钥。查看 Prometheus 和 Grafana 以及 Datadog 的示例。 -
使用 APM 系统基于 Neo4j 指标创建可视化、仪表板和警报。
安全
仅当以下所有条件都满足时,才会返回 Neo4j Aura 实例的指标
-
指标请求的
Authorization
标头包含有效令牌。 -
该令牌是为具有 "指标集成读取器" 角色的 Aura 用户发行的。
-
项目具有
企业版 (虚拟专用云)
或商业关键版
类型的实例。 -
指定的实例属于指定的项目。
旧术语 |
要撤销用户对特定项目的指标的访问权限,请在 "用户管理" 中将该用户从该项目中删除。之后,该用户仍然存在,但其与项目的连接将被移除。
所述的撤销将在授权缓存过期后生效,大约需要 5 分钟。这会导致返回 HTTP 401,以及消息 |
根据指标的不同,将应用以下标签
-
aggregation
: 用于计算指标值的聚合,在每个指标上设置。由于 Neo4j 实例作为 Neo4j 集群部署,因此执行聚合以组合来自所有相关集群节点的值。使用以下聚合:MIN
、MAX
、AVG
和SUM
。 -
instance_id
: 报告指标的 Aura 实例 ID,在每个指标上设置。 -
database
: 报告指标的 Neo4j 数据库的名称。默认情况下设置为neo4j
。
# HELP neo4j_database_count_node The total number of nodes in the database.
# TYPE neo4j_database_count_node gauge
neo4j_database_count_node{aggregation="MAX",database="neo4j",instance_id="78e7c3e0"} 778114.000000 1711462853000
在 Neo4j Aura 高级指标中,可以使用图表菜单项 "指标集成" 来查找与图表相对应的指标名称,如图所示。

使用 Prometheus 的示例
一种方法是从 https://prometheus.ac.cn/docs/prometheus/latest/installation/ 获取 tarball
要监控一个或多个实例,请在 Prometheus 配置文件 prometheus.yml
中添加一个部分。
复制 指标集成 中建议的配置部分,如图所示。
将占位符 |

有关详细信息,请参阅 Prometheus 配置参考。
./prometheus --config.file=prometheus.yml
打开 http://localhost:9090 并在搜索字段中输入指标名称或表达式(例如,neo4j_aura_cpu_usage
)。
安装和配置 Grafana,将上一步中配置的 Prometheus 实例的端点添加为数据源。您可以基于 Neo4j 指标创建可视化、仪表板和警报。
使用 Datadog 的示例
编辑 /etc/datadog-agent/conf.d/openmetrics.d/conf.yaml
如下所示
将占位符 |
/etc/datadog-agent/conf.d/openmetrics.d/conf.yaml
init_config:
instances:
- openmetrics_endpoint: <ENDPOINT_URL>
metrics:
- neo4j_.*
auth_token:
reader:
type: oauth
url: https://api.neo4j.io/oauth/token
client_id: <AURA_CLIENT_ID>
client_secret: <AURA_CLIENT_SECRET>
writer:
type: header
name: Authorization
value: "Bearer <TOKEN>"
有关详细信息,请参阅 Datadog 代理文档 和 配置参考。
-
sudo systemctl restart datadog-agent
-
观察
/var/log/datadog/*
以查看是否正在获取指标,或者是否存在有关解析配置的警告。 -
在 Datadog 指标浏览器中检查指标是否出现(几分钟后)。
编程支持
-
Aura API 支持使用以下方法获取指标集成端点
-
端点
/tenants/{tenantId}/metrics-integration
(用于项目指标) -
JSON 属性
metrics_integration_url
作为/instances/{instanceId}
响应的一部分(用于实例指标)
-
-
参考:Aura API 规范
项目 在控制台 UI 和文档中替换了 租户。但是,在 API 中, |
-
Aura CLI 具有用于
tenants
命令的子命令以获取项目指标端点aura projects get-metrics-integration --tenant-id <YOUR_PROJECT_ID> # example output { endpoint: "https://customer-metrics-api.neo4j.io/api/v1/<YOUR_PROJECT_ID>/metrics" } # extract endpoint aura projects get-metrics-integration --project-id <YOUR_PROJECT_ID> | jq '.endpoint'
-
例如,对于指标端点,Aura CLI 的 `instances get` 命令的 JSON 输出包含一个新的属性 `metrics_integration_url`。
aura instances get --instance-id <YOUR_INSTANCE_ID> # example output { "id": "id", "name": "Production", "status": "running", "tenant_id": "YOUR_PROJECT_ID", "cloud_provider": "gcp", "connection_url": "YOUR_CONNECTION_URL", "metrics_integration_url": "https://customer-metrics-api.neo4j.io/api/v1/<YOUR_PROJECT_ID>/<YOUR_INSTANCE_ID>/metrics", "region": "europe-west1", "type": "enterprise-db", "memory": "8GB", "storage": "16GB" } # extract endpoint aura instances get --instance-id <YOUR_INSTANCE_ID> | jq '.metrics_integration_url'
-
参考:Aura CLI 速查表
指标粒度
集成端点返回的指标根据提供的标签进行分组:`aggregation`、`instance_id` 和 `database`。
Aura 实例通常在多个服务器上运行,以实现可用性和工作负载可扩展性。这些服务器部署在用户选择的区域中的不同云提供商可用区中。
指标集成支持 Aura 实例指标的更细粒度视图,其中包含可用区和实例模式组合的额外数据点。此视图可以按需启用。
请联系 客户支持,为您的项目启用实例的更细粒度指标。 |
创建新的 Aura 实例后,更细粒度的指标可能会有延迟。这是由于收集“可用区”数据的方式。 |
neo4j_aura_cpu_usage{aggregation="MAX",instance_id="a59d71ae",availability_zone="eu-west-1a",instance_mode="PRIMARY"} 0.025457 1724245310000
neo4j_aura_cpu_usage{aggregation="MAX",instance_id="a59d71ae",availability_zone="eu-west-1b",instance_mode="PRIMARY"} 0.047088 1724245310000
neo4j_aura_cpu_usage{aggregation="MAX",instance_id="a59d71ae",availability_zone="eu-west-1c",instance_mode="PRIMARY"} 0.021874 1724245310000
-
availability_zone
- 用户选择的云提供商区域。 -
instance_mode
- 基于用户选择的工作负载需求(读写)。(每个实例至少 3 个主节点)
以下是如何深入了解 Aura 实例 CPU 使用情况以进行容量规划的示例
max by(availability_zone) (neo4j_aura_cpu_usage{instance_mode="PRIMARY"}) / sum by(availability_zone) (neo4j_aura_cpu_limit{instance_mode="PRIMARY"})

指标定义
指标名称 |
|
描述 |
实例的内存不足错误总数。如果出现任何 OOM 错误,请考虑增加实例大小。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
分配给实例节点的总 CPU 内核数。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
CPU 使用率(内核)。CPU 用于规划和服务查询。如果此指标持续飙升或达到其限制,请考虑增加实例大小。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
分配给实例的总磁盘存储空间。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
已使用的已配置堆内存的百分比。堆空间用于查询执行、事务状态、图形管理等。堆空间的大小高度依赖于 Neo4j 使用的性质。例如,长时间运行的查询或非常复杂的查询可能需要比简单查询更大的堆空间。为了提高性能,堆空间应足够大以支持并发操作。此值不应长时间超过 80%,短时间峰值是正常的。如果出现性能问题,您可能需要调整查询并监控其内存使用情况,以确定是否需要增加堆空间。如果 Neo4j 的工作负载和查询的性能表明需要更多堆空间,请考虑增加实例大小。这有助于避免因垃圾回收而产生的不必要的暂停。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
查询执行期间所需的数据在内存中找到的次数百分比,与从磁盘读取数据的次数相比。理想情况下,整个图形都应适合内存,并且此值应始终保持在 98% 到 100% 之间。如果此值始终或显着低于 100%,请检查页面缓存使用率以查看图形是否太大而无法放入内存。在图形上进行大量插入或更新操作也会导致此值发生变化。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
已分配的页面缓存的使用百分比。如果此值接近或达到 100%,那么命中率可能会开始下降,您应该考虑增加实例大小,以便为页面缓存提供更多内存。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
当前正在执行 Cypher 事务并返回结果的 Bolt 连接总数。这是一组随时间推移的快照,如果工作负载都快速完成,可能会显示峰值。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
连接到 Aura 数据库但当前未执行 Cypher 或返回结果的 Bolt 连接总数。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
自启动以来关闭的 Bolt 连接总数。这包括正常和异常结束的连接。如果 Aura 执行后台维护,此值可能会下降。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
自启动以来打开的 Bolt 连接总数。这包括成功和失败的连接。如果 Aura 执行后台维护,此值可能会下降。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
显示自启动以来用于清理短期对象堆空间的总时间。年轻代垃圾回收通常很快完成,Aura 实例会在垃圾回收器运行时等待。高值表示实例的内存不足,您应该考虑增加实例大小。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
显示自启动以来用于清理长期对象堆空间的总时间。老年代垃圾回收可能需要时间才能完成,Aura 实例会在垃圾回收器运行时等待。高值表示存在长时间运行的进程或查询,可以对其进行优化,或者您的实例的 CPU 或内存不足,您应该考虑查看这些指标并可能增加实例大小。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
自服务器启动以来 Cypher 重新规划查询的总次数。如果此值飙升或正在增加,请检查执行的查询是否正确使用参数。如果 Aura 执行后台维护,此值可能会下降。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
当前活动读取事务数。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
活动写入事务数。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
自服务器启动以来已提交的事务总数。如果 Aura 执行后台维护,此值可能会下降。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
自服务器启动以来检测到的最高并发事务数。如果 Aura 执行后台维护,此值可能会下降。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
回滚的事务总数。如果 Aura 执行后台维护,此值可能会下降。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
自服务器启动以来执行的检查点事件总数。如果 Aura 执行后台维护,此值可能会下降。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
自服务器启动以来在检查点中花费的总时间(以毫秒为单位)。如果 Aura 执行后台维护,此值可能会下降。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
上次检查点事件的持续时间。检查点通常需要几秒钟到几分钟。超过 30 分钟的值需要调查。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
数据库中的关系总数。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
数据库中的节点总数。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
保留用于存储用户数据库数据的磁盘空间量(以字节为单位)。理想情况下,数据库应全部适合内存(页面缓存)以获得最佳性能。请密切关注此指标,以确保您有足够的存储空间来满足当前和未来增长需求。将此指标与页面缓存使用率一起检查,以查看数据是否太大而无法放入内存,在这种情况下,请考虑增加实例大小。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
内存中数据被替换的总次数。峰值可能意味着您的工作负载超出了实例的可用内存,您可能会注意到性能下降或查询执行错误。如果此指标仍然很高,请考虑增加实例大小以提高性能。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
在此数据库上成功执行的查询总数。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
在此数据库上执行的失败查询总数。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
|
描述 |
查询执行时间(以毫秒为单位),其中 99% 的查询执行时间快于报告的时间。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
查询执行时间(以毫秒为单位),其中 75% 的查询执行时间快于报告的时间。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
查询执行时间(以毫秒为单位),其中 50% 的查询执行时间快于报告的时间。这也对应于查询执行时间的中间值。 |
指标类型 |
仪表盘 |
默认聚合 |
|
指标名称 |
|
描述 |
上次提交的事务的 ID。跟踪 Aura 实例的主节点集群成员的此指标。它应显示重叠的不断增长的线,如果其中一条线变平或落后,则很明显该集群成员不再复制数据,需要采取措施纠正这种情况。 |
指标类型 |
计数器 |
默认聚合 |
|
指标名称 |
neo4j_cluster_raft_is_leader |
描述 |
此服务器是领导者吗?跟踪集群中每个筏成员的此指标。如果它不是领导者,则报告 0,如果是领导者,则报告 1。所有这些的总和应始终为 1。但是,在某些短暂的时期,总和可能大于 1,因为多个成员认为自己是领导者。如果指标在超过 30 秒的时间内显示 0,则可能需要采取措施。 |
指标类型 |
仪表盘 |
默认聚合 |
|