写点什么

Neo4j 可观测性最佳实践

作者:观测云
  • 2025-04-22
    上海
  • 本文字数:1461 字

    阅读完需:约 5 分钟

Neo4j 可观测性最佳实践

Neo4j 介绍

Neo4j 是一款领先的图数据库管理系统,采用图数据模型来表示和存储数据。它以节点、关系和属性的形式组织数据,节点代表实体,关系表示节点间的连接,属性则为节点和关系附加信息。Neo4j 使用 Cypher 查询语言,提供高效的图数据存储、检索和操作能力,尤其擅长处理复杂的关系查询和路径查找,广泛应用于社交网络、推荐系统、知识图谱等领域。

观测云

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

前置条件

  • 安装 Neo4j 服务:参见官方安装文档

  • 验证是否正确安装:在浏览器访问网址 <ip>:7474 可以进入 Neo4j 管理界面。

  • 打开 Neo4j Prometheus 端口,找到并编辑 Neo4j 启动配置文件,通常是在 /etc/neo4j/neo4j.conf,尾部追加,参见官方配置文档


# Enable the Prometheus endpoint. Default is false.server.metrics.prometheus.enabled=true# The hostname and port to use as Prometheus endpoint.# A socket address is in the format <hostname>, <hostname>:<port>, or :<port>.# If missing, the port or hostname is acquired from server.default_listen_address.# The default is localhost:2004.server.metrics.prometheus.endpoint=0.0.0.0:2004
复制代码


  • 重启 Neo4j 服务

采集器配置

主机安装

1、安装 DataKit


2、配置采集器


进入 DataKit 安装目录下的 conf.d/neo4j 目录,复制 neo4j.conf.sample 并命名为 neo4j.conf。示例如下:


[[inputs.neo4j]]  ## Exporter URLs.  urls = ["http://127.0.0.1:2004/metrics"]
## TLS configuration. tls_open = false # tls_ca = "/tmp/ca.crt" # tls_cert = "/tmp/peer.crt" # tls_key = "/tmp/peer.key"
## Set to 'true' to enable election. election = true
## disable setting host tag for this input disable_host_tag = false
## disable setting instance tag for this input disable_instance_tag = false
## Customize tags. # [inputs.neo4j.tags] # some_tag = "some_value" # more_tag = "some_other_value"
## (Optional) Collect interval: (defaults to "30s"). # interval = "30s
复制代码


3、重启 DataKit

Kubernetes 安装

目前可以通过 ConfigMap 方式注入采集器配置来开启采集器。

关键指标


场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “Neo4j”, 选择 “Neo4j 监控视图”,点击 “确定” 即可添加视图。


监控器(告警)

垃圾回收时间过长

垃圾回收时间反映了 JVM 的内存管理性能。过长的垃圾回收时间可能表明内存分配存在问题,或者应用程序产生了过多的垃圾对象,导致系统性能下降。


页面缓存命中率过低

页面缓存命中率是衡量数据库 I/O 性能的关键指标。高缓存命中率意味着数据库能够高效地利用缓存,减少磁盘 I/O 操作,提高查询性能。如果命中率过低,可能表明缓存配置不足或存在大量的随机 I/O 操作。


数据库查询时间过长

查询执行时间直接反映了数据库的响应速度和性能。如果该指标值过高或波动较大,可能表明数据库存在性能瓶颈或负载过高。


总结

Neo4j 作为一款高性能的图数据库,其性能监控对于确保数据查询效率和整体系统稳定性具有重要意义。通过合理利用观测云等监控工具,可以全面、实时地监控 Neo4j 的运行状态。

用户头像

观测云

关注

还未添加个人签名 2021-02-08 加入

云时代的系统可观测平台

评论

发布
暂无评论
Neo4j 可观测性最佳实践_neo4j_观测云_InfoQ写作社区