数据库管理平台NetopGO简介

原文出自【听云技术博客】:http://blog.tingyun.com/web/article/detail/600

断断续续写了将近一个月,听云第一版数据库管理平台终于写完了,期间来来回回的改了好多次小毛病,现在已经部署到生产环境上去了。

在刚开始的时候,后端的数据库集群只有10多个节点组,日常的巡检工作并不会花费太多的时间和精力。随着业务的增长,在较短时间内后端集群扩展到数百节点时,这时的日常巡检如果还是人肉完成,讲道理,最终可能就是不做巡检或者是缘分巡检,哪天想起来了搞一下。显然这不是我们的风格。那么如何解放我们花在巡检上的时间和精力,我们决定写一个工具来帮我们完成巡检工作,我们要做的就是登陆上这个系统,look  and  check。 

在这个版本中实现的功能并不是很多,大都是针对目前工作中的痛点来开发的,架构也很简单,分为报表和数据收集两个部分,数据收集程序主要从两个地方收集数据,一个是线上的数据库中收集一些指标数据,一个是调用云厂商的api取DB的容量信息。 

该系统的开发语言是golang,netop是我们部门的简称,所以索性就叫NetopGO。前端页面是改的jumpserver的页面,数据搬运工真心写不动前端。

Web开发框架使用的beego。讲道理,jumpserver的前端模版真的是一款很优秀易上手的模版,beego就更不用说了,powerful、beautiful and amazing!直接上图,标清有码,嘿嘿嘿。

1、仪表盘

 这里主要是一些数据概览,各种总量、截至到当前的本月数据量变化趋势。每个业务库本月的数据容量变化情况,还有前一天慢查询数量排名top12。仪表盘上提供快速跳转的链接,只需要点击相关的数字即可。比如点击DB总数,就会跳转到DB列表的页面。

2、用户权限

 

划分三种权限:admin、dba和guest。如果当前用户的权限不足,访问受限页面会提示没有权限或页面上的部分按钮不可用。

 3、主机管理       这里主要是主机列表管理和业务组列表管理。主机列表依赖业务组列表。这部分对来宾和数据库管理员是有权限控制的,比如这个guest用户登录上来之后查看主机列表只有readonly用户的远程登录可用,其他功能受限,点击远程登陆会弹出一个webshell,如下图:       4、DB管理

DB管理是这个版本的重心,首先看DB列表 

这里有所有线上的实例,并且每个实例都有图表和慢sql的入口链接,点击图表,会跳转到图表的页面: 

图表目前只有数据量(每天统计)、QPS&TPS(每10分钟统计)和慢查询个数(每天统计)的变化曲线。监控不是这个系统的重点,目前基本上所有的生产环境监控都是另外一个平台再支撑。我希望系统能够为我展示所有实例的数据量变化趋势、qps&tps情况,当然最重要的是慢查询的详细情况。如果在列表中点击慢查询,就会跳转到慢查询列表页面,如下图: 

这个页面中会对慢sql做简单的汇总和统计,同时提供查看sql和具体执行计划的功能,比如点击查看执行计划,就会向生产环境的数据库做一个即时的执行计划分析并返回结果,这样抓到慢sql就不用打开黑窗口(xshell)登陆到后端数据库上去看执行计划,直接在前端页面就能查看。如下 

Schema列表,这个页面同样有比较大的信息量,包含了所有业务库的列表,这个列表主要是给数据查询窗口使用的,动态的增删schema列表,就相当于动态的增删数据源。同时展现了每个业务库当前的数据容量大小,非常直观。 

由于我们后端的数据库使用了分区表,分区是由存储过程自动维护的,所以我们对每个业务库后端的分区增删状态在这里做了展现,点击分钟按钮就会跳转到分区监控列表页面,能够清晰的看到哪些节点的添加分区没有成功,如果添加失败,就会显示红色的Failed字样。小时和天表也是一样的。 

平常的工作中会有很多数据查询的场景,研发和测试的同事那么多,如果所有的请求都对准dba一个人的话,也是一个头疼的问题,所以在NetopGO中开了一个查询的窗口,实现了权限划分、查询sql审计记录和自动后端识别的功能。动态增删数据源,Schema列表中添加一个数据源,在查询窗口里可以立即显示并进行查询。如果后端允许的话,dba可以做任何操作,比如 insert操作,如下 

