UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的

本篇文章給大家分享的是有關(guān)UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

肅北網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,肅北網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為肅北超過(guò)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐ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í)例畫(huà)像;其中應(yīng)用實(shí)例組件可以對(duì)日志、服務(wù)、客戶端等進(jìn)行畫(huà)像;基于客戶端的畫(huà)像又分為Http、Dubbo、MQ、Kafka、JDBC、redis、MongoDB等等。

一、背景

作為一個(gè)工作多年的程序員或運(yùn)維人員,相信你一定遇到過(guò)以下情況:

場(chǎng)景一:系統(tǒng)出現(xiàn)異常情況,運(yùn)維人員沒(méi)能在第一時(shí)間發(fā)現(xiàn),反而是業(yè)務(wù)方在使用過(guò)程中反饋系統(tǒng)崩潰、頁(yè)面點(diǎn)不開(kāi)。查看系統(tǒng)日志,發(fā)現(xiàn)一直在報(bào)連接數(shù)據(jù)庫(kù)異常;

場(chǎng)景二:新功能上線穩(wěn)定運(yùn)行一段時(shí)間后,用戶反饋?lái)?yè)面響應(yīng)越來(lái)越慢,打開(kāi)一個(gè)頁(yè)面要等好久。排查問(wèn)題,發(fā)現(xiàn)是一個(gè)慢SQL影響了整個(gè)功能的體驗(yàn)。

為此,UAVStack開(kāi)發(fā)了數(shù)據(jù)庫(kù)監(jiān)控功能。最初,數(shù)據(jù)庫(kù)監(jiān)控功能只是對(duì)數(shù)據(jù)源、數(shù)據(jù)庫(kù)連接池進(jìn)行了指標(biāo)采集,通過(guò)客戶端畫(huà)像可以查看實(shí)時(shí)的數(shù)據(jù)庫(kù)連接池信息以及操作計(jì)數(shù)。最近UAVStack又解鎖了一項(xiàng)新功能——慢SQL監(jiān)控,使數(shù)據(jù)庫(kù)監(jiān)控功能更加完善。

今天小編就向大家介紹一下數(shù)據(jù)庫(kù)監(jiān)控的具體實(shí)現(xiàn)。文章中出現(xiàn)的以下關(guān)鍵字全部用簡(jiǎn)稱代替:

· 中間件增強(qiáng)框架:英文MonitorFramework,簡(jiǎn)稱MOF · 健康管理服務(wù):英文HealthManager,簡(jiǎn)稱HM · 監(jiān)控代理程序:英文MonitorAgent,簡(jiǎn)稱MA

二、關(guān)鍵技術(shù)&UAV自研框架

· MOF Agent注入機(jī)制:MOF Agent的注入機(jī)制以Java agent以及Javaassit技術(shù)作為基礎(chǔ)支撐。Java agent負(fù)責(zé)攔截和轉(zhuǎn)換字節(jié)碼流,轉(zhuǎn)換過(guò)程中使用Javaassist進(jìn)行解析和修改,在應(yīng)用服務(wù)器生命周期的關(guān)鍵位置注入切點(diǎn),為MOF框架初始化、應(yīng)用的畫(huà)像信息和實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)信息捕獲提供基礎(chǔ)。

· InterceptFramework框架:在應(yīng)用啟動(dòng)的特定生命周期內(nèi)改寫(xiě)字節(jié)碼,植入特定的邏輯處理代碼,即畫(huà)像數(shù)據(jù)采集,采集的數(shù)據(jù)包含服務(wù)畫(huà)像以及客戶端畫(huà)像;客戶端畫(huà)像包含Http、Dubbo、MQ、Kafka、JDBC、Redis、MongoDB等常見(jiàn)的開(kāi)源組件,系統(tǒng)中調(diào)用的第三方服務(wù)都會(huì)被列為是客戶端的對(duì)象,比如系統(tǒng)中調(diào)用了第三方系統(tǒng)的接口都屬于客戶端的范疇。

