成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

luodongseu / 3621人閱讀

摘要:頁面展示的統(tǒng)計追蹤等信息則通過的接口獲取四功能展示數(shù)據(jù)庫監(jiān)控目前已實現(xiàn)的功能有分類統(tǒng)計數(shù)據(jù)庫連接池監(jiān)控慢耗時分布統(tǒng)計慢統(tǒng)計慢追蹤以及調(diào)用鏈日志關(guān)聯(lián)功能。

作者: 王林林 
出處:UAVStack智能運維
來源:宜信技術(shù)學(xué)院
技術(shù)沙龍001期|AI中臺:一種敏捷的智能業(yè)務(wù)支持方案|宜信技術(shù)沙龍 3月28日晚8點線上直播,點擊報名

UAVStack是一個全維監(jiān)控與應(yīng)用運維平臺。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)用實例畫像;其中應(yīng)用實例組件可以對日志、服務(wù)、客戶端等進行畫像;基于客戶端的畫像又分為Http、Dubbo、MQ、Kafka、JDBC、Redis、MongoDB等等。

一、背景

作為一個工作多年的程序員或運維人員,相信你一定遇到過以下情況:

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

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

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

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

· 中間件增強框架:英文MonitorFramework,簡稱MOF

· 健康管理服務(wù):英文HealthManager,簡稱HM

· 監(jiān)控代理程序:英文MonitorAgent,簡稱MA

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

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

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

· CaptureFramework框架:通過InterceptFramework框架在特定的生命周期改寫字節(jié)碼植入特定的邏輯代碼,在植入的邏輯代碼中可以通過CaptureFramework畫像的Monitor捕獲體系的能力采集數(shù)據(jù)以及數(shù)據(jù)存儲。具體實現(xiàn)為采用doCapture來實現(xiàn)在特定的捕獲點執(zhí)行抓取數(shù)據(jù)行為,采用doPreStore來實現(xiàn)在存儲數(shù)據(jù)結(jié)構(gòu)之前的一些捕獲動作,對抓取的數(shù)據(jù)進行特殊數(shù)據(jù)的處理,獲取到處理完成后的數(shù)據(jù)再通過UAVServer調(diào)用具體的Supporter,最后實現(xiàn)數(shù)據(jù)落地。

三、組成部分

慢SQL監(jiān)控的實現(xiàn)分為四個組成部分:

· 慢SQL的動態(tài)啟停:慢SQL的監(jiān)控啟/停依賴于MOF的Global Filter機制。在應(yīng)用初始化時,UAV對應(yīng)用的Filter進行了改寫,提供了向MOF下發(fā)指令的接口。只要調(diào)用接口傳入規(guī)定的參數(shù)便可以實現(xiàn)對慢SQL監(jiān)控的動態(tài)啟停。UAV系統(tǒng)中并不存在其它服務(wù)直接調(diào)用MOF的操作,都是通過MA來完成的。大家可以把MA理解為服務(wù)請求方與MOF之間的媒介。

· 慢SQL數(shù)據(jù)采集:依賴InterceptFramework框架在特定的生命周期改寫字節(jié)碼植入特定邏輯,同時采用MOF的CaptureFramework框架進行數(shù)據(jù)抓取并生成抓取結(jié)果。MA會對生成結(jié)果的文件進行定時采集并封裝成固定的數(shù)據(jù)結(jié)構(gòu)發(fā)送至MQ。

· 數(shù)據(jù)存儲:在HM中創(chuàng)建獨立的feature進行數(shù)據(jù)處理,消費MA推送至MQ中的數(shù)據(jù),完成數(shù)據(jù)清洗再存儲至ES。由于數(shù)據(jù)采集的結(jié)果進行了特殊的約定,從MQ拿到的數(shù)據(jù)并不能直接轉(zhuǎn)換成相應(yīng)的結(jié)果,需要進行相應(yīng)的解析處理才能進行存儲(由于采集的數(shù)據(jù)中字段較多、可能含有特殊的字符會影響對數(shù)據(jù)的解析,在生成數(shù)據(jù)結(jié)果時有規(guī)則約束才能實現(xiàn)數(shù)據(jù)的正確解析)。數(shù)據(jù)庫監(jiān)控的feature還提供了查詢、統(tǒng)計慢SQL操作的相關(guān)接口。

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

四、功能展示

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

SQL分類統(tǒng)計:

· 數(shù)據(jù)來源:OpenTSDB(通過畫像采集指標(biāo))

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

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

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

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

· 數(shù)據(jù)來源:OpenTSDB(通過畫像采集指標(biāo))

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

慢SQL耗時分布統(tǒng)計:

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

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

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

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

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

慢SQL統(tǒng)計:

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

· 針對所有類型的SQL

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

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

慢SQL追蹤:

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

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

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


?

慢SQL追蹤-詳情查看:

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

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

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

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

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

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

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

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

五、總結(jié)

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/17960.html

相關(guān)文章

  • UAV MOF工作原理之Agent注入機制原理

    摘要:注入機制作為工作的基礎(chǔ),也為無侵入捕獲應(yīng)用數(shù)據(jù)提供可能。代碼注入機制結(jié)合和技術(shù),在應(yīng)用字節(jié)碼加載到之前進行字節(jié)碼改寫。當(dāng)然,修改字節(jié)碼文件流的動作是在中進行的。 UAVStack的中間件增強框架專題(MOF)】為大家詳細(xì)講述UAV中的MOF Agent是如何借助javaagent(premain)和javaassist技術(shù)在對應(yīng)用無侵入的前提下完成數(shù)據(jù)捕獲的。歡迎繼續(xù)關(guān)注UAVStac...

    atinosun 評論0 收藏0
  • 中間件增強框架之-CaptureFramework框架

    摘要:本文為大家講解中的框架。在系統(tǒng)中,中間件增強框架探針提供了應(yīng)用畫像及性能數(shù)據(jù)收集等功能,其中數(shù)據(jù)收集功能主要采集四類數(shù)據(jù)實時數(shù)據(jù)畫像數(shù)據(jù)調(diào)用鏈接數(shù)據(jù)生成以及線程數(shù)據(jù)分析數(shù)據(jù)。提供服務(wù),供后續(xù)抓取使用,其中服務(wù)注冊了三個,分別為。 本文為大家講解MOF中的CaptureFramework框架。該框架提供統(tǒng)一的數(shù)據(jù)抓取行為和生成抓取結(jié)果能力,實現(xiàn)實時數(shù)據(jù)采集。 背景 應(yīng)用服務(wù)監(jiān)控是智能運維...

    zhaofeihao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<