本篇文章給大家分享的是有關(guān)UAVStack的慢SQL數(shù)據(jù)庫監(jiān)控功能及其實(shí)現(xiàn)是怎樣的,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
肅北網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,肅北網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為肅北超過千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的肅北做網(wǎng)站的公司定做!
UAVStack是一個(gè)全維監(jiān)控與應(yīng)用運(yùn)維平臺(tái)。UAV.Monitor具備監(jiān)控功能,包含基礎(chǔ)監(jiān)控、應(yīng)用/服務(wù)性能監(jiān)控、日志監(jiān)控、業(yè)務(wù)監(jiān)控等。在應(yīng)用監(jiān)控中,UAV可以根據(jù)應(yīng)用實(shí)例畫像;其中應(yīng)用實(shí)例組件可以對日志、服務(wù)、客戶端等進(jìn)行畫像;基于客戶端的畫像又分為Http、Dubbo、MQ、Kafka、JDBC、redis、MongoDB等等。
作為一個(gè)工作多年的程序員或運(yùn)維人員,相信你一定遇到過以下情況:
場景一:系統(tǒng)出現(xiàn)異常情況,運(yùn)維人員沒能在第一時(shí)間發(fā)現(xiàn),反而是業(yè)務(wù)方在使用過程中反饋系統(tǒng)崩潰、頁面點(diǎn)不開。查看系統(tǒng)日志,發(fā)現(xiàn)一直在報(bào)連接數(shù)據(jù)庫異常;
場景二:新功能上線穩(wěn)定運(yùn)行一段時(shí)間后,用戶反饋頁面響應(yīng)越來越慢,打開一個(gè)頁面要等好久。排查問題,發(fā)現(xiàn)是一個(gè)慢SQL影響了整個(gè)功能的體驗(yàn)。
為此,UAVStack開發(fā)了數(shù)據(jù)庫監(jiān)控功能。最初,數(shù)據(jù)庫監(jiān)控功能只是對數(shù)據(jù)源、數(shù)據(jù)庫連接池進(jìn)行了指標(biāo)采集,通過客戶端畫像可以查看實(shí)時(shí)的數(shù)據(jù)庫連接池信息以及操作計(jì)數(shù)。最近UAVStack又解鎖了一項(xiàng)新功能——慢SQL監(jiān)控,使數(shù)據(jù)庫監(jiān)控功能更加完善。
今天小編就向大家介紹一下數(shù)據(jù)庫監(jiān)控的具體實(shí)現(xiàn)。文章中出現(xiàn)的以下關(guān)鍵字全部用簡稱代替:
· 中間件增強(qiáng)框架:英文MonitorFramework,簡稱MOF · 健康管理服務(wù):英文HealthManager,簡稱HM · 監(jiān)控代理程序:英文MonitorAgent,簡稱MA
· MOF Agent注入機(jī)制:MOF Agent的注入機(jī)制以Java agent以及Javaassit技術(shù)作為基礎(chǔ)支撐。Java agent負(fù)責(zé)攔截和轉(zhuǎn)換字節(jié)碼流,轉(zhuǎn)換過程中使用Javaassist進(jìn)行解析和修改,在應(yīng)用服務(wù)器生命周期的關(guān)鍵位置注入切點(diǎn),為MOF框架初始化、應(yīng)用的畫像信息和實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)信息捕獲提供基礎(chǔ)。
· InterceptFramework框架:在應(yīng)用啟動(dòng)的特定生命周期內(nèi)改寫字節(jié)碼,植入特定的邏輯處理代碼,即畫像數(shù)據(jù)采集,采集的數(shù)據(jù)包含服務(wù)畫像以及客戶端畫像;客戶端畫像包含Http、Dubbo、MQ、Kafka、JDBC、Redis、MongoDB等常見的開源組件,系統(tǒng)中調(diào)用的第三方服務(wù)都會(huì)被列為是客戶端的對象,比如系統(tǒng)中調(diào)用了第三方系統(tǒng)的接口都屬于客戶端的范疇。
· CaptureFramework框架:通過InterceptFramework框架在特定的生命周期改寫字節(jié)碼植入特定的邏輯代碼,在植入的邏輯代碼中可以通過CaptureFramework畫像的Monitor捕獲體系的能力采集數(shù)據(jù)以及數(shù)據(jù)存儲(chǔ)。具體實(shí)現(xiàn)為采用doCapture來實(shí)現(xiàn)在特定的捕獲點(diǎn)執(zhí)行抓取數(shù)據(jù)行為,采用doPreStore來實(shí)現(xiàn)在存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)之前的一些捕獲動(dòng)作,對抓取的數(shù)據(jù)進(jìn)行特殊數(shù)據(jù)的處理,獲取到處理完成后的數(shù)據(jù)再通過UAVServer調(diào)用具體的Supporter,最后實(shí)現(xiàn)數(shù)據(jù)落地。
慢SQL監(jiān)控的實(shí)現(xiàn)分為四個(gè)組成部分:
· 慢SQL的動(dòng)態(tài)啟停:慢SQL的監(jiān)控啟/停依賴于MOF的Global Filter機(jī)制。在應(yīng)用初始化時(shí),UAV對應(yīng)用的Filter進(jìn)行了改寫,提供了向MOF下發(fā)指令的接口。只要調(diào)用接口傳入規(guī)定的參數(shù)便可以實(shí)現(xiàn)對慢SQL監(jiān)控的動(dòng)態(tài)啟停。UAV系統(tǒng)中并不存在其它服務(wù)直接調(diào)用MOF的操作,都是通過MA來完成的。大家可以把MA理解為服務(wù)請求方與MOF之間的媒介。
· 慢SQL數(shù)據(jù)采集:依賴InterceptFramework框架在特定的生命周期改寫字節(jié)碼植入特定邏輯,同時(shí)采用MOF的CaptureFramework框架進(jìn)行數(shù)據(jù)抓取并生成抓取結(jié)果。MA會(huì)對生成結(jié)果的文件進(jìn)行定時(shí)采集并封裝成固定的數(shù)據(jù)結(jié)構(gòu)發(fā)送至MQ。
· 數(shù)據(jù)存儲(chǔ):在HM中創(chuàng)建獨(dú)立的feature進(jìn)行數(shù)據(jù)處理,消費(fèi)MA推送至MQ中的數(shù)據(jù),完成數(shù)據(jù)清洗再存儲(chǔ)至ES。由于數(shù)據(jù)采集的結(jié)果進(jìn)行了特殊的約定,從MQ拿到的數(shù)據(jù)并不能直接轉(zhuǎn)換成相應(yīng)的結(jié)果,需要進(jìn)行相應(yīng)的解析處理才能進(jìn)行存儲(chǔ)(由于采集的數(shù)據(jù)中字段較多、可能含有特殊的字符會(huì)影響對數(shù)據(jù)的解析,在生成數(shù)據(jù)結(jié)果時(shí)有規(guī)則約束才能實(shí)現(xiàn)數(shù)據(jù)的正確解析)。數(shù)據(jù)庫監(jiān)控的feature還提供了查詢、統(tǒng)計(jì)慢SQL操作的相關(guān)接口。
· 頁面展示:操作頁面可自主啟停數(shù)據(jù)庫監(jiān)控,設(shè)置慢SQL的時(shí)間閾值。啟停以及時(shí)間閾值的設(shè)置依賴于MA向MOF發(fā)送指令。頁面展示的SQL統(tǒng)計(jì)、追蹤等信息則通過HM的接口獲取。
數(shù)據(jù)庫監(jiān)控目前已實(shí)現(xiàn)的功能有SQL分類統(tǒng)計(jì)、數(shù)據(jù)庫連接池監(jiān)控、慢SQL耗時(shí)分布統(tǒng)計(jì)、慢SQL統(tǒng)計(jì)、慢SQL追蹤以及調(diào)用鏈/日志關(guān)聯(lián)功能。
SQL分類統(tǒng)計(jì):
· 數(shù)據(jù)來源:OpenTSDB(通過畫像采集指標(biāo))
· 針對插入、刪除、更新、查詢、批量操作進(jìn)行分類統(tǒng)計(jì)
· 根據(jù)時(shí)間分布展示數(shù)據(jù)庫的訪問情況,根據(jù)時(shí)間分布展示數(shù)據(jù)庫的訪問情況,展示所選時(shí)間段的總訪問計(jì)數(shù)(累計(jì)值)
· 可以自定義時(shí)間條件查詢歷史數(shù)據(jù)
數(shù)據(jù)庫連接池監(jiān)控:
· 數(shù)據(jù)來源:OpenTSDB(通過畫像采集指標(biāo))
· 可以查看連接池總連接數(shù)、活動(dòng)連接數(shù)、空閑連接數(shù)的變化曲線
慢SQL耗時(shí)分布統(tǒng)計(jì):
· 數(shù)據(jù)來源:ES
· 慢SQL統(tǒng)計(jì)可根據(jù)分類進(jìn)行展示統(tǒng)計(jì)
· 針對慢SQL的耗時(shí)分布統(tǒng)計(jì),最多查詢100條
· 根據(jù)時(shí)間分布展示數(shù)據(jù)庫慢SQL的訪問情況,展示當(dāng)前時(shí)間點(diǎn)的慢SQL訪問時(shí)間、SQL、耗時(shí)
· 可以根據(jù)設(shè)置查詢歷史數(shù)據(jù)
慢SQL統(tǒng)計(jì):
· 數(shù)據(jù)來源:ES
· 針對所有類型的SQL
· 根據(jù)時(shí)間分布展示數(shù)據(jù)庫某時(shí)間段的慢SQL統(tǒng)計(jì)
· 可以根據(jù)設(shè)置查詢歷史數(shù)據(jù)
慢SQL追蹤:
· 數(shù)據(jù)來源:ES
· 查詢條件為:關(guān)鍵字、是否慢SQL追蹤、時(shí)間范圍
· 根據(jù)搜索條件查詢SQL追蹤列表,列表展示內(nèi)容為:SQL語句、總執(zhí)行次數(shù)、執(zhí)行總時(shí)間、平均執(zhí)行時(shí)間、操作-可查看詳情
慢SQL追蹤-詳情查看:
· 數(shù)據(jù)來源:ES
· 慢SQL詳情:點(diǎn)擊某一條慢SQL統(tǒng)計(jì)可查看詳情:包含開始執(zhí)行時(shí)間、執(zhí)行時(shí)長、入?yún)?、?zhí)行結(jié)果、影響條數(shù)
慢SQL追蹤-調(diào)用鏈關(guān)聯(lián):
· 應(yīng)用監(jiān)控中需開啟輕度調(diào)用鏈
· 點(diǎn)擊某一行詳細(xì)的執(zhí)行時(shí)間,可以跳轉(zhuǎn)至調(diào)用鏈頁面,查看調(diào)用鏈的詳細(xì)內(nèi)容(相關(guān)的調(diào)用鏈高亮顯示)
慢SQL追蹤-日志關(guān)聯(lián):
· 應(yīng)用監(jiān)控中需開啟日志歸集
· 點(diǎn)擊某一行詳細(xì)的調(diào)用鏈內(nèi)容的日志關(guān)聯(lián),可查看相應(yīng)的日志信息,相關(guān)的日志行數(shù)高亮顯示
數(shù)據(jù)庫監(jiān)控是不容忽視的,好的數(shù)據(jù)庫監(jiān)控可以幫助優(yōu)化系統(tǒng)并進(jìn)行實(shí)時(shí)預(yù)警。通過文中介紹的數(shù)據(jù)庫連接池監(jiān)控,運(yùn)維人員可以隨時(shí)關(guān)注數(shù)據(jù)庫連接池的狀態(tài),有效防止系統(tǒng)出現(xiàn)連接池活動(dòng)連接數(shù)占滿無法連接數(shù)據(jù)庫的情況;而慢SQL監(jiān)控功能可以動(dòng)態(tài)展示一個(gè)系統(tǒng)的SQL情況,幫助優(yōu)化SQL語句,讓系統(tǒng)更穩(wěn)定。
以上就是UAVStack的慢SQL數(shù)據(jù)庫監(jiān)控功能及其實(shí)現(xiàn)是怎樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章題目:UAVStack的慢SQL數(shù)據(jù)庫監(jiān)控功能及其實(shí)現(xiàn)是怎樣的
本文路徑:http://aaarwkj.com/article44/gjgihe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、定制開發(fā)、全網(wǎng)營銷推廣、網(wǎng)站導(dǎo)航、微信小程序、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)