· CaptureFramework框架:通過(guò)InterceptFramework框架在特定的生命周期改寫(xiě)字節(jié)碼植入特定的邏輯代碼,在植入的邏輯代碼中可以通過(guò)CaptureFramework畫(huà)像的Monitor捕獲體系的能力采集數(shù)據(jù)以及數(shù)據(jù)存儲(chǔ)。具體實(shí)現(xiàn)為采用doCapture來(lái)實(shí)現(xiàn)在特定的捕獲點(diǎn)執(zhí)行抓取數(shù)據(jù)行為,采用doPreStore來(lái)實(shí)現(xiàn)在存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)之前的一些捕獲動(dòng)作,對(duì)抓取的數(shù)據(jù)進(jìn)行特殊數(shù)據(jù)的處理,獲取到處理完成后的數(shù)據(jù)再通過(guò)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對(duì)應(yīng)用的Filter進(jìn)行了改寫(xiě),提供了向MOF下發(fā)指令的接口。只要調(diào)用接口傳入規(guī)定的參數(shù)便可以實(shí)現(xiàn)對(duì)慢SQL監(jiān)控的動(dòng)態(tài)啟停。UAV系統(tǒng)中并不存在其它服務(wù)直接調(diào)用MOF的操作,都是通過(guò)MA來(lái)完成的。大家可以把MA理解為服務(wù)請(qǐng)求方與MOF之間的媒介。

· 慢SQL數(shù)據(jù)采集:依賴InterceptFramework框架在特定的生命周期改寫(xiě)字節(jié)碼植入特定邏輯,同時(shí)采用MOF的CaptureFramework框架進(jìn)行數(shù)據(jù)抓取并生成抓取結(jié)果。MA會(huì)對(duì)生成結(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ì)影響對(duì)數(shù)據(jù)的解析,在生成數(shù)據(jù)結(jié)果時(shí)有規(guī)則約束才能實(shí)現(xiàn)數(shù)據(jù)的正確解析)。數(shù)據(jù)庫(kù)監(jiān)控的feature還提供了查詢、統(tǒng)計(jì)慢SQL操作的相關(guān)接口。

· 頁(yè)面展示:操作頁(yè)面可自主啟停數(shù)據(jù)庫(kù)監(jiān)控,設(shè)置慢SQL的時(shí)間閾值。啟停以及時(shí)間閾值的設(shè)置依賴于MA向MOF發(fā)送指令。頁(yè)面展示的SQL統(tǒng)計(jì)、追蹤等信息則通過(guò)HM的接口獲取。

四、功能展示

數(shù)據(jù)庫(kù)監(jiān)控目前已實(shí)現(xiàn)的功能有SQL分類統(tǒng)計(jì)、數(shù)據(jù)庫(kù)連接池監(jiān)控、慢SQL耗時(shí)分布統(tǒng)計(jì)、慢SQL統(tǒng)計(jì)、慢SQL追蹤以及調(diào)用鏈/日志關(guān)聯(lián)功能。

SQL分類統(tǒng)計(jì):

· 數(shù)據(jù)來(lái)源:OpenTSDB(通過(guò)畫(huà)像采集指標(biāo))

· 針對(duì)插入、刪除、更新、查詢、批量操作進(jìn)行分類統(tǒng)計(jì)

· 根據(jù)時(shí)間分布展示數(shù)據(jù)庫(kù)的訪問(wèn)情況,根據(jù)時(shí)間分布展示數(shù)據(jù)庫(kù)的訪問(wèn)情況,展示所選時(shí)間段的總訪問(wèn)計(jì)數(shù)(累計(jì)值)

· 可以自定義時(shí)間條件查詢歷史數(shù)據(jù)

UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的

數(shù)據(jù)庫(kù)連接池監(jiān)控:

· 數(shù)據(jù)來(lái)源:OpenTSDB(通過(guò)畫(huà)像采集指標(biāo))

· 可以查看連接池總連接數(shù)、活動(dòng)連接數(shù)、空閑連接數(shù)的變化曲線

UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的

慢SQL耗時(shí)分布統(tǒng)計(jì):

