周边工具
详解 Nebula Dashboard 企业版多集群监控运维工具
背景
分布式数据库多节点存储数据带来高性能的同时,伴随着运维服务复杂度的提升以及稳定性监控的实时性要求。在日常的数据库维护过程,维护人员可能会面临以下问题:
- 集群创建、节点&服务管理操作难,需要专业的运维人员;
- 无法实时监控集群线上的运行情况,做到及时报警;
- 多集群管理繁琐,耗时巨大;
- 集群备份升级易出错,且升级复杂度高。
为了解决上述问题,可视化集群管理工具 Nebula Dashboard 应运而生。Nebula Dashboard 旨在帮助运维和 DBA 降低日常维护集群成本,轻松管理集群,让相关人员对线上的稳定性心中有数。
Nebula Dashboard 试用地址:https://dashboard.nebula-graph.com.cn/
简单来说,Nebula Dashboard 功能如上,包括 6 大部分:集群管理、监控、告警、单集群配置、权限管控以及常规的系统设置。下面来讲下 Nebula Dashboard 的三大特性:
多集群全生命周期管理
一个 Nebula 集群的生命周期我们定义为:新集群-集群管理-集群回收。
Nebula Dashboard 可以对集群的整个生命周期进行系统可视化管理,如果集群还未创建,通过可视化操作可快速拉起一个全新集群。考虑到用户可能已有集群在运行 NebulaGraph,所以 Nebula Dashboard 也支持通过导入集群的方式把已有集群纳入监控系统进行管理。
创建集群
Nebula Dashboard 建集群非常快捷:
如图,创建一个集群需要 5 步:
- 输入集群名称,以方便区分不同的集群。
- 指定要创建集群的 Nebula 内核版本,Nebula Dashboard 支持 Nebula 内核 v2.0 以上版本,系统默认内置 v2.6.1、v2.5.1、v2.0.1 三个发行版安装包。对于即将在春节之后发布的 v3.0 版本,Nebula Dashboard 已完成兼容开发工作,v3.0 内核发布之后便会在 Nebula Dashboard 中内置该发行版。
- 添加集群中的节点,这一步需要 SSH 授权。
- 定制化配置节点,按需在不同节点上要部署其对应服务。为了减少配置工作量,Nebula Dashboard 内置默认配置“自动添加服务选项”,系统会根据配置设定均衡部署服务到不同节点上。
- 确认创建集群信息(包括节点以及服务分布信息)无误后,点击创建集群即创建好一个 Nebula 集群。
导入集群
对于运行的线上集群,Nebula Dashboard 提供了快速导入的功能帮助已有集群接入 Nebula Dashboard 做统一管理,具体操作如下所示:
通过输入 graphd 所在地址,如:127.0.0.1:9669
,并提供 Nebula 线上数据库的连接账号和密码,点击连接数据库即可。
系统连上 Nebula 数据库后,会从 metad 中获取集群的服务信息,并进入集群管理页面(图二)进行集群命名、提供节点 SSH 信息操作,完成后即可导入集群方便 Nebula Dashboard 管理。
运维集群
通过创建和导入集群的方式,Nebula Dashboard 可以开始帮助用户管理集群了。对于运维人员而言,对集群节点的管理、服务管理是高频操作,这些操作枯燥乏味且容易出错,而通过 Nebula Dashboard 可以将这部分繁琐操作工具化。
Nebula Dashboard 在运维上集成了以下的功能:
节点 & 服务管理
节点管理和服务管理模块,直观显示当前集群正在运行的节点信息以及各个节点中运行的服务信息,从而随心所欲地对节点以及服务进行操作,包括在集群中新增空节点、对节点中正在运行的服务启停等操作。
集群扩缩容
注:该功能目前只能在 playground 中体验 https://dashboard.nebula-graph.com.cn/
扩缩容操作是运维日常中经常碰到的情况,当数据量突然变大或者访问 QPS 激增时,为了保证集群高可用常会进行扩容操作;反之,当访问量下降、服务请求变少时,会考虑适当地缩容。对于运维人员来说,扩缩容操作是一个不常用但务必谨慎进行的操作,因为线上稳定是系统运行的第一要务,一旦扩缩容导致系统服务出现问题不只是运维人员“加班加点”的事情了。为了确保维护人员“身心健康”,Nebula Dashboard 可帮助集群快速地扩缩容,相关人员无需关心复杂繁琐的 shell 命令即可完成加机器减机器操作。此外,Nebula Dashboard 系统会在 storage 缩容后自动进行 DATA BALANCE
操作。
上图所示,Nebula Dashboard 可视化扩缩容,只需要执行以下 3 步:
- 如果需要添加节点,点击“添加节点”按钮,并提供机器 SSH 信息即可。
- 给对应的节点添加服务(扩容)或者删除现有服务(缩容)。在扩缩容页面,底色淡绿色为新增节点,底色淡红色表示将删除节点,节点列表罗列即将扩缩容的节点详细信息。
- 在确认具体扩缩容的节点和服务信息后,点击确认按钮,系统会自动对集群执行扩缩容任务。
Nebula 运维
NebulaGraph 有较多的可配置选项,通过 Nebula Dashboard 可清晰地看到当前集群的配置信息,可根据业务情况更新最佳集群的配置。此外,用户可以在 Nebula Dashboard 上对数据库的详细信息进行查看和管理操作。
- 查看 Storage Leader 分布情况并进行
BALANCE LEADER
操作。 - 查看不同 Space 的 Partition 分布情况,并支持一键
BALANCE DATA
操作 - 查看长时任务
监控告警——线上稳定性心中有数
作为一款 Dashboard 产品,集群的稳定性监控是整个工具的重中之重。企业版 Nebula Dashboard 系统提供了集群总览、节点指标监控、服务指标监控以及告警通知的能力。
集群总览
在集群总览中,运维人员可以快速了解当前集群的整体情况,包括节点中服务的分布信息、运行状态、自定义的核心监控指标以及重要告警项,从而做到快速掌握信息、快速应对。
节点监控
节点监控主要对采集节点的信息进行监控,内容包括 CPU水位、内存水位、负载情况、磁盘使用情况等,用户还可以设置基线,这样可以更加清楚得知道当前机器水位是否超过水位线,从而及时做出反应。
服务监控
服务监控主要针对当前 Nebula 集群的三个服务(graphd、metad和 storaged)的指标进行可视化监控,目前 Nebula 集群可以采集到几十种指标,并根据指标数值的聚类以及平均值进行监控。常见的指标有 Graph 的慢查询数量、查询报错数、Storage 点边的 latency,以及 Meta 心跳的 latency 等指标。对于不同的指标,除了可以设置基线,还可以选择要监控的指标平均值的周期。
告警模块
Nebula Dashboard 的告警模块是对 NebulaGraph 集群的监控指标进行报警的服务,用户可以查看告警信息,设置告警规则和告警接收方。首先用户根据自己关心的指标设置当前自己业务需要的警戒线,同时支持设置告警触发的频率以及持续时间,以及消息通知的信息模版,这样当系统的指标触发了对应规则时,系统会自动发送邮件出来进行告警提醒。
整个告警模块分为告警历史消息、告警站内提醒、邮件 & Webhook通知、告警规则等 4 个模块。常规的告警使用方式如下:
- 创建自定义告警规则或者打开内置规则的开关。
- 当系统监控到指标符合告警规则,会触发告警发出一条告警消息。
- 告警消息在 Nebula Dashboard 站内会做一个全局通知,同时如果有配置告警邮件信息的话,系统会自动发出邮件至邮件接收人列表中去。
- 用户根据告警消息进行问题排查。
系统角色 & 权限
Nebula Dashboard 面向的是多集群管理,因此针对不同的业务,需要做权限上的划分,做到平台化。首先 Nebula Dashboard 设计了 Admin 和 User 两种角色,Admin 可以针对整个平台做全局的设置,如系统的 Logo 名称、全局的告警发件人信息等,也可以管理当前系统上的账号体系。User 只能对有读写权限的集群进行操作。在集群内部,设置了成员的角色,被加入到该集群的成员分组后才可以对该集群进行操作。
LDAP 统一登陆
考虑到大部分用户都有一套企业账号体系,为了让 Nebula Dashboard 更好地融入对应的企业系统中去,Nebula Dashboard 支持 LDAP 登陆:只需要在部署时,配置 LDAP 信息即可使用对应的企业邮箱账号进行登陆。后续管理员发送邮件邀请用户加入 Dashboard,用户点击链接激活后即可作为普通用户来使用 Nebula Dashboard。
未来规划
Nebula Dashboard 致力于帮助 Nebula 运维人员以及 DBA 降低日常工作的复杂度,因此会持续推出更多相关的硬核功能。虽然本文简述功能已覆盖基础的运维工作,但接下来的版本迭代中 Nebula Dashboard 将会支持以下功能:
- 集群一键备份升级能力,主要面对 v3.0+ Nebula 集群。作为一个分布式集群,数据的安全性不言而喻,同时由于 NebulaGraph 本身也在快速的迭代中,因此让存量的集群升级版本以使用新版本的新特性是非常有必要的。而集群的备份升级对运维人员的专业度要求比较高,而 Nebula Dashboard 也希望通过可视化的方式帮助运维人员快速搞定 Nebula 的备份与升级。
- 支持可视化管理 Storage Zone
- 可视化监控大屏升级,从功能和视觉角度做全方位的升级
- 自定义监控,定制自己专属监控大屏
- 慢查询管理,帮助 DBA 快速定位性能问题
如何申请试用
通过 Nebula Dashboard playground(链接:https://dashboard.nebula-graph.com.cn/ )可快速了解 Nebula Dashboard 是否满足公司的运维需求,如果想要进阶使用可点击申请链接(链接:https://wj.qq.com/s2/10158890/69a8 )申请试用企业版 Nebula Dashboard。
交流图数据库技术?加入 Nebula 交流群请先填写下你的 Nebula 名片,Nebula 小助手会拉你进群~~