乐趣区

关于数据库:如何快速解决集群异常和机器性能波动

本文首发于 Nebula Graph Community 公众号

从集群性能稳定讲起

前几天,咱们收到某公司 Nebula 数据库保护人员小张同学的反馈:发现集群 A 性能稳定,同样的语句有时查问快,然而有时慢,帮忙看看是机器还是服务自身的问题呢?

想到了小张同学之前装置过 Nebula Dashboard 社区版,便举荐他进去查看监控状况。小张进入平台后,查看以后机器的 CPU、内存、磁盘、网络状况,发现同之前相比并没有显著异常情况,机器们都在失常运行。如下图所示:

但,你如果认真查看这张图,会发现集群 A 个别时间段的确存在网络和 CPU 使用率飙升的问题。

于是,咱们持续让小张再查看该集群的服务运行状况,发现在这段时间内查问数量会忽然激增,而且有周期性。如下图:

发现周期性问题之后,咱们询问小张在这个时间段该集群的应用场景。经排查发现,小张同学在这个工夫每天会有定期运行一个数据库 nGQL 执行脚本。经他从新 review 脚本逻辑,发现查问中波及多跳查问并且跳数超过 5 跳。问题定位后,小张倡议相干的业务同学对语句脚本进行了优化解决了资源稳定问题。

让人头疼的集群问题

解决了这个问题,小张同学又向咱们提出了新问题:我能及时感知集群内的服务和机器的异常情况吗?我是不是能够接入告警服务,通过钉钉、微信、短信形式告知服务异样?

碰巧的是,另一个公司团队的小刘也反馈了个异样问题:某个集群连贯不上,不晓得是不是服务挂了。而且对外业务流量入口当初曾经敞开了,怎么排查问题呢?因为 Nebula Dashbaord 社区版并未提供查看集群状态治理性能,在咱们发现服务的监控查问数的确都是 0 之后,倡议小刘同学挨个查看机器。小刘查看之后,反馈集群 A 的机器能失常登录,但挨个查看发现端口的 graphd 和 storaged 服务并不在线,存在服务异常情况。为了不影响业务失常运行,小刘须要一个个手动启动服务异样的机器,破费了他不少启停工夫。通过这次之后,小刘说他打算写个集群疾速启动脚本,不然每次手动启停太麻烦。

独一无二,除了下面两个运维同学反馈的问题之外,其实,咱们还收到了这样的反馈:流量小的状况下,集群失常运行;一旦流量超过某个阈值,便会产生服务连不上、连贯超时、某个查问服务离线等等问题…一般来说,因为集群服务比例散布不合理、分片不均的状况,集群或存在某台机器始终处在高负载状态。以下面这位同学为例,他平时业务流量比拟平衡,但最近刚好是某个活动期,参加了多项推广流动,流量骤升是平时流量的几百倍。基于这种状况,咱们倡议他对集群进行弹性扩容,减少 5 台服务以应答突发的大流量。这波流动过来之后,再缩容,节省成本。

其实集群除了弹性扩缩容问题之外,常见以下几类反馈:

1:如何疾速创立集群,默认 3 节点配置就好?
2:我能看到某台集群某个时间段的操作记录吗?
3:我能删除某个集群,并回收资源吗?
4:昨天查看日志信息,我发现集群 B 的存储服务 storaged2 启停了一次,能帮忙排查是什么问题问题造成的吗?是否后续上生产环境也会呈现?
5:graph 服务查不到,怎么定位问题?
6:集群的某个服务能查到,然而状态始终是退出状态,怎么疾速拉起?

最终解决方案

基于用户的各种场景反馈,咱们打算打造一款比 Dashboard 社区版更便捷治理 Nebula 数据库集群的工具——是的,它便是明天的配角 Nebula Dashboard 企业版,下面提到的那些集群问题以及性能稳定问题,在新公布的 Nebula Dashboard v3.0 背后均不是问题:Nebula Dashboard 企业版,专治集群的疑难杂症。

为了让数据库运维、DBA 同学更不便地治理 Nebula 数据库集群,基于社区版的 Nebula Dashboard 咱们扩大多个性能场景,这里能够简略介绍下局部性能,更多信息能够关注咱们下周的 Dashboard v3.0 Demo SHOW 直播和官网介绍哟~

简化运维

提到简化操作,必定得有对疾速部署 / 导入集群性能的反对;再者,加上扩缩容,这样你就不必关怀简单繁琐的 shell 命令就能实现加减机器操作。最初,退出可视化元素更直观地理解集群机器和服务散布状况。

迷信的监控 & 告警

此外,企业版 Nebula Dashboard 优化监控总览,以便更灵便、迷信地监控服务。它反对对监控数据规定的自定义配置,并接入异样告诉可及时同步异常情况给指定接管人,默认告诉平台提醒和邮件告诉提供了 Webhooks 用来反对疾速对接钉钉、企业微信等第三方通信平台;

服务 / 节点的可视化操作

在企业版 Nebula Dashboard 中还反对对服务 / 节点可视化治理,实时显示服务状态。此外,Dashboard 企业版还反对疾速启停,再也不必挨个上故障机器手动启动服务。最初,Nebula Dashboard 企业版联合机器信息展现了集群服务的散布状况、类型,运行门路等信息,以便你更好地操作集群;

And More…

此外,咱们还有许多实用的性能:

  • 集群诊断:岂但能够对问题集群进行问题定位,还能够对亚健康集群进行诊断剖析,依据报告指定更好的保护打算;
  • 可视化大屏:数据投在大屏幕上,实时关注集群,特地是须要压测和流动场景时更能直观感触集群的运行负载;
  • 查看集群元数据信息:查看 leader、partition 散布,并反对 BALANCE 操作,还有其余服务运行的元数据信息展现等;
  • 集群配置更新:检测集群配置,并自定义批改;
  • 账号和权限治理体现:邀请多人同时治理,反对多集群权限治理;

最初,慢查问治理、一键数据备份 / 复原 / Nebula 集群降级、job 治理、单过程监控、黑匣子等其余性能已在 Nebula Dashboard 企业版迭代打算中,感兴趣同学能够多关注下 Dashboard 企业版的后续版本公布。

欢送拜访 https://wj.qq.com/s2/9437467/b3b1/ 申请试用 Nebula Dashboard,并给咱们提产品反馈倡议,以便更好地欠缺 Nebula Dashboard 服务大家的集群运维~ btw,目前 Nebula Dashboard 试用期缩短至 30 天,记得来体验它呀。


交换图数据库技术?退出 Nebula 交换群请先填写下你的 Nebula 名片,Nebula 小助手会拉你进群~~

退出移动版