· 數(shù)據(jù)來(lái)源:ES

· 慢SQL統(tǒng)計(jì)可根據(jù)分類進(jìn)行展示統(tǒng)計(jì)

· 針對(duì)慢SQL的耗時(shí)分布統(tǒng)計(jì),最多查詢100條

· 根據(jù)時(shí)間分布展示數(shù)據(jù)庫(kù)慢SQL的訪問(wèn)情況,展示當(dāng)前時(shí)間點(diǎn)的慢SQL訪問(wèn)時(shí)間、SQL、耗時(shí)

· 可以根據(jù)設(shè)置查詢歷史數(shù)據(jù)

UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的

慢SQL統(tǒng)計(jì):

· 數(shù)據(jù)來(lái)源:ES

· 針對(duì)所有類型的SQL

· 根據(jù)時(shí)間分布展示數(shù)據(jù)庫(kù)某時(shí)間段的慢SQL統(tǒng)計(jì)

· 可以根據(jù)設(shè)置查詢歷史數(shù)據(jù)

UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的

慢SQL追蹤:

· 數(shù)據(jù)來(lái)源:ES

· 查詢條件為:關(guān)鍵字、是否慢SQL追蹤、時(shí)間范圍

· 根據(jù)搜索條件查詢SQL追蹤列表,列表展示內(nèi)容為:SQL語(yǔ)句、總執(zhí)行次數(shù)、執(zhí)行總時(shí)間、平均執(zhí)行時(shí)間、操作-可查看詳情

UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的

慢SQL追蹤-詳情查看:

· 數(shù)據(jù)來(lái)源:ES

· 慢SQL詳情:點(diǎn)擊某一條慢SQL統(tǒng)計(jì)可查看詳情:包含開(kāi)始執(zhí)行時(shí)間、執(zhí)行時(shí)長(zhǎng)、入?yún)ⅰ?zhí)行結(jié)果、影響條數(shù)

UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的

慢SQL追蹤-調(diào)用鏈關(guān)聯(lián):

· 應(yīng)用監(jiān)控中需開(kāi)啟輕度調(diào)用鏈

· 點(diǎn)擊某一行詳細(xì)的執(zhí)行時(shí)間,可以跳轉(zhuǎn)至調(diào)用鏈頁(yè)面,查看調(diào)用鏈的詳細(xì)內(nèi)容(相關(guān)的調(diào)用鏈高亮顯示)

UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的

慢SQL追蹤-日志關(guān)聯(lián):

· 應(yīng)用監(jiān)控中需開(kāi)啟日志歸集

· 點(diǎn)擊某一行詳細(xì)的調(diào)用鏈內(nèi)容的日志關(guān)聯(lián),可查看相應(yīng)的日志信息,相關(guān)的日志行數(shù)高亮顯示

UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的

五、總結(jié)

數(shù)據(jù)庫(kù)監(jiān)控是不容忽視的,好的數(shù)據(jù)庫(kù)監(jiān)控可以幫助優(yōu)化系統(tǒng)并進(jìn)行實(shí)時(shí)預(yù)警。通過(guò)文中介紹的數(shù)據(jù)庫(kù)連接池監(jiān)控,運(yùn)維人員可以隨時(shí)關(guān)注數(shù)據(jù)庫(kù)連接池的狀態(tài),有效防止系統(tǒng)出現(xiàn)連接池活動(dòng)連接數(shù)占滿無(wú)法連接數(shù)據(jù)庫(kù)的情況;而慢SQL監(jiān)控功能可以動(dòng)態(tài)展示一個(gè)系統(tǒng)的SQL情況,幫助優(yōu)化SQL語(yǔ)句,讓系統(tǒng)更穩(wěn)定。

以上就是UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章題目:UAVStack的慢SQL數(shù)據(jù)庫(kù)監(jiān)控功能及其實(shí)現(xiàn)是怎樣的
本文路徑:http://www.muchs.cn/article44/gjgihe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、定制開(kāi)發(fā)全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站導(dǎo)航微信小程序網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司