序言
最近,包括Neo4j在内的图数据库正在迅速成长,随着数据库规模的降低,这种数据库更普遍地布署到集群布署中。顾客布署正在从自我管理的本地布署过渡到云和混和安装。随着所有这种变化,DBA、DevOps和IT领导者面临着更大的压力,即通过专注于提升生产力按量、按预算交付应用程序。
Neo4j的监控和管理是使用本地命令行工具或通过cypher-shell或浏览器公开的密码来执行的。通过集成第3方工具可以实现监控,须要单独的安装、许可和布署以及维护。这种解决方案都没有原生地曝露Neo4j上下文,但是没有一个地方可以监控、管理和操作顾客的整个Neo4j资产。
Neo4jOpsManager(简写为NOM)是一种工具,用于帮助Neo4jDBMS布署的管理员并解决这一差别。它包含当前和未来的功能,容许管理员在其资产范围内监控、管理和操作这种布署。
NOM构建在致力支持多个DBMS实现(包括单实例和集群)的核心构架之上。该构架包含用于智能监控和知识引擎的元数据驱动的可扩充框架。利用这种功能,NOM是否有可能除了帮助管理员了解正在发生的事情,并且了解它发生的诱因,并通过可解释的洞察力提出建议来解释怎样处理它。在此构架和框架之上是一组“管理器”,囊括监控、管理、运营和集成四大支柱。
本文介绍怎么搭建Neo4jOpsManager并实现对单个实例,或则集群实例的监控和管理。
系统需求说明
NOM服务器和代理可以通过从Neo4j下载中心下载它们各自的包并将它们放置在您想要运行它们的机器上来安装。NOM服务器设计为在受TLS保护的通道上运行。为此,您须要打算证书和公钥来保护服务器-代理通讯。所有代理安装都须要使用相同的证书。
NOM服务器
持久性DBMS
有关最低要求,另请参阅操作指南→系统要求。Prerequisites-Neo4jOpsmanager
安装配置
说明:本文仅将服务器和代理运行在控制台应用模式,假如须要安装成服务,参考下边的链接:
Serverinstallation-Neo4jOpsmanager
步骤1:服务器环境打算
本文采用MacOS做为测试服务器,安装配置OpenJDK17.0.2,下载解压neo4j-ops-manager-server-1.0.0(下载链接:)。
安装Neo4j4.4.x作为永久储存数据库储存NOM元数据。
步骤2:生成自签名证书
使用OPENSSL生成自签名证书,本文使用MacOS,可以参考下边的文档链接。
CreatingaSelf-SignedCertificateonMacOSX–CrimsonPinnacleLLC
步骤3:配置代理顾客端
拷贝.crt文件到目标服务器,并在目标服务器端下载OpsManagerAgent。
步骤4:运行服务器端命令或则启动服务
服务器端执行命令行
java -jar ./lib/server.jar
--spring.neo4j.uri=neo4j://localhost:7687
--spring.neo4j.authentication.username=neo4j
--spring.neo4j.authentication.password=SUPERPASSWORD
--server.port=8080
--server.ssl.key-store-type=PKCS12
--server.ssl.key-store=file:./certificates/tonywu-self-signed.key.pfx
--server.ssl.key-store-password= SUPERPASSWORD
--grpc.server.port=9090
--grpc.server.security.key-store-type=PKCS12
--grpc.server.security.key-store=file:./certificates/my-self-signed.key.pfx
--grpc.server.security.key-store-password=SUPERPASSWORD
--jwt.secret=please-set-a-random-secret-string-here-for-jwt-signing
其中,neo4j://localhost:7687为永久性储存Neo4j联接,以及相应的有写权限的用户名和密码;8080为管理服务器端标语,9090为顾客代理和服务通讯端口。
服务器启动后,可以输入初始用户名和密码,admin以及passw0rd登陆系统,注册并生成代理token信息。
步骤5:配置代理顾客端
记录上一步的token信息delphi信息系统开发实例精选delphi信息系统开发实例精选,并在代理顾客端设置环境变量,如下所示。其中前4行为注册代理时侯记录的token和服务器信息。
export CONFIG_SERVER_ADDRESS=server_IP:9090
export CONFIG_TOKEN_URL=https://server_IP:8080/api/login/agent
export CONFIG_TOKEN_CLIENT_ID=3c8e4bb1-588d-4179-b58f-ca1c4ed84f9e
export CONFIG_TOKEN_CLIENT_SECRET=B2CWqzvgG1OlJSql5wyMbJQZyoxpEkDzW5Ovjb6JDCnRpLfgVVAqpFPZVoP6rfDL
// 下面为代理客户端的数据库连接信息
export CONFIG_INSTANCE_1_BOLT_URI=bolt://localhost:7687
export CONFIG_INSTANCE_1_BOLT_USERNAME=neo4j
export CONFIG_INSTANCE_1_BOLT_PASSWORD=SUPERPASSWORD
// 下面为实例名称和证书位置信息
export CONFIG_INSTANCE_1_NAME=my-instance-1
export CONFIG_TLS_TRUSTED_CERTS=./tonywu-self-signed.key.crt
步骤6:启动代理
在顾客端启动代理,可以监控代理运行状态。
bin/agent console
2022-07-04T14:43:59+08:00 | WARN | Successfully started agent
2022-07-04T14:43:59+08:00 | WARN | Version: 1.0.0
2022-07-04T14:43:59+08:00 | WARN | Revision: 78b69585eb09a4707a055b92614b5b94adf98d1e
成功联接代理顾客端后,在服务器端可以看见联接信息和代理版本信息。
监控管理主监控视图
下边是主监控视图,可以直观显示所有联接的实例和活动状态(在线或则离线),本反例中有两个代理注册,其中一个是单实例,另外一个是3个节点的集群。
单实例视图
通过主界面上方的下拉菜单可以切换不同的注册代理,显示相应的单实例或集群注册。诸如,右图显示单实例以及相应的数据库状态。
集群实例
集群上每位实例都须要单独运行代理,须要用不同的实例号区别不同的实例,如在顾客端输出下边的环境变量,用INSTANCE_n表示不同的实例。
export CONFIG_INSTANCE_1_NAME=mycluster2
export CONFIG_INSTANCE_1_BOLT_URI=bolt://localhost:7688
export CONFIG_INSTANCE_1_BOLT_USERNAME=neo4j
export CONFIG_INSTANCE_1_BOLT_PASSWORD=Ne04j!
下边是集群实例状态。
右图显示集群数据库状态以及相应的角色(leader或则follower)。
也可以通过数据库拓扑图显示实例和数据库状态。
也可以用表格形式显示。
监控主机,实例和数据库信息
通过仪表板显示主机,实例以及数据库的监控信息,右图为主机的监控信息,包括CPU,显存等信息。
创建用户并赋于角色
用户可以创建新的用户并赋于内建的角色。
升级建议
据悉OpsManager提供了升级建议,您可以查看并选择下载须要升级的版本。
结语
Neo4jOpsManager是一个基于UI的工具,它使DBA(或任何管理员)才能监控、管理和操作企业中的所有Neo4jDBMS。
尽管NOM最初包含一小部份功能,但它将继续以三种形式添加功能。
更多资源请参考。
暂无评论内容