如果后端是代理的话,即便是dba角色也只能支持查询,如下 

如果是来宾帐号,所有的数据库都只能是查询权限,如下 

如果查询成功,会跳转到结果页面,如果列很多,超出了表格的宽度,下方是会有滚动条出现的。如下 

目前,出于信息安全的考虑,并没有支持数据导出功能,不过正在考虑给dba视角添加一个结果导出功能。

在数据查询窗口中执行的sql,无论是否成功,都会被记录到审计日志里面,查看审计日志可以访问审计日志页面,如下: 

列表中会展示每条sql的执行用户、schema、状态和具体执行的sql。其他同事正在查询的时候你就看这个列表,十分有快感。

5、升级记录功能

升级记录功能并没有引入工作流,所以只是一个简单的记录,目前实现了应用升级记录、数据库升级记录和故障记录的功能,但是大家都希望不要手工录入,最好是提流程系统自己记录。这个从目前的环境来看,可能难以实现。       

不过从我自己的体验来说,这种记录方式相比之前已经有很大改善。以数据库升级记录为例,以前的升级记录是放在一个nfs共享目录下的一个excel表中,目录比较深,跟sql文件的存档目录不在一个目录下,每次记录需要翻两次n级的目录,而且如果要找之前的一个升级sql,也不太好找,因为文件比较多,所以DB升级记录功能是这样的 

在记录升级记录的时候直接把sql文件上传到服务器端的目录,然后列表中提供查看附件的入口,如下 

点击详细内容,会跳转到如下页面 

点击附件,如果是在Chrome浏览器上,会直接在一个新的窗口中显示出文本内容,如果是其他浏览器,会直接下载这个文件。附件直接在浏览器上访问真的很方便。Chrome下点击附件 

这个版本实现的功能基本上就这些了,接下来打算在查询窗口的页面中支持对后端中间代理下的集群做DDL和DML的变更,中间件本身是没有办法支持这些的,所以我们实现的思路就是在查询窗口中选定schema之后,sql会被提交到代理后端所有的分片上去执行,并最终返回执行状态,从而达到验证的目的。目前我们是使用的脚本来完成,有点low。这个版本已经做了相当多的准备工作,所以实现这个功能并不会很难。目前来看NetopGO绑定了太多我们自己的业务场景,后续如果功能完善之后,会在通用性上下点功夫,做一个开源的版本出来。

时间: 2024-09-20 00:58:12

数据库管理平台NetopGO简介的相关文章

如何创建大规模.NET应用程序:分布式计算平台FatDB简介

挑战 创建现代化的大规模应用程序是一件令人生畏的任务.客户期望获得高性能及快速的响应,并且"随时随地可以访问"他们的数据.运营团队希望应用程序易于配置.维护.迁移及问题诊断.开发团队希望能使用类似的技术范式,使用简单的API,有着易用的工具并能充分利用现有的人员及遗留的基础代码.最后,业务人员要求应用程序具有竞争优势:他们希望应用程序成本适中,能快速推向市场,并能够快速应对不断变化的业务策略.在以往,我们基本可以确定,企业将不得不放弃很大一部分的需求,以求将应用程序尽快发布.即便如今,

微信快速开发框架(二) -- 快速开发微信公众平台框架---简介

年底了,比较忙,大家都在展望未来,对于30+的我来说,发展和稳定是个难以取舍的问题.最近发了些求职信,鸟无音讯,没事做,做点帮助大家的东西吧. 之前做了个微信公众平台的查询系统,在开发中,发觉了一些微信公众平台的接口问题<对微信公众平台开发的消息处理>,开发起来比较痛苦,对于微信过来的消息,需要解析后一个一个来返回,编写之痛苦,相信有人明白.在开发中,一直考虑着如何来简化开发,暂时想不到好的模式来开发,就自己胡乱写了一个,希望对大家有帮助. 代码已发布到github:https://githu

如何打造一个高逼格的云运维平台?

作者简介 鲁逸丁  中国银行卡组织运维架构师 长期从事金融信息系统运维工作,专注于运维体系建设,对金融企业云计算运维具有深刻理解,银行卡组织云运维平台负责人. 前言 大家做运维普遍经历这样的过程: 首先我们会把操作做一个标准化,这个阶段是运维质量的提升的阶段. 在标准化实施完以后,由于数目的增加,或者是一些运维场景的增多,我们会逐步的进行一些工具化和自动化,这个阶段我们的运维的效率得到提升. 但是众多的工具以及自动化脚本,会让我们的管理过程中比较困难,随着人员的变动或者是一些工具维护过程中的差错

