日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 架構師社區(qū)
[導讀]“監(jiān)控”是微服務治理的一個重要環(huán)節(jié),監(jiān)控系統(tǒng)的完善程度直接影響到我們微服務質量的好壞,我們的微服務在線上運行時,有沒有一套完善的監(jiān)控體系能去了解到它的健康情況,這對整個系統(tǒng)的可靠性和穩(wěn)定性非常重要。

來源:掘金

juejin.cn/post/6844903846192349191#heading-6


-     前言     -


“監(jiān)控”是微服務治理的一個重要環(huán)節(jié),監(jiān)控系統(tǒng)的完善程度直接影響到我們微服務質量的好壞,我們的微服務在線上運行時,有沒有一套完善的監(jiān)控體系能去了解到它的健康情況,這對整個系統(tǒng)的可靠性和穩(wěn)定性非常重要。


- 微服務監(jiān)控體系的層級架構 -


1、五個層級的監(jiān)控

一個比較完善的微服務監(jiān)控體系需要涉及到哪些層級?如下圖所示,大致可以劃分為五個層級的監(jiān)控:


全面解析微服務系統(tǒng)監(jiān)控分層,啃透服務治理核心!


2、最底層基礎設施監(jiān)控

這層一般由運維人員負責,涉及到的方面比較接近硬件體系,例如網(wǎng)絡,交換機,路由器等低層設備,這些設備的可靠性穩(wěn)定性就直接影響到上層服務應用的穩(wěn)定性,所以需要對網(wǎng)絡的流量,丟包情況、錯包情況,連接數(shù)等等這些基礎設施的核心指標進行監(jiān)控。


3、系統(tǒng)層監(jiān)控

這層涵蓋了物理機、虛擬機、操作系統(tǒng)等,這些都是屬于系統(tǒng)級別監(jiān)控的方面,主要對幾個核心指標進行監(jiān)控,如cpu使用率、內(nèi)存占用率,磁盤IO和網(wǎng)絡帶寬情況。


4、應用層監(jiān)控

這層涉及到方面和服務緊密相關,例如對url訪問的性能,訪問的調(diào)用數(shù),訪問的延遲,還有對服務提供性能進行監(jiān)控,服務的錯誤率等,同時對sql也需要進行監(jiān)控,查看是否有慢sql。對cache來說,需要監(jiān)控緩存的命中率和性能,每個服務的響應時間和qps等等。


5、業(yè)務監(jiān)控

業(yè)務監(jiān)控具體指什么?舉個例子,比如說一個典型的交易網(wǎng)站,需要關注它的用戶登錄情況、注冊情況、下單情況、支付情況等等,這些直接影響到實際觸發(fā)的業(yè)務交易情況,這層監(jiān)控可以提供給運營和公司高管們,提供他們需要關注的數(shù)據(jù),直接以數(shù)據(jù)支撐公司在戰(zhàn)略層面的決策和方向。


6、端用戶體驗監(jiān)控

一個應用程序可能通過app、h5、pc端的方式交付到用戶的手上,用戶通過瀏覽器,客戶端打開到我們的服務,那么在用戶端,用戶的體驗是怎么樣?用戶端的性能是怎么樣?以及有沒有產(chǎn)生錯誤等等……


這些信息都需要進行監(jiān)控并記錄下來,如果沒有監(jiān)控,有可能因為某些BUG或者性能問題,造成用戶體驗非常差,而我們并沒有感知。


其中包括監(jiān)控用戶端的使用性能、返回碼,在哪些城市地區(qū),他們的使用情況是怎么樣,還有運營商的情況,包括三大運營商不同用戶的連接情況。我們需要進一步知道,是否有哪些渠道哪些用戶接入的時候存在著問題,我們還需要知道客戶端使用的操作系統(tǒng)瀏覽器的版本。


簡單來說,這就是我們體系化的監(jiān)控分層,每一個層級都非常重要。一般情況下,當一個問題出現(xiàn)時,較大概率會先暴露在用戶端或業(yè)務層,比如說,我們的訂單量下降了,業(yè)務人員和開發(fā)人員會先從上到下去逐層檢查是在哪里出現(xiàn)了問題,先確定是否哪個接口調(diào)用比較慢,哪個服務調(diào)用出現(xiàn)延時,再看是否哪個機器負載過高了,然后再進一步往下一個層去看,是否是網(wǎng)絡調(diào)用不穩(wěn)定導致。所以,一個好的監(jiān)控體系,在每個層級都非常重要。


- 微服務監(jiān)控的要點 -


1、五個監(jiān)控要點

上文講解的是從層級方面進行監(jiān)控,接下來,我們來看看哪些要點可以進行監(jiān)控:


全面解析微服務系統(tǒng)監(jiān)控分層,啃透服務治理核心!

簡單來說,可以分為以下五個點:

1、日志監(jiān)控

2、Metrics監(jiān)控

3、調(diào)用鏈監(jiān)控

4、報警系統(tǒng)

5、健康檢查


2、典型主流的監(jiān)控架構


全面解析微服務系統(tǒng)監(jiān)控分層,啃透服務治理核心!


在微服務運行的體系下,我們一般把監(jiān)控的agent分散到各個服務身邊,agent分別是收集機器和服務的metrics,發(fā)送到后臺監(jiān)控系統(tǒng),一般來說,我們的服務量非常大,在收集的過程中,會加入隊列。一般來說用kafka等消息隊列有個好處,兩邊可以進行解耦,可以起到龐大的日志進行一個緩存的地帶,并且可以做到高可用,保證消息不會丟失。


日志收集目前比較流行的是ELK的一套解決方案(Elasticsearch,Logstash,Kibana),Elasticsearch 分布式搜索引擎,Logstash 是一個日志收集的agent,Kibana 是一個查詢的日志界面。


metrice會采用一個時間序列的數(shù)據(jù)庫,influxDB是最近比較主流時間數(shù)據(jù)庫。

微服務的agent例如springboot也提供了健康檢查的端點,可以檢查cpu使用情況、內(nèi)存使用情況、jvm使用情況,這些需要一個健康檢查機制,能夠定期對服務的健康和機器的健康進行check,比較常見的是nagios、zabbix等,這些開源平臺能夠定期去檢查到各個微服務的檢查程序并能夠進行告警給相關人員,在服務未崩潰之前就可以進行提前的預先接入。



	

免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