這篇文章主要講解了“如何使用Prometheus在Kubernetes中監(jiān)控應(yīng)用程序”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何使用Prometheus在Kubernetes中監(jiān)控應(yīng)用程序”吧!
創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元忻州做網(wǎng)站,已為上家服務(wù),為忻州各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
最近有很多關(guān)于Prometheus的消息,尤其是在Kubernetes中監(jiān)控應(yīng)用程序這方面。深入RED方法之前,我們先了解一些背景內(nèi)容。應(yīng)用程序運(yùn)行在容器上并由Kubernetes負(fù)責(zé)調(diào)度,在此環(huán)境中它們是高度自動化并且動態(tài)的。傳統(tǒng)的監(jiān)控工具一般是基于服務(wù)器,只監(jiān)控靜態(tài)的服務(wù),所以當(dāng)要在這種動態(tài)環(huán)境監(jiān)控應(yīng)用程序時,傳統(tǒng)的監(jiān)控工具往往很難滿足這一需求。
這時就需要Prometheus出馬了。
Prometheus是一個開源項(xiàng)目,最初由SoundCloud的工程師開發(fā)。它專門用于監(jiān)控那些運(yùn)行在容器中的微服務(wù)。每經(jīng)過一個時間間隔,數(shù)據(jù)都會從運(yùn)行的服務(wù)中流出,存儲到一個時間序列數(shù)據(jù)庫中,這個數(shù)據(jù)庫之后可以通過PromQL語言查詢。另外,因?yàn)閿?shù)據(jù)是以時間序列存儲的,當(dāng)出現(xiàn)問題時,可以根據(jù)這些時間間隔進(jìn)行診斷,另外還可以預(yù)測基礎(chǔ)設(shè)施的長期監(jiān)控趨勢----這是Prometheus的兩大功能。
在Weaveworks,我們把服務(wù)搭建在Prometheus的開源分布上,并且創(chuàng)建了一個可擴(kuò)展、多租戶的版本,這是我們軟件即服務(wù)概念的一部分,稱為Weave Cloud。
現(xiàn)在,該服務(wù)已經(jīng)運(yùn)行了幾個月,同時也使用Weave Cloud監(jiān)控自己本身,在這個過程中我們積累到了一些有關(guān)監(jiān)控云本機(jī)應(yīng)用程序的經(jīng)驗(yàn),并根據(jù)這些經(jīng)驗(yàn)設(shè)計了一個系統(tǒng)來確定在檢測代碼前需要測量什么。
在搭建Prometheus監(jiān)控時,確定需要收集的指標(biāo)類型十分重要,這些指標(biāo)和應(yīng)用程序相關(guān)。選擇的指標(biāo)可以簡化故障發(fā)生時排除故障的流程,并且還可以在服務(wù)和基礎(chǔ)設(shè)施上保持很高的穩(wěn)定性。為幫助理解instrument的重要性,我們定義了一個稱之為RED方法的系統(tǒng)。
RED方法遵循Four Golden Signals中提及的原則,聚焦于檢測最終用戶在使用web服務(wù)時關(guān)心的東西。
在RED方法中,我們通過監(jiān)控三項(xiàng)關(guān)鍵指標(biāo)來管理架構(gòu)中的每個微服務(wù):
(Request)Rate – 你的服務(wù)所服務(wù)的每秒的請求數(shù)
(Request)Errors – 每秒失敗的請求數(shù)
(Request)Duration – 每個請求所花費(fèi)的時間,用時間間隔表示
RED方法希望由Rate、Errors、Duration三項(xiàng)指標(biāo)涵蓋最典型的Web服務(wù)問題。同時這些指標(biāo)還能夠反映出請求的錯誤率。通過這三項(xiàng)指標(biāo),我們就能監(jiān)測到通常情況下會影響客戶體驗(yàn)的問題。
如果想要獲得更細(xì)節(jié)的信息,還需要用到Saturation指標(biāo)。Saturation指標(biāo)用在USE(Utilization Saturation and Errors)方法中,它指的是一種帶有額外作業(yè)的資源,而該資源不能夠提供服務(wù),因此必須添加到隊(duì)列中以備后續(xù)處理。
對比兩種方法,USE方法更側(cè)重于監(jiān)控的性能,并以此為出發(fā)點(diǎn)尋找影響性能問題的根本原因以及其他系統(tǒng)的瓶頸。
在理想狀態(tài)下,我們可以在監(jiān)控應(yīng)用程序時同時使用USE和RED方法。
從監(jiān)控的角度來看,如果能處理好每項(xiàng)服務(wù),你的運(yùn)營團(tuán)隊(duì)就可以在此基礎(chǔ)上繼續(xù)擴(kuò)展服務(wù)。
擴(kuò)展性對運(yùn)營團(tuán)隊(duì)意味著什么?我們從這個角度看待問題,一個團(tuán)隊(duì)可以支持多少個服務(wù)。在理想狀態(tài)下,一個團(tuán)隊(duì)可以支持的服務(wù)數(shù)量和團(tuán)隊(duì)規(guī)模無關(guān),而取決于其他因素,比如SLA協(xié)議的響應(yīng)類型以及是否需要全天候覆蓋等等。
如何將可支持的服務(wù)數(shù)量與團(tuán)隊(duì)規(guī)模去藕化?辦法是讓每一個服務(wù)都變得一樣。這既減少了團(tuán)隊(duì)針對特定的服務(wù)進(jìn)行培訓(xùn)的數(shù)量,還減少了在高壓事件響應(yīng)場景或者所謂“認(rèn)知負(fù)載”這些針對特定服務(wù)的特殊情況發(fā)生時,呼叫者需要記錄的內(nèi)容。
容量規(guī)劃:考慮QPS(每秒查詢次數(shù))和延遲
自動化任務(wù)以及發(fā)出警報:RED方法的優(yōu)點(diǎn)在于它可以幫助你考慮如何在儀表板中顯示信息。通過這三個指標(biāo),你可以對儀表板的布局進(jìn)行調(diào)整,讓它更易于閱讀,并在問題發(fā)生時發(fā)出警報。例如,一個布局可能意味著 --- 每個服務(wù)都有一個不同的Weave Cloud記事本,包含了PromQL查詢的請求&錯誤,以及每個服務(wù)的延遲。
毫無疑問,如果把所有的服務(wù)都視為一樣的,那么將會更加易于自動化執(zhí)行重復(fù)任務(wù)。
PromQL查詢

在Weave Cloud上監(jiān)控RED方法中的指標(biāo)

事實(shí)上,這種方法(RED)僅適用于請求驅(qū)動的服務(wù)——比如,它在處理面向批處理的服務(wù)或者流服務(wù)時會發(fā)生錯誤。對于請求驅(qū)動它也不是完全適用,當(dāng)需要監(jiān)控其他東西——比如主機(jī)CPU&內(nèi)存或者緩存資源時,USE方法表現(xiàn)的更好。
感謝各位的閱讀,以上就是“如何使用Prometheus在Kubernetes中監(jiān)控應(yīng)用程序”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何使用Prometheus在Kubernetes中監(jiān)控應(yīng)用程序這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)站標(biāo)題:如何使用Prometheus在Kubernetes中監(jiān)控應(yīng)用程序
分享URL:http://chinadenli.net/article46/pgjihg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、App設(shè)計、手機(jī)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站內(nèi)鏈、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)