天天看點

資料庫管理平台NetopGO簡介

斷斷續續寫了将近一個月,聽雲第一版資料庫管理平台終于寫完了,期間來來回回的改了好多次小毛病,現在已經部署到生産環境上去了。

在剛開始的時候,後端的資料庫叢集隻有10多個節點組,日常的巡檢工作并不會花費太多的時間和精力。随着業務的增長,在較短時間内後端叢集擴充到數百節點時,這時的日常巡檢如果還是人肉完成,講道理,最終可能就是不做巡檢或者是緣分巡檢,哪天想起來了搞一下。顯然這不是我們的風格。那麼如何解放我們花在巡檢上的時間和精力,我們決定寫一個工具來幫我們完成巡檢工作,我們要做的就是登陸上這個系統,look  and  check。 

在這個版本中實作的功能并不是很多,大都是針對目前工作中的痛點來開發的,架構也很簡單,分為報表和資料收集兩個部分,資料收集程式主要從兩個地方收集資料,一個是線上的資料庫中收集一些名額資料,一個是調用雲廠商的api取db的容量資訊。 

該系統的開發語言是golang,netop是我們部門的簡稱,是以索性就叫netopgo。前端頁面是改的jumpserver的頁面,資料搬運工真心寫不動前端。

web開發架構使用的beego。講道理,jumpserver的前端模版真的是一款很優秀易上手的模版,beego就更不用說了,powerful、beautiful and amazing!直接上圖,标清有碼,嘿嘿嘿。

<b>1、儀表盤</b>

資料庫管理平台NetopGO簡介

<b>2、使用者權限</b>

資料庫管理平台NetopGO簡介

劃分三種權限:admin、dba和guest。如果目前使用者的權限不足,通路受限頁面會提示沒有權限或頁面上的部分按鈕不可用。

資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介

目前,出于資訊安全的考慮,并沒有支援資料導出功能,不過正在考慮給dba視角添加一個結果導出功能。

資料庫管理平台NetopGO簡介

清單中會展示每條sql的執行使用者、schema、狀态和具體執行的sql。其他同僚正在查詢的時候你就看這個清單,十分有快感。

<b>5、更新記錄功能</b>

更新記錄功能并沒有引入工作流,是以隻是一個簡單的記錄,目前實作了應用更新記錄、資料庫更新記錄和故障記錄的功能,但是大家都希望不要手工錄入,最好是提流程系統自己記錄。這個從目前的環境來看,可能難以實作。       

資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介
資料庫管理平台NetopGO簡介

這個版本實作的功能基本上就這些了,接下來打算在查詢視窗的頁面中支援對後端中間代理下的叢集做ddl和dml的變更,中間件本身是沒有辦法支援這些的,是以我們實作的思路就是在查詢視窗中標明schema之後,sql會被送出到代理後端所有的分片上去執行,并最終傳回執行狀态,進而達到驗證的目的。目前我們是使用的腳本來完成,有點low。這個版本已經做了相當多的準備工作,是以實作這個功能并不會很難。目前來看netopgo綁定了太多我們自己的業務場景,後續如果功能完善之後,會在通用性上下點功夫,做一個開源的版本出來。