Neo4j 可观测性最佳实践

Neo4j 介绍
Neo4j 是一款领先的图数据库管理系统,采用图数据模型来表示和存储数据。它以节点、关系和属性的形式组织数据,节点代表实体,关系表示节点间的连接,属性则为节点和关系附加信息。Neo4j 使用 Cypher 查询语言,提供高效的图数据存储、检索和操作能力,尤其擅长处理复杂的关系查询和路径查找,广泛应用于社交网络、推荐系统、知识图谱等领域。
观测云
观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。
前置条件
安装 Neo4j 服务:参见官方安装文档。
验证是否正确安装:在浏览器访问网址
<ip>:7474
可以进入 Neo4j 管理界面。打开 Neo4j Prometheus 端口,找到并编辑 Neo4j 启动配置文件,通常是在
/etc/neo4j/neo4j.conf
,尾部追加,参见官方配置文档。
重启 Neo4j 服务
采集器配置
主机安装
2、配置采集器
进入 DataKit 安装目录下的 conf.d/neo4j
目录,复制 neo4j.conf.sample
并命名为 neo4j.conf
。示例如下:
Kubernetes 安装
目前可以通过 ConfigMap 方式注入采集器配置来开启采集器。
关键指标

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

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

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

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

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