Halin 是 Neo4j 集群的自动监控解决方案,用于监视 Neo4j 数据库和集群,实时查看集群运行指标、日志、配置等数据。您可以使用它来判断瓶颈或配置错误,并以交互方式跟踪系统负载。需要注意的是它并不具有实时报警功能。Halin是一个简单的React应用程序,它使用BOLT连接到您的数据库。由于 Neo4j 已经在本地公开了Bolt和Cypher,因此无需配置即可使其与新的Neo4j实例一起使用。 Halin 同样可以监控 Neo4j 单节点,唯一真正的区别是数据库获得一个选项卡。实际上,在单机模式下,Halin 倾向于将 Neo4j 实例视为只有一个成员的集群。对于 Neo4j 社区版用户,某某些组件被禁用
1、安装
Halin 可通过浏览器 halin.graphapp.io 在线运行,并且可以连接到本地和远程数据库。该应用程序也可以作为应用程序从 https://install.graphapp.io 下载并安装到 Neo4j Desktop 。要在Neo4j Desktop 中通过自动更新将Halin作为Graph App使用,只需将Halin URL粘贴到Graph App Install侧栏中。有关详细信息,请参见GitHub自述文件。还可以通过 Docker 或者 本地安装,运行 Halin 应用程序。
1) 自行部署 Halin(例如:公司防火墙或者内网)
- yarn install ;
- 本地编辑 package.json,然后将“homepage”字段更改为部署Halin时可访问的URL。例如,如果您使用公司内网https://fileserver.mycompany.com,则可以将其设置为 https://fileserver.mycompany.com/halin ;
- npm run build构建完成的HTML / CSS工件;这将产生一个dist 文件夹,其中包含需要部署的所有内容;
- 将dist文件夹中的所有内容复制到文件共享服务器;在上面的示例中,该halin目录将是由托管的目录fileserver.mycompany.com。
2)在开发模式下运行 Halin
- Clone the repo
- yarn install
- yarn start
- Navigate to http://localhost:3000/
3)Running in Docker
docker run -d -p 127.0.0.1:3000:3000 --rm -t mdavidallen/halin:latest
打开浏览器 http://localhost:3000/
If you’d like to build the Halin docker container from source:
docker build -t halin:latest -f Dockerfile .
4)作为GraphApp运行
Neo4j Desktop 启用开发模式; 对于开发应用程序的切入点,请使用http://localhost:3000/ ; 详情查看 moxious/halin。
2、主要功能
- 集群总览
- 节点监控
- 诊断顾问
- 配置清单
- 活动查询
- 运行指标
- 日志文件
- 用户管理
3、功能介绍
1)登录
配置Host、Port、Username、Password等信息,点击“Connect”。
2)集群总览
在 Neo4j 支持人员的帮助下,Halin 创建了一个仪表板,以显示整个集群的运行状况。连接后,Halin将获取有关集群或单个实例的信息,并将您带到集群总览页面。
3)节点监控
除了集群总览之外,集群中的各个节点也很重要,还有一些选项可以监视有关它们的许多不同指标,包括CPU /内存利用率、Neo4j 占用的磁盘空间、实时页面缓存信息和计算机特定的配置。 在“Members”,我们可以看到集群的三个节点(带有绿色星号的一个是 Leader)。每个图都可以启用或禁用节点,因此您可以分别查看统计信息。 内存管理对于Neo4j实例性能影响非常大,您可以看到内存垃圾回收峰值、事务负载以及页面缓存利用率的各种指标,这些指标可以帮助诊断性能问题。
4)数据库管理
查看数据库文件占用大小等信息。
5)用户管理
Halin 还提供了一个用于创建用户和角色的界面,允许您将任何用户与角色相关联(前提是您以管理员用户身份登录Halin)。因为集群的每个节点都分别管理身份验证,所以通常如果要在所有节点上创建用户,则必须运行相同的代码才能在每个位置创建该用户,Halin为您自动执行此操作,并尝试在集群范围定义用户。
6)诊断顾问
Halin 包含一个诊断顾问。顾问程序的目的是让您下载诊断信息包,该信息包将为您提供整个群集配置的广泛概述,并且还可以帮助自动查找配置问题。这会即时收集有关Neo4j实例的大量元数据,然后通过一系列规则运行它,这些规则会根据适合的、可以使用的改进以及有错误的地方提出建议。该规则集将随着时间和用户建议而增长。 在上面的屏幕截图中,我们可以看到一些绿色的复选标记,表示Halin已检查好(我们有管理员用户,已启用备份但不在外部端口上,并且网络端口设置看起来不错)。 您可以单击“下载诊断”按钮,然后下载包含Halin收集的所有内容的 JSON 文件。
7)配置清单
您还会在 Advisor 旁边看到“Configuration Diff”工具。这将指出每台机器的配置文件是否有差异,这对于找出错误的配置也很有用。
4、下一步干什么?
如果在 Neo4j 使用过程中遇到问题,那么Neo4j实例上尝试Halin,或者访问Neo4j社区站点,Halin的工作将是检测此问题是否存在(或即将发生),并提供有关如何避免或解决此问题的建议!
相关资源:
Release: https://github.com/moxious/halin/releases 资源:https://github.com/moxious/halin 文档:https://r.neo4j.com/halin
更多技术咨询:
联系人:于先生 Email:yusonglin@we-yun.com 微信号:ysllong_0226 微云数聚网址:www.we-yun.com