175平台安装使用图文教程

175游戏平台是一款集多种游戏一身的玩家互动平台,包含国内最先的反作弊模块[定期更新]和CS互联网服务器刷新补丁,一键安装后即可进入绿色纯净CS精彩世界! 无论您已经是我们的铁杆玩家,或是刚刚接触到我们平台,相信您都能在这个新的版本中体验到快捷,贴心的服务.下面,让我们一起来看看这新版本有何过人之处. 第一步:下载客户端并注册帐号 安装到合适的文件夹即可. 注册并登录(一键完成,简单明了) 新用户注册:点击后进入注册页面,用户名和CSID为自选. 体验帐号:单击后直接获得175平台帐号,用户名和

十年磨一剑,阿里巴巴企业级数据管理平台:iDB

十年间,阿里巴巴的研发人员也增长了十倍,为了解决DBA的服务效率问题,十年前我们开始iDB的研发,完成手工变更的在线化,成为了DBA能力产品化的载体.在最新的4.0版本中,iDB面向云时代推出数据管理DMS企业版,是业界首创的数据库DevOps解决方案,形成了云时代企业数据管理的最佳实践. 一. 为了效率与安全而生 在阿里巴巴,数据库团队是数据的守护者,保障着数据库安全.稳定.高效的运行.在早期,DBA除了负责数据库的基础运维,对于研发流程中的数据库变更也都由DBA负责,包括线上库表设计.结构变

基于英特尔平台打造高性能游戏云

3月8日,2017游戏行业全球同服和安全攻防技术沙龙在上海举行,英特尔技术人魏彬带来题为"基于英特尔平台打造高性能游戏云"的演讲.本文首先从最新英特尔平台技术简介开始,接着讲解了性能优化方法论,着重分析了游戏优化方案,包括TBB Malloc.ICC优化.微架构NUMA优化和High-Bin Xeon的优势,最后进行了简要总结.一起来了解下! 直播视频回放 以下是精彩内容整理: 最新英特尔平台技术简介 Tick-Tock Development Model Tick-Tock Deve

亿级用户平台的大数据实践

公司介绍 轻松筹于2014年9月成立,2015年9月注册用户达到100万,2016年9月注册用户突破1亿,并入选民政部网络募捐平台.到今天,轻松筹的手机号注册用户已经超过1.6亿,意味着每7个上网用户里就有1个人使用过轻松筹. 轻松筹每天有300GB的结构化数据产生,数据量以后还会越来越大,要应对的并发量也会越来越多.所以,一个支持PB级以上的数据库来存储这些海量数据并且能够支持及时查询,成了必需. 项目背景(Why) 我们希望筹款能帮助每一位病人重获健康,同时我们也希望解决更多老百姓的社会保障

【天池直播】机器学习平台赛经验分享

近年来随着机器学习慢慢进入企业,越来越多的算法需要与生产环境接轨,各大数据比赛平台也开始重视平台赛项目. 本次邀请的嘉宾会分享一些算法在工业级应用上的迁移方式,以及平台赛的经验. 直播主题:机器学习平台赛经验分享 直播时间:12月14日 20:30 直播链接:点击跳转 直播嘉宾: 应缜哲 天池昵称:bird827 bird,西安交通大学硕士,大数据仓库高级工程师.熟悉机器学习算法并多次参与国内外数据竞赛,同时擅长工程算法实现及建模. 曾获得2017滴滴DiTech无人驾驶大赛冠军.2017 Da

电商基础架构建设之路

在2016年的最后一天,奉上本年度最后一篇文章,也是为自己在当当的工作画上句号. 本人已经离开当当(可称为猴厂),加入饿了么(人称饿厂),负责北京研发中心.以前是输送精神食粮,现在是物质食粮,都是为人民服务,而且人可以不读书,但是不能不吃饭,所以跟生活更息息相关. 在此感谢多年来给我帮助和支持的当当领导和同事,在当当的这几年,经历了很多,结识了很多好朋友,也收获了许多成长,相信当当会越来越好,架构部做出更多的成绩,引领当当技术体系更进一步,小伙伴们事业蒸蒸日上. 今天分享的内容是"电商基础架构建