亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MySQL監(jiān)控研究與實(shí)踐

        2023-02-23 01:26:30蔡永健顧丹鵬陳肖勇
        計(jì)算機(jī)時代 2023年2期
        關(guān)鍵詞:可視化數(shù)據(jù)庫

        周 浩,蔡永健,顧丹鵬,陳肖勇

        (1.中國電建集團(tuán)華東勘測設(shè)計(jì)研究院有限公司,浙江 杭州 311100;2.浙江華東工程數(shù)字技術(shù)有限公司)

        0 引言

        最新的DB-Engines 中,MySQL 以1211.53 分高居第二,在開源的關(guān)數(shù)據(jù)庫當(dāng)中排名第一[1]。但是MySQL 也有不少缺點(diǎn),隨著數(shù)據(jù)不斷增加,MySQL 的InnoDb 引擎[2]在執(zhí)行SQL 時,性能會顯著下降,根據(jù)B+樹[3]的特點(diǎn),MySQL 的最大單表存儲約在1000 萬。開發(fā)人員濫用SQL 和索引造成MySQL 的性能急劇下降,在高并發(fā)的環(huán)境可能造成服務(wù)雪崩的災(zāi)難性故障。為了避免故障,MySQL運(yùn)維工程師需要一套完整的方案提前預(yù)警。Prometheus是一個開源的監(jiān)測和預(yù)警工具集,能夠提供豐富的度量指標(biāo)、高度可定制的云原生監(jiān)控系統(tǒng)。它能夠?qū)崟r采集MySQL 的關(guān)鍵指標(biāo)。Grafana是一款開源數(shù)據(jù)可視化工具,可以完美集成Prometheus API,做數(shù)據(jù)監(jiān)控和數(shù)據(jù)統(tǒng)計(jì),支持告警功能,根據(jù)用戶自定義的查詢規(guī)則制定不同的告警策略,讓MySQL DBA 實(shí)時的監(jiān)控?cái)?shù)據(jù)庫運(yùn)行狀態(tài),提前給上層業(yè)務(wù)發(fā)出風(fēng)險(xiǎn)預(yù)警;同時也能夠讓開發(fā)工程師充分了解SQL 的運(yùn)行狀態(tài),從而調(diào)整不同的策略,來糾正容易引發(fā)故障的SQL,保證項(xiàng)目的穩(wěn)定。

        1 Prometheus

        Prometheus 是一個高度可定制的云原生監(jiān)控系統(tǒng)[4],為現(xiàn)代DevOps[5]工作提供關(guān)鍵組件,監(jiān)視云原生應(yīng)用,與Kubernetes[6]完美協(xié)同,能夠抓取或拉取應(yīng)用程序的時間序列數(shù)據(jù)。

        1.1 Prometheus相關(guān)的概念

        Prometheus 將數(shù)據(jù)存儲成時間序列,每個時序列數(shù)據(jù)都具有帶時間戳的數(shù)據(jù)流,每一個數(shù)據(jù)流都由其指標(biāo)(Metric)和一組鍵值對的標(biāo)簽唯一標(biāo)識。它提供Counter,Gauge,Histogram,Summary 四種指標(biāo)類型。Counter 是一個累加器,隨著時間不停累加;Gauge 可以上下浮動;Histogram 表示一段時間內(nèi)指定區(qū)間的數(shù)據(jù)的分組統(tǒng)計(jì);Summary 能夠提供樣本的累加,求和以及求百分比的功能。在Prometheus 中每一個提供HTTP的服務(wù)都稱之為一個實(shí)例(Instance)。而有相同實(shí)例集合可以稱之為作業(yè)(Job)。Exporter 是目標(biāo)監(jiān)控系統(tǒng)收集的數(shù)據(jù)轉(zhuǎn)化為對應(yīng)的文本格式,并且對外提供HTTP協(xié)議的接口,供Prometheus定期采集數(shù)據(jù)。

        1.2 Prometheus的優(yōu)點(diǎn)

        易管理性,Prometheus 只有單獨(dú)的一個二進(jìn)制文件,不存在任何第三方依賴,基于Pull模型的架構(gòu)可以在任何環(huán)境搭建監(jiān)控系統(tǒng)。

        靈活的數(shù)據(jù)模型,監(jiān)控?cái)?shù)據(jù)是由值、時間戳和標(biāo)簽表組成的,監(jiān)控?cái)?shù)據(jù)完全記錄在標(biāo)簽表里。

        Prometheus支持監(jiān)控?cái)?shù)據(jù)采集階段對數(shù)據(jù)的標(biāo)簽表鏡像修改,使其具備強(qiáng)大的擴(kuò)展能力。

        良好的性能,強(qiáng)大的查詢能力。

        Prometheus 官方提供的在硬件資源滿足情況下,單個實(shí)例Prometheus可以處理數(shù)以百萬計(jì)的監(jiān)控指標(biāo)和數(shù)十萬個數(shù)據(jù)點(diǎn),并且內(nèi)置了強(qiáng)大的PromQL,提供了大量數(shù)據(jù)計(jì)算函數(shù),應(yīng)用于數(shù)據(jù)可視化及告警。

        健全的生態(tài),Prometheus 可以迅速在應(yīng)用程序里集成,目前已支持Java、JMX、Python、Go、MySQL 等多種客戶端SDK。

        2 Granfana簡介

        Grafana 是一個跨平臺的開源的度量分析和可視化工具,它可以將采集的監(jiān)控?cái)?shù)據(jù)進(jìn)行可視化的展示,并且及時通知監(jiān)控的告警信息。

        2.1 Grafana的基本概念

        DashBoard,儀表盤。Row,DashBoard 的基本組成單元,一個DashBoard 可以包含一個或者多個Row。Panel 是Row 展示的信息,支持表格,列表,熱圖等多種方式。Query Editor 是查詢編輯器,用來指定獲取數(shù)據(jù)。支持PromQL查詢。

        2.2 Grafana的優(yōu)點(diǎn)

        Grafana支持多種客戶端圖表,支持熱圖,折線圖,柱狀圖,餅狀圖,圖表等多種展示方式,支持多種不同的時間序列存儲。每個數(shù)據(jù)源都有一套特定的查詢編輯器與Prometheus完美協(xié)同?;趦x表盤可以添加豐富的報(bào)警規(guī)則,以及報(bào)警策略。Grafana 可以支持企業(yè)郵箱,短信,釘釘?shù)韧扑凸ぞ邅韺?shí)現(xiàn)報(bào)警。

        3 MySQL監(jiān)控方案

        3.1 MySQL Linux Server監(jiān)控原理

        Linux操作系統(tǒng)自身不支持Prometheus,但Prometheus官方提供了NodeExporter 來實(shí)現(xiàn)對Linux 操作系統(tǒng)主機(jī)的監(jiān)控?cái)?shù)據(jù)采集。如圖1 所示,它可以提供操作系統(tǒng)層的幾乎所有監(jiān)控,例如CPU 利用率,內(nèi)存,磁盤空間,I/O,以及網(wǎng)絡(luò)帶寬。并且它還提供很多內(nèi)核公開的額外監(jiān)控指標(biāo),從負(fù)載均衡到主板溫度等等。Node Exporter 通過腳本從Linux 內(nèi)核采集到監(jiān)控?cái)?shù)據(jù),Prometheus 通過輪詢策略,不斷從Linux Node Exporter 拉取數(shù)據(jù)存儲到時序數(shù)據(jù)庫中,供給Grafana去展示。

        圖1 LinuxOS監(jiān)控原理圖

        3.2 MySQL Sever監(jiān)控原理

        MySQL 也不提供端點(diǎn),Prometheus 無法直接從MySQL Sever獲取監(jiān)控指標(biāo)。MySQL Server Exporter恰好解決這個問題。如圖2 所示,它和Node Exporter的工作原理類似,通過底層應(yīng)用程序從目標(biāo)應(yīng)用程序中提取監(jiān)控指標(biāo),然后通過RESTAPI 公開這些指標(biāo),提供給Prometheus采集。

        圖2 MySQL Sever監(jiān)控原理圖

        4 實(shí)踐

        4.1 項(xiàng)目描述

        工程數(shù)據(jù)中心項(xiàng)目是基于SpringCloud 為基礎(chǔ)組件,運(yùn)用微服務(wù)思想設(shè)計(jì)的一套對工程數(shù)據(jù)的挖掘,分析的數(shù)據(jù)中臺產(chǎn)品。

        4.2 主機(jī)監(jiān)控

        根據(jù)第三章的工作原理,首先需要將Node Exporter下載安裝到主機(jī)服務(wù)器。解壓啟動Node Exporter以后將Node Exporter 服務(wù)添加為開機(jī)啟動,然后將Node Exporter 與Prometheus 進(jìn)行關(guān)聯(lián)。在Prometheus 主機(jī)目錄中找到配置文件,修改staticconfigs配置就可以采集nodeexporter提供的數(shù)據(jù)。Static config配置如下:

        node_cpu_seconds_total是CPU的信息的重要采集指標(biāo)。它是一個Counter類型的指標(biāo),用來標(biāo)識每個核下面的各個模式的占用時間。node_meory_Memtotal_bytes是內(nèi)存數(shù)據(jù)監(jiān)控的重要指標(biāo),這些監(jiān)控?cái)?shù)據(jù)來源于Linux 系統(tǒng)中的/proc/meminfo 文件。磁盤數(shù)據(jù)的主要指標(biāo)是node_disk_read_time_seconds_total,它來源于Linux 系統(tǒng)中的/proc/disktats 文件。文件的監(jiān)控?cái)?shù)據(jù)metric 都是以“node_filesytem_”開始,數(shù)據(jù)類型都為Gauge 類型。網(wǎng)絡(luò)相關(guān)監(jiān)控?cái)?shù)據(jù)的所有“metric”都以“node_work”開始,可分為發(fā)送和監(jiān)控兩類。如圖3 所示,通過Grafana 可以完成對主機(jī)的CPU,內(nèi)存,文件,網(wǎng)絡(luò)等核心指標(biāo)的監(jiān)控。

        圖3 主機(jī)監(jiān)控圖

        4.3 MySQL Server監(jiān)控

        為了獲取MySQL Server 自身的監(jiān)控?cái)?shù)據(jù),需要使用MySQL Exporter,然后將Prometheus 與MySQL Exporter 進(jìn)行關(guān)聯(lián),修改Prometheus 的啟動配置,添加MySQL Exporter的targets,配置如下。

        MySQL Exporter 啟動以后,Prometheus 就可以采集Metric 指標(biāo)。MySQL 的查詢吞吐量,查詢執(zhí)行性能,連接和緩沖池使用是其重要的監(jiān)控指標(biāo)。MySQL內(nèi)部提供一個Questions 的內(nèi)部計(jì)數(shù)器,對應(yīng)監(jiān)控指標(biāo)為mysql_global_status_questions,用來描述查詢吞吐量。Slow queries 可以用做慢查詢的監(jiān)控,當(dāng)SQL執(zhí)行時間超過long_query_time 參數(shù)時,計(jì)數(shù)器就會增加,對應(yīng)的指標(biāo)mysql_globals_status_slow_queries也會增加。為了防止MySQL 過載運(yùn)行,DBA 需要根據(jù)業(yè)務(wù)進(jìn)行評估設(shè)置合理的客戶端連接的數(shù)量。MySQL 啟動的時候根據(jù)my.cnf 文件的max_connections 設(shè)置最大連接數(shù),也可以根據(jù)mysql_global_variables_max_connections 查看當(dāng)前最大的連接數(shù),mysql_global_status_threads_connected 記錄已存在的連接數(shù),DBA 根據(jù)上述連接數(shù)的指標(biāo)來監(jiān)控MySQL的連接。InnoDB是MySQL的默認(rèn)引擎,使用緩沖池來緩存表和索引的數(shù)據(jù),可以通過mysql_global_status_innodb指標(biāo)進(jìn)行查看InnoDB 的運(yùn)行指標(biāo)。上述指標(biāo)采集完成以后,如圖4所示,可以通過Grafana查看MySQL Server的監(jiān)控。

        圖4 數(shù)據(jù)庫監(jiān)控圖

        5 結(jié)束語

        本文介紹了通過Prometheus 實(shí)現(xiàn)對MySQL 主機(jī)和MySQL Server 的監(jiān)控實(shí)踐,為企業(yè)的數(shù)據(jù)存儲提供技術(shù)保障。數(shù)據(jù)庫的監(jiān)控,在微服務(wù)的監(jiān)控體系下僅僅是一小部分的內(nèi)容,因此,完善整個微服務(wù)自上而下的全鏈路監(jiān)控是保障系統(tǒng)穩(wěn)定和用戶體驗(yàn)必不可少的措施,也是我今后探索的方向。

        猜你喜歡
        可視化數(shù)據(jù)庫
        自然資源可視化決策系統(tǒng)
        北京測繪(2022年6期)2022-08-01 09:19:06
        思維可視化
        師道·教研(2022年1期)2022-03-12 05:46:47
        基于Power BI的油田注水運(yùn)行動態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        自然資源可視化決策系統(tǒng)
        北京測繪(2021年7期)2021-07-28 07:01:18
        基于CGAL和OpenGL的海底地形三維可視化
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        一区二区三区日韩亚洲中文视频 | 国产精品日本一区二区在线播放| 国产情侣久久久久aⅴ免费| 亚洲熟妇色xxxxx欧美老妇| 久久久国产视频久久久| 五月天中文字幕日韩在线| 免费人妻精品一区二区三区| 北条麻妃毛片在线视频| 毛片av在线尤物一区二区| 风韵犹存丰满熟妇大屁股啪啪| 麻豆╳╳╳乱女另类| 91日韩高清在线观看播放| 日本在线中文字幕一区| 人成综合视频在线播放| 国产成人精品123区免费视频| 免费AV一区二区三区无码| 国产一区二区免费在线观看视频| 精品一二三四区中文字幕| 成人久久久久久久久久久| 色爱无码A V 综合区| 老熟妇嗷嗷叫91九色| 少妇被爽到高潮喷水久久欧美精品| 色猫咪免费人成网站在线观看| 91精品欧美综合在线观看| 全亚洲最大的私人影剧院在线看| 国产美女做爰免费视频| 在线观看免费午夜大片| 一区二区高清视频在线观看| 极品粉嫩小仙女高潮喷水网站 | 富婆如狼似虎找黑人老外| 搡老女人老妇女老熟妇69| 中文字幕一区二区精品视频| 在线不卡av片免费观看| 任你躁欧美一级在线精品免费| 亚洲精品国产成人久久av盗摄| 国产成人精品2021| 日韩精品无码区免费专区| 国产精品污一区二区三区在线观看 | 日日碰狠狠添天天爽| a级福利毛片| 日韩亚洲在线观看视频|