成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

數(shù)據(jù)庫監(jiān)控系統(tǒng)建設(shè),看看運(yùn)維團(tuán)隊(duì)是如何實(shí)現(xiàn)的

運(yùn)維 數(shù)據(jù)庫運(yùn)維
數(shù)據(jù)庫監(jiān)控作為數(shù)據(jù)庫配套建設(shè)不可或缺的一環(huán),可以及時(shí)發(fā)現(xiàn)機(jī)器和數(shù)據(jù)庫性能問題,并幫助止損。

[[404141]]

 1. 背景

數(shù)據(jù)庫監(jiān)控作為數(shù)據(jù)庫配套建設(shè)不可或缺的一環(huán),可以及時(shí)發(fā)現(xiàn)機(jī)器和數(shù)據(jù)庫性能問題,并幫助止損。伴魚早期借助開源prometheus系統(tǒng)對數(shù)據(jù)庫和機(jī)器進(jìn)行監(jiān)控,來滿足我們?nèi)粘5谋O(jiān)控告警需求,但在這過程中,我們還是發(fā)現(xiàn)一些使用不太方便的地方,主要體現(xiàn)在以下幾個(gè)方面:

  • 數(shù)據(jù)庫以集群為單位,集群成員的變動需要修改prometheus對應(yīng)的監(jiān)控配置文件,無法自動修改
  • 機(jī)器指標(biāo)和數(shù)據(jù)庫指標(biāo)采集分屬不同的exporter,難以集群或機(jī)器維度同時(shí)展示兩類指標(biāo)
  • 集群和機(jī)器告警配置差異化以及告警時(shí)間段抑制,配置不太靈活
  • 日常巡檢和監(jiān)控大盤難以定制

基于以上監(jiān)控告警需求,并結(jié)合在對prometheus、阿里云數(shù)據(jù)庫監(jiān)控等一些優(yōu)秀的監(jiān)控系統(tǒng)架構(gòu)調(diào)研的基礎(chǔ)上,設(shè)計(jì)了伴魚數(shù)據(jù)庫監(jiān)控系統(tǒng)。相比其它監(jiān)控系統(tǒng),新系統(tǒng)包含以下核心功能:

  • 基于集群維度的機(jī)器和數(shù)據(jù)庫指標(biāo)采集,集群成員變動,無需修改配置
  • 支持集群和機(jī)器維度的機(jī)器指標(biāo)和數(shù)據(jù)庫性能指標(biāo)數(shù)據(jù)的同時(shí)展示
  • 通過報(bào)警模版,支持報(bào)警的差異化配置
  • 支持報(bào)警時(shí)間段抑制和靈活的報(bào)警策略
  • 靈活定制監(jiān)控大盤,方便巡檢需求

下面從數(shù)據(jù)庫監(jiān)控整體架構(gòu)詳細(xì)介紹下監(jiān)控各組件設(shè)計(jì)以及背后設(shè)計(jì)的一些想法。

2. 監(jiān)控整體架構(gòu)

伴魚數(shù)據(jù)庫監(jiān)控整體架構(gòu),如下圖所示。

各組件的功能,說明如下:

  • agent模塊,功能類似prometheus exporter組件,暴露metric接口,接收請求采集數(shù)據(jù)
  • schedule模塊,獲取監(jiān)控任務(wù),并根據(jù)集群名從db config service服務(wù)獲取具體的集群信息,然后按照監(jiān)控任務(wù)配置的采集時(shí)間間隔,定時(shí)到對應(yīng)的agent拉取metrics
  • monitor模塊,負(fù)責(zé)監(jiān)控?cái)?shù)據(jù)存儲/查詢、數(shù)據(jù)分析和規(guī)則報(bào)警
  • alarm模塊,公司內(nèi)部報(bào)警服務(wù),支持釘釘和電話報(bào)警
  • http server模塊,負(fù)責(zé)監(jiān)控任務(wù)、報(bào)警模版和報(bào)警規(guī)則的配置以及監(jiān)控?cái)?shù)據(jù)的查詢展示

2.1 數(shù)據(jù)采集

伴魚的數(shù)據(jù)庫監(jiān)控,目前主要分?jǐn)?shù)據(jù)庫服務(wù)監(jiān)控和主機(jī)監(jiān)控兩類,對應(yīng)著數(shù)據(jù)采集分主機(jī)指標(biāo)采集和數(shù)據(jù)庫性能指標(biāo)采集兩種。監(jiān)控具體采集哪些指標(biāo),我們參照了業(yè)界一些優(yōu)秀開源監(jiān)控系統(tǒng),比如阿里云數(shù)據(jù)庫服務(wù)監(jiān)控,來采集我們的監(jiān)控指標(biāo)數(shù)據(jù)。

  • 主機(jī)指標(biāo),包含CPU利用率、磁盤IO使用率、磁盤空間使用率、磁盤空間使用量、機(jī)器負(fù)載和內(nèi)存使用率
  • Mongodb服務(wù)指標(biāo),包含連接數(shù)、讀寫隊(duì)列長度、服務(wù)進(jìn)出流量、游標(biāo)數(shù)量和請求量等
  • Redis服務(wù)指標(biāo),包含內(nèi)存使用率、請求數(shù)、服務(wù)進(jìn)出流量、每秒失效key個(gè)數(shù)和key查找命中率等
  • TiDB服務(wù)指標(biāo),通過讀取tidb自帶的prometheus獲取數(shù)據(jù),獲取的指標(biāo)包含raft-store cpu、comprocessor cpu和durition等

針對具體的指標(biāo)數(shù)據(jù)采集,我們設(shè)計(jì)了四種agent。其中node agent負(fù)責(zé)采集機(jī)器指標(biāo)數(shù)據(jù),因?yàn)闄C(jī)器某些指標(biāo)采集需要在本機(jī)執(zhí)行系統(tǒng)命令,所以node agent在機(jī)器初始化時(shí)部署。數(shù)據(jù)庫服務(wù)agent部署在公司內(nèi)部的k8s容器內(nèi),多副本方式,支持采集指標(biāo)動態(tài)添加。比如TiDB指標(biāo)的采集,如下圖所示,如果想增加某個(gè)指標(biāo)采集,只需動態(tài)添加對應(yīng)的指標(biāo)項(xiàng)和查詢語句即可。

2.2 任務(wù)調(diào)度

schedule任務(wù)調(diào)度模塊負(fù)責(zé)監(jiān)控任務(wù)的調(diào)度執(zhí)行,如下圖所示。程序在啟動時(shí)加載監(jiān)控任務(wù),在指定采集時(shí)間間隔,通過集群名稱從db config service獲取對應(yīng)的集群信息(包括ip、端口和集群角色),調(diào)度對應(yīng)的任務(wù)執(zhí)行數(shù)據(jù)采集。每個(gè)集群任務(wù)成功采集后,會通知monitor模塊進(jìn)行報(bào)警分析。

2.3 數(shù)據(jù)存儲

監(jiān)控?cái)?shù)據(jù)存儲我們選用了當(dāng)前流行的時(shí)序數(shù)據(jù)庫InfluxDB,主要基于以下幾點(diǎn)考慮:

  • InfluxDB部署簡單,無需任何外部依賴即可獨(dú)立部署
  • 提供類似于SQL的查詢語言,接口友好,使用方便,如下圖所示
  • 提供靈活的數(shù)據(jù)保存策略(Retention Policy)來設(shè)置數(shù)據(jù)的保留時(shí)間
  • 高性能寫入,最新的數(shù)據(jù)都保存在內(nèi)存中,標(biāo)簽允許對列進(jìn)行索引實(shí)現(xiàn)快速查詢

2.4 報(bào)警規(guī)則

通過監(jiān)控任務(wù),靈活配置數(shù)據(jù)采集時(shí)間間隔,在采集到監(jiān)控?cái)?shù)據(jù)后,我們可以做細(xì)粒度的報(bào)警策略。報(bào)警規(guī)則如何設(shè)計(jì),我們做了如下考慮:

  • 集群報(bào)警配置應(yīng)盡可能簡單
  • 集群報(bào)警支持差異化配置
  • 報(bào)警粒度靈活配置

基于以上要求,我們從報(bào)警模版、報(bào)警指標(biāo)和報(bào)警策略三個(gè)方面設(shè)計(jì)了報(bào)警規(guī)則。

2.4.1 報(bào)警模版

報(bào)警模版由規(guī)則名稱、角色、指標(biāo)、閥值和策略五個(gè)部分組成,如下圖所示。

通過服務(wù)報(bào)警模版,我們可以很方便的將報(bào)警指標(biāo)和策略拼接成規(guī)則應(yīng)用到各服務(wù)集群進(jìn)行報(bào)警,同時(shí)還可以輕松實(shí)現(xiàn)個(gè)別集群報(bào)警的差異化配置。報(bào)警模版應(yīng)用到服務(wù)集群,如下圖所示。

模版中一條規(guī)則,簡單點(diǎn)說,其實(shí)就是報(bào)警觸發(fā)條件。如何執(zhí)行報(bào)警,其實(shí)就是將一條規(guī)則映射成一條數(shù)據(jù)庫查詢語句,查詢滿足的條件的數(shù)據(jù)是否達(dá)到報(bào)警閥值。比如下面這條規(guī)則,簡單介紹下是如何做映射的。

首先,我們看一下監(jiān)控表中已經(jīng)采集到對應(yīng)指標(biāo)的監(jiān)控?cái)?shù)據(jù),如下圖所示。

其次,集群在任務(wù)采集時(shí),我們可以拿到具體的集群信息,包括ip、端口和角色。報(bào)警服務(wù)根據(jù)報(bào)警模版里的規(guī)則,將具體的規(guī)則映射成查詢語句,如下圖所示。

最后,把滿足報(bào)警規(guī)則的服務(wù),按照集群、主機(jī)和角色維度報(bào)警出來,如下圖所示。

2.4.2 報(bào)警指標(biāo)

報(bào)警指標(biāo)可以理解為我們需要監(jiān)控的項(xiàng)目,比如CPU使用率、機(jī)器負(fù)載和磁盤空間等,如下圖所示。

數(shù)據(jù)指標(biāo)采集項(xiàng)比較多,我們可以選擇我們關(guān)心的或者能快速反應(yīng)服務(wù)問題的指標(biāo)作為報(bào)警指標(biāo)。這里的指標(biāo)名稱與報(bào)警模版中的規(guī)則名稱一一對應(yīng),即將規(guī)則名稱與數(shù)據(jù)庫表及查詢條件映射起來。

2.4.3 報(bào)警策略

目前,報(bào)警策略分為兩種,如下圖所示。每次采集完數(shù)據(jù),都會通知monitor模塊觸發(fā)規(guī)則分析,檢查是否達(dá)到報(bào)警閥值。報(bào)警每觸發(fā)一次,都會檢查上一次報(bào)警時(shí)間,保證在報(bào)警時(shí)間間隔內(nèi),不會重復(fù)報(bào)警。

2分鐘內(nèi),8次(每分鐘采集4次數(shù)據(jù))中有4次滿足條件,釘釘告警

2分鐘內(nèi),8次(每分鐘采集4次數(shù)據(jù))中有4次滿足條件,釘釘和電話同時(shí)告警,配置如下圖所示

2.5 監(jiān)控?cái)?shù)據(jù)展示

數(shù)據(jù)監(jiān)控不僅可以為我們提供準(zhǔn)實(shí)時(shí)狀態(tài)展現(xiàn),還能幫助做故障回溯、風(fēng)險(xiǎn)預(yù)測和大盤監(jiān)控。日常問題處理和故障復(fù)盤,我們希望在一個(gè)頁面既能查看一個(gè)集群各角色的機(jī)器指標(biāo),又能看到各角色的數(shù)據(jù)庫性能指標(biāo),而不用在各個(gè)指標(biāo)頁面來回跳轉(zhuǎn),如下圖所示。

同時(shí),我們可以利用采集的監(jiān)控?cái)?shù)據(jù),定制我們的數(shù)據(jù)庫監(jiān)控大盤。有了監(jiān)控大盤,我們可以做日常巡檢,及時(shí)發(fā)現(xiàn)性能風(fēng)險(xiǎn),如下圖所示。

比如我們通過tidb大盤巡檢,發(fā)現(xiàn)集群延時(shí)升高,并及時(shí)將其解決,減少風(fēng)險(xiǎn),如下圖所示

3. 總結(jié)

伴魚數(shù)據(jù)庫監(jiān)控系統(tǒng)已經(jīng)運(yùn)行近半年,在這期間,日常巡檢和報(bào)警幫助我們發(fā)現(xiàn)了多起數(shù)據(jù)庫性能問題,并及時(shí)加以解決。目前,監(jiān)控系統(tǒng)還有一些待完善的地方,比如告警收斂、時(shí)序數(shù)據(jù)庫高可用等問題。未來,我們將繼續(xù)深挖監(jiān)控系統(tǒng)的潛力,為伴魚數(shù)據(jù)庫保駕護(hù)航。 

 

責(zé)任編輯:張燕妮 來源: 高效運(yùn)維
相關(guān)推薦

2018-08-27 10:59:07

京東數(shù)據(jù)庫智能運(yùn)維

2018-09-18 09:36:52

運(yùn)維數(shù)據(jù)庫智能

2009-05-11 10:51:28

2012-10-23 11:01:19

數(shù)據(jù)中心網(wǎng)絡(luò)系統(tǒng)通信網(wǎng)絡(luò)

2018-09-27 08:59:29

2010-10-27 11:39:01

視頻監(jiān)控公共交通體系H3C

2022-02-23 08:00:00

開發(fā)DevOps技術(shù)

2022-09-19 21:10:25

CRM銷售管理系統(tǒng)

2013-04-12 13:30:47

2010-12-01 20:41:02

無線監(jiān)控MeshStrix

2018-12-14 11:04:56

數(shù)據(jù)庫運(yùn)維智能

2020-12-30 08:09:46

運(yùn)維Prometheus 監(jiān)控

2009-06-30 09:37:00

數(shù)據(jù)運(yùn)維管理建設(shè)

2015-06-01 11:10:24

2013-08-09 10:17:42

谷歌綠色數(shù)據(jù)中心數(shù)據(jù)中心

2020-12-29 10:45:22

運(yùn)維Prometheus-監(jiān)控

2022-12-27 08:10:07

PG數(shù)據(jù)庫運(yùn)維

2011-03-21 14:43:42

2013-09-26 21:50:11

RIILIT綜合監(jiān)控

2018-04-12 09:46:12

DevOps運(yùn)維建設(shè)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久久久国产 | 香蕉久久久久久 | 国产精品毛片一区二区三区 | 久久久免费在线观看 | 97伊人| 91成人免费看片 | 中文字幕在线免费观看 | 国产91在线 | 欧美 | 亚洲欧美日韩在线不卡 | 日韩和的一区二区 | 二区视频| 成人免费观看男女羞羞视频 | 91欧美激情一区二区三区成人 | 日本在线免费看最新的电影 | 久久一区二区三区四区五区 | 雨宫琴音一区二区在线 | 亚洲天堂久久新 | 最新免费av网站 | 精品三级在线观看 | www.日日操 | 国内精品伊人久久久久网站 | 国产精品久久久 | 在线免费亚洲视频 | av一区在线观看 | 亚洲免费在线观看av | 久久久不卡网国产精品一区 | 久久久久久高清 | 日韩在线| 一级黄色夫妻生活 | 久久久av | 成人av免费在线观看 | 亚州毛片| 精品欧美乱码久久久久久1区2区 | 日韩乱码一二三 | 国产一级黄色网 | 一区二区三区视频在线 | 日韩欧美国产精品 | 精品一区二区三区免费视频 | 国产一级片一区二区 | 国产玖玖| 成人av一区二区亚洲精 |