• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      微服務(wù)框架之監(jiān)控系統(tǒng)

      2019-07-24 10:33:16隋中昱含李迎接姚翔宇查蘊(yùn)初
      智富時(shí)代 2019年6期
      關(guān)鍵詞:微服務(wù)監(jiān)控

      隋中昱含 李迎接 姚翔宇 查蘊(yùn)初

      【摘 要】微服務(wù)框架是每個(gè)IT認(rèn)識應(yīng)當(dāng)熟練掌握的,它的作用體現(xiàn)在方方面面,能夠熟練的運(yùn)用并且知曉其中的原理、作用結(jié)果,能夠幫助我們更好的了解計(jì)算機(jī)的實(shí)時(shí)狀態(tài)。所以這篇文章對微服務(wù)框架之一的監(jiān)控系統(tǒng)做一些簡單的介紹,幫助大家了解一些常見的監(jiān)控適用范圍。

      【關(guān)鍵詞】微服務(wù);監(jiān)控;系統(tǒng)框架

      在微服務(wù)架構(gòu)的系列文章中,前面已經(jīng)通過文章分別介紹過了微服務(wù)的「服務(wù)注冊」、「服務(wù)網(wǎng)關(guān)」、「配置中心」,今天這篇文章我們繼續(xù)來聊一聊另外一個(gè)重要模塊:「監(jiān)控系統(tǒng)」。

      因?yàn)樵谖⒎?wù)的架構(gòu)下,我們對服務(wù)進(jìn)行了拆分,所以用戶的每次請求不再是由某一個(gè)服務(wù)獨(dú)立完成了,而是變成了多個(gè)服務(wù)一起配合完成。這種情況下,一旦請求出現(xiàn)異常,我們必須得知道是在哪個(gè)服務(wù)環(huán)節(jié)出了故障,就需要對每一個(gè)服務(wù),以及各個(gè)指標(biāo)都進(jìn)行全面的監(jiān)控。

      一、什么是「監(jiān)控系統(tǒng)」?

      在微服務(wù)架構(gòu)中,監(jiān)控系統(tǒng)按照原理和作用大致可以分為三類(并非嚴(yán)格分類,僅從日常使用角度來看):

      日志類(Log)、調(diào)用鏈類(Tracing)、度量類(Metrics)

      下面來分別對這三種常見的監(jiān)控模式進(jìn)行說明:

      日志類(Log)

      日志類比較常見,我們的框架代碼、系統(tǒng)環(huán)境、以及業(yè)務(wù)邏輯中一般都會產(chǎn)出一些日志,這些日志我們通常把它記錄后統(tǒng)一收集起來,方便在需要的時(shí)候進(jìn)行查詢。

      日志類記錄的信息一般是一些事件、非結(jié)構(gòu)化的一些文本內(nèi)容。日志的輸出和處理的解決方案比較多,大家熟知的有 ELK Stack 方案(Elasticseach + Logstash + Kibana),如圖:

      使用Beats(可選)在每臺服務(wù)器上安裝后,作為日志客戶端收集器,然后通過Logstash進(jìn)行統(tǒng)一的日志收集、解析、過濾等處理,再將數(shù)據(jù)發(fā)送給Elasticsearch中進(jìn)行存儲分析,最后使用Kibana來進(jìn)行數(shù)據(jù)的展示。

      調(diào)用鏈類(Tracing)

      調(diào)用鏈類監(jiān)控主要是指記錄一個(gè)請求的全部流程。一個(gè)請求從開始進(jìn)入,在微服務(wù)中調(diào)用不同的服務(wù)節(jié)點(diǎn)后,再返回給客戶端,在這個(gè)過程中通過調(diào)用鏈參數(shù)來追尋全鏈路行為。通過這個(gè)方式可以很方便的知道請求在哪個(gè)環(huán)節(jié)出了故障,系統(tǒng)的瓶頸在哪兒。

      這一類的監(jiān)控一般采用CAT工具來完成,一般在大中型項(xiàng)目較多用到,因?yàn)榇罱ㄆ饋碛幸欢ǖ某杀尽:竺鏁袉为?dú)文章來講解這個(gè)調(diào)用鏈監(jiān)控系統(tǒng)。

      度量類(Metrics)

      度量類主要采用時(shí)序數(shù)據(jù)庫的解決方案。它是以事件發(fā)生時(shí)間以及當(dāng)前數(shù)值的角度來記錄的監(jiān)控信息,是可以聚合運(yùn)算的,用于查看一些指標(biāo)數(shù)據(jù)和指標(biāo)趨勢。所以這類監(jiān)控主要不是用來查問題的,主要是用來看趨勢的。

      Metrics一般有5種基本的度量類型:Gauges(度量)、Counters(計(jì)數(shù)器)、Histograms(直方圖)、Meters(TPS計(jì)算器)、Timers(計(jì)時(shí)器)。

      基于時(shí)間序列數(shù)據(jù)庫的監(jiān)控系統(tǒng)是非常適合做監(jiān)控告警使用的,所以現(xiàn)在也比較流行這個(gè)方案,如果我們要搭建一套新的監(jiān)控系統(tǒng),我也建議參考這類方案進(jìn)行。

      因此本文接下來也會重點(diǎn)以時(shí)間序列數(shù)據(jù)庫的監(jiān)控系統(tǒng)為主角來描述。

      二、「監(jiān)控系統(tǒng)」關(guān)注的對象和指標(biāo)都是什么?

      一般我們做「監(jiān)控系統(tǒng)」都是需要做分層式監(jiān)控的,也就是說將我們要監(jiān)控的對象進(jìn)行分層,一般主要分為:

      系統(tǒng)層:系統(tǒng)層主要是指CPU、磁盤、內(nèi)存、網(wǎng)絡(luò)等服務(wù)器層面的監(jiān)控,這些一般也是運(yùn)維同學(xué)比較關(guān)注的對象。

      應(yīng)用層:應(yīng)用層指的是服務(wù)角度的監(jiān)控,比如接口、框架、某個(gè)服務(wù)的健康狀態(tài)等,一般是服務(wù)開發(fā)或框架開發(fā)人員關(guān)注的對象。

      用戶層:這一層主要是與用戶、與業(yè)務(wù)相關(guān)的一些監(jiān)控,屬于功能層面的,大多數(shù)是項(xiàng)目經(jīng)理或產(chǎn)品經(jīng)理會比較關(guān)注的對象。

      知道了監(jiān)控的分層后,我們再來看一下監(jiān)控的指標(biāo)一般有哪些:

      延遲時(shí)間:主要是響應(yīng)一個(gè)請求所消耗的延遲,比如某接口的HTTP請求平均響應(yīng)時(shí)間為100ms。

      請求量:是指系統(tǒng)的容量吞吐能力,例如每秒處理多少次請求(QPS)作為指標(biāo)。

      錯(cuò)誤率:主要是用來監(jiān)控錯(cuò)誤發(fā)生的比例,比如將某接口一段時(shí)間內(nèi)調(diào)用時(shí)失敗的比例作為指標(biāo)。

      三、基于時(shí)序數(shù)據(jù)庫的「監(jiān)控系統(tǒng)」有哪些?

      下面介紹幾款目前業(yè)內(nèi)比較流行的基于時(shí)間序列數(shù)據(jù)庫的開源監(jiān)控方案:

      Prometheus:Promethes是一款2012年開源的監(jiān)控框架,其本質(zhì)是時(shí)間序列數(shù)據(jù)庫,由Google前員工所開發(fā)。Promethes采用拉的模式(Pull)從應(yīng)用中拉取數(shù)據(jù),并還支持Alert模塊可以實(shí)現(xiàn)監(jiān)控預(yù)警。它的性能非常強(qiáng)勁,單機(jī)可以消費(fèi)百萬級時(shí)間序列。

      需要拉取的數(shù)據(jù)既可以采用靜態(tài)方式配置在Prometheus Server中,也可以采用服務(wù)發(fā)現(xiàn)的方式。

      PromQL:是Prometheus自帶的查詢語法,通過編寫PromQL語句可以查詢Prometheus里面的數(shù)據(jù)。

      Alertmanager:是用于數(shù)據(jù)的預(yù)警模塊,支持通過多種方式去發(fā)送預(yù)警。

      WebUI:是用來展示數(shù)據(jù)和圖形的,但是一般大多數(shù)是與Grafana結(jié)合,采用Grafana來展示。

      OpenTSDB:OpenTSDB是在2010年開源的一款分布式時(shí)序數(shù)據(jù)庫,當(dāng)然其主要用于監(jiān)控方案中。OpenTSDB采用的是Hbase的分布式存儲,它獲取數(shù)據(jù)的模式與Prometheus不同,它采用的是推模式(Push)。在展示層,OpenTSDB自帶有WebUI視圖,也可以與Grafana很好的集成,提供豐富的展示界面。但OpenTSDB并沒有自帶預(yù)警模塊,需要自己去開發(fā)或者與第三方組件結(jié)合使用。

      InfluxDB:InfluxDB是在2013年開源的一款時(shí)序數(shù)據(jù)庫,在這里我們主要還是用于做監(jiān)控系統(tǒng)方案。它收集數(shù)據(jù)也是采用推模式(Push)。在展示層,InfluxDB也是自帶WebUI,也可以與Grafana集成。

      【參考文獻(xiàn)】

      [1]鄭錦男,李舒涵,許宏科.微服務(wù)框架下的交通信息化架構(gòu)[J].信息技術(shù),2019,43(01):157-162.

      [2]辛園園,鈕俊,謝志軍,張開樂,毛昕怡.微服務(wù)體系結(jié)構(gòu)實(shí)現(xiàn)框架綜述[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(19):10-17.

      [3]王志勃,王麒森,畢艷茹.互聯(lián)網(wǎng)環(huán)境下微服務(wù)框架分析與研究[J].信息與電腦(理論版),2017(22):23-25.

      [4]張晶,黃小鋒,李春陽.微服務(wù)框架的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(06):259-262.

      猜你喜歡
      微服務(wù)監(jiān)控
      The Great Barrier Reef shows coral comeback
      你被監(jiān)控了嗎?
      Zabbix在ATS系統(tǒng)集中監(jiān)控中的應(yīng)用
      4K高清監(jiān)控需要兩條腿走路
      看監(jiān)控?cái)z像機(jī)的4K之道
      基于供給側(cè)改革理論的圖書館社交網(wǎng)絡(luò)微服務(wù)研究
      微信公眾平臺在醫(yī)院圖書館的應(yīng)用現(xiàn)狀調(diào)查
      基于微信企業(yè)號的校園移動(dòng)服務(wù)
      微服務(wù)視角下高職圖書館數(shù)字資源使用分析
      中文信息(2016年10期)2016-12-12 10:09:57
      從單一模式系統(tǒng)架構(gòu)往微服務(wù)架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
      大姚县| 无为县| 长沙县| 吴忠市| 武川县| 两当县| 台江县| 奇台县| 大同市| 万山特区| 多伦县| 石楼县| 安徽省| 通化市| 江油市| 娄烦县| 大埔县| 南通市| 鸡东县| 怀远县| 双城市| 布尔津县| 信宜市| 武乡县| 广汉市| 星子县| 丽水市| 景洪市| 仪陇县| 安西县| 大悟县| 安多县| 济阳县| 陕西省| 贵阳市| 龙门县| 留坝县| 运城市| 启东市| 宁蒗| 治多县|