摘要:原文出自聽云技術博客斷斷續續寫了將近一個月,聽云第一版數據庫管理平臺終于寫完了,期間來來回回的改了好多次小毛病,現在已經部署到生產環境上去了。主機管理這里主要是主機列表管理和業務組列表管理。
原文出自【聽云技術博客】: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綁定了太多我們自己的業務場景,后續如果功能完善之后,會在通用性上下點功夫,做一個開源的版本出來。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/17536.html
摘要:功能簡介功能簡介功能簡介本篇目錄一功能點概述一功能點概述二支持的大數據生態服務二支持的大數據生態服務一功能點概述一功能點概述一功能點概述支持友好的瀏覽器管理控制臺支持集群節點管理,如節點監控資源使用率節點狀態等支持集群大數據服務的服 功能簡介本篇目錄一、功能點概述二、支持的大數據生態服務一、功能點概述支持友好的Web瀏覽器管理控制臺;支持集群節點管理,如節點監控、資源使用率、節點狀態等;支持...
摘要:產品概述產品概述產品概述本篇目錄產品特點產品特點功能簡介功能簡介操作指南操作指南開發指南開發指南任務調度任務調度產品價格產品價格簡稱,是推出的云上智能化輕量級的大數據基礎服務平臺,能夠幫您快速構建起大數據的分析處理能力。 產品概述本篇目錄產品特點功能簡介操作指南開發指南任務調度產品價格UCloud Smart Data Platform(簡稱 USDP),是 UCloud 推出的云上智能化、...
摘要:產品概述產品概述本篇目錄產品特點產品特點功能簡介功能簡介操作指南操作指南開發指南開發指南任務調度任務調度產品價格產品價格簡稱,是推出的云上智能化輕量級的大數據基礎服務平臺,能夠幫您快速構建起大數據的分析處理能力。 產品概述本篇目錄產品特點功能簡介操作指南開發指南任務調度產品價格UCloud Smart Data Platform(簡稱 USDP),是 UCloud 推出的云上智能化、輕量級的...
閱讀 2861·2021-10-14 09:50
閱讀 1217·2021-10-08 10:21
閱讀 3646·2021-10-08 10:16
閱讀 3062·2021-09-27 14:02
閱讀 3135·2021-09-23 11:21
閱讀 2108·2021-09-07 10:17
閱讀 406·2019-08-30 14:00
閱讀 2105·2019-08-29 17:26