版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Short-livedHOD/SSDShort-livedHOD/SSD完美的分布式一一普羅米修斯DevOps工程師或SRE工程師,可能都知道Prometheus普羅米修斯。Prometheus于2012年由SoundCloud創(chuàng)建,目前已經(jīng)已發(fā)展為最熱門的分布式監(jiān)控系統(tǒng)。Prometheus完全開源的,被很多云廠商(架構(gòu))內(nèi)置,在這些廠商(架構(gòu))中,可以簡單部署Prometheus,用來監(jiān)控整個云基礎(chǔ)架構(gòu)設(shè)施。比如DigitalOcean或Docker都是普羅米修斯作為基礎(chǔ)監(jiān)控。希臘神話中,普羅米修斯是最具智慧的神明之一,是泰坦巨神后代,其名字意思為'先見之明’,那么以該名字命名的監(jiān)控系統(tǒng)究竟怎么樣呢?今天蟲蟲給大家講講這個以神之名命名的監(jiān)控系統(tǒng)。Servicediscovery£ile_sdAlcrtmana£er:Prometheusserverpushalertspull
metricsPromQLPrortietheiis
vrtibUIDat5
visualiz^tiofi
andexport普羅米修斯(Prometheus)介紹Prometheus是一個時間序列數(shù)據(jù)庫。但是,它不僅僅是一個時間序列數(shù)據(jù)庫。它涵蓋了可以綁定的整個生態(tài)系統(tǒng)工具集及其功能。Prometheus主要用于對基礎(chǔ)設(shè)施的監(jiān)控。包括服務(wù)器,數(shù)據(jù)庫,VPS,幾乎所有東西都可以通過Prometheus進行監(jiān)控。Prometheus希望通過對Prometheus配置中定義的某些端點執(zhí)行的HTTP調(diào)用來檢索度量標準。
Metres4^pcs?f3anappon-例如,如果我們以localhost:3000的Web應(yīng)用程序為例,你的應(yīng)用程序?qū)⒃谔囟║RL(例如localhost:3000/metrics)中將指標公開為純文本。以該URL為起點,,在給定的有效期間隔期間,Prometheus將從該目標中提取數(shù)據(jù)。工作原理?如前所述,Prometheus由各種不同的組件組成。其監(jiān)控指標可以從系統(tǒng)中提取到,可以通過不同的方式做到:通過應(yīng)用程序給定監(jiān)控項,對給定的公開URL上Prometheus兼容的指標。Prometheus將其定義為目標并加入監(jiān)控系統(tǒng)。通過使用云廠商內(nèi)置Prometheus程序,會定義好整個監(jiān)控項和監(jiān)控工具集擁。例如,可以Linux機器監(jiān)控模版(節(jié)點導(dǎo)出器),數(shù)據(jù)庫的模版(SQL導(dǎo)出器或MongoDB導(dǎo)出器),以及HTTP代理或者負載程序的模版(例如HAProxy導(dǎo)出器)等這些模版直接就可以加入監(jiān)控并使用。通過使用Pushgateway:應(yīng)用程序或作業(yè)不會直接公開指標。某些應(yīng)用程序要么沒有合適的監(jiān)控模版(例如批處理作業(yè)),對他們選擇不能直接通過應(yīng)用程序公開這些指標。如果我們忽略您可能使用Pushgateway的極少數(shù)情況,Prometheus是一個基于主動請求pull的監(jiān)控系統(tǒng)。
推方式和拉方式Prometheus與其他時間序列數(shù)據(jù)庫之間存在明顯差異:Prometheus主動篩選目標,以便從中檢索指標。這與InfluxDB非常不同,InfluxDB是需要直接推送數(shù)據(jù)給它。不同,InfluxDB是需要直接推送數(shù)據(jù)給它?;谕坪突诶绞礁饔衅鋬?yōu)劣之處。Prometheus使用主動拉方式主要的基于以下考慮:實現(xiàn)集中控制:如果Prometheus向其目標發(fā)起查詢,則整個配置在Prometheus服務(wù)器端完成,而不是在各個目標上完成。Prometheus決定取值,以及取值的的頻率。使用基于推的系統(tǒng),可能會導(dǎo)致向服務(wù)器發(fā)送過多數(shù)據(jù)的風(fēng)險,這時會使其服務(wù)器崩潰。基于拉的系統(tǒng)能夠?qū)崿F(xiàn)速率控制,具有多級過期配置的靈活性,因此可以針對不同目標實現(xiàn)多種速率。存儲匯總的指標Prometheus不是基于事件的系統(tǒng),這與其他時間序列數(shù)據(jù)庫不同。Prometheus并非旨在及時捕獲單個和時間事件(例如服務(wù)中斷),但它旨在收集有關(guān)的服務(wù)的預(yù)先匯總的指標。具體而言,它不會從Web服務(wù)發(fā)送404錯誤消息以及錯誤的消息的具體內(nèi)容,而是對這些消息做處理、聚合過的指標。這與其他在收集'原始消息'的時間序列數(shù)據(jù)庫之間的基本差異生態(tài)系統(tǒng)Prometheus的主要功能仍然是時間序列數(shù)據(jù)庫。但是,在使用時間序列數(shù)據(jù)庫時,對它們實現(xiàn)了可視化、數(shù)據(jù)分析并通過自定義方式進行告警。Prometheus生態(tài)系統(tǒng)有功能豐富工具集:Alertmanager:Prometheus通過配置文件中定義的自定義規(guī)則將告警信息推送至ijAlertmanager。Alertmanager可以將其導(dǎo)出到多個端點,例如Pagerduty或Slack等。數(shù)據(jù)可視化:與Grafana、Kibana等類似,可以直接在WebUI中可視化時間序列數(shù)據(jù)。輕松過濾查看了不通監(jiān)控目標的信息。服務(wù)發(fā)現(xiàn):Prometheus可以動態(tài)發(fā)現(xiàn)監(jiān)控目標,并根據(jù)需要自動廢棄目標。這在云架構(gòu)中使用動態(tài)變更地址的容器時,尤為方便。普羅米修斯技術(shù)原理和構(gòu)成成關(guān)鍵值數(shù)據(jù)模型動廢棄目標。這在云架構(gòu)中使用動態(tài)變更地址的容器時,尤為方便。普羅米修斯技術(shù)原理和構(gòu)成成關(guān)鍵值數(shù)據(jù)模型在開始使用Prometheus工具之前,了解數(shù)據(jù)模型非常重要。Prometheus使用鍵值對。鍵描述了測量值時將實際測量值存儲為數(shù)字的值。14.04pu?usc{core^'T1,ip=,(128.00J,f} 14.04LobeisQDataModelFilteringcpu_usoc{core!?"2"} 14.04注意/Prometheus并不會存儲原始信息,如白志文本,它存儲的是隨時間匯總的指標?!銇碚f鍵也就監(jiān)控度量。比如CPU使用百分比或內(nèi)存使用量等。但是,如果想要獲得有關(guān)指標的更多詳細信息,該怎么辦?比如服務(wù)器CPU有四個核心,我們要想給它們分別設(shè)置指標怎么做?對此,Prometheus有一個標簽的概念。標簽旨在通過向其添加其他字段來為指標提供更詳細信息。你不需要簡單地描述CPU速率,你可以指定位于某個IP的核心CPU的CPU速率。也能通過標簽過濾指標并準確檢索查找的內(nèi)容。度量類型Prometheus的監(jiān)控指標有四種基本的類型來描述:計數(shù)器Counter計數(shù)器可能是我們可以使用的最簡單的度量標準形式。就想它字面意思一樣,計數(shù)器是隨著時間的增長的計算元素。比如,要計算服務(wù)器上的HTTP錯誤數(shù)或網(wǎng)站上的訪問次數(shù),這時候就使用計數(shù)器。計數(shù)器的值只能增加或重置為0。計數(shù)器特別適合計算某個時段上某個事件的發(fā)生次數(shù),即指標隨時間演變的速率。GaugesGauges用于處理可能隨時間減少的值。比如溫度本華,內(nèi)存變化等。Gauge類型的值可以上升和下降,可以是正值或負值。如果系統(tǒng)每5秒發(fā)送一次指標,Prometheus每15秒抓取一次目標,那么這期間可能會丟失一些指標。如果對這些指分析計算,則結(jié)果的準確性會越來越低。而使用計數(shù)器,每個值都會被匯總計算。直方圖Histogram直方圖是一種更復(fù)雜的度量標準類型。它為我們的指標提供了額夕卜信息,例如觀察值的總和及其數(shù)量,常用于跟蹤事件發(fā)生的規(guī)模。其值在具有可配置上限的存儲對象中聚合。使用直方圖可以用來:計算平均值:因為它們表示值的總和除以記錄的值的數(shù)量。計算值的小數(shù)測量:這是一個非常強大的工具,可以讓我們知道給定的集合中有多少值遵循給定的標準。在用于監(jiān)控比例或建立質(zhì)量指標時,這非常有用。比如,為了監(jiān)控性能指標,我們希望得到在有20%的服務(wù)器請求響應(yīng)時間超過300毫秒發(fā)送警告。對于涉及比例的指標就可以考慮使用直方圖。摘要Summary摘要是對直方圖的擴展。除了提供觀察的總和和計數(shù)之外,它們還提供滑動窗口上的分位數(shù)度量。分位數(shù)是將概率密度劃分為相等概率范圍的方法。對比直方圖:直方圖隨時間匯總值,給出總和和計數(shù)函數(shù),使得易于查看給定度量的變化趨勢。而摘要則給出了滑動窗口上的分位數(shù)(即隨時間不斷變化)。這對于獲得代表隨時間記錄的值的95%的值尤其方便。實例計算隨著分布式架構(gòu)的不會發(fā)展完善和云解決方案的普及,現(xiàn)在的架構(gòu)不再是孤零零幾臺配置很高的IBM小機就可以搞定一起的時代了。分布式的服務(wù)器復(fù)制和分發(fā)成了日常架構(gòu)的必備組件。我們舉一個經(jīng)典的Web架構(gòu),該架構(gòu)由2個HAProxy代理服務(wù)器,在3個后端Web服務(wù)器。在該實例中,我們要監(jiān)視Web服務(wù)器返回的HTTP錯誤的數(shù)量。使用Prometheus語言,單個Web服務(wù)器單元稱為實例。該任務(wù)是計算所有實例的HTTP錯誤數(shù)量。fjob^'T',instance=-<128.O.0J") 14.04noh^'T' 00尸1 12mPromQL如果使用過基于InfluxDB的數(shù)據(jù)庫,你可能會熟悉InfluxQL?;蛘呤褂肨imescaleDB過的SQL語句。Prometheus也內(nèi)置了自己的SQL查詢語言,用于便捷和熟悉的方式從Prometheus查詢和檢索數(shù)據(jù),這個內(nèi)置的語言就是PromQL。我們前面說過,Prometheus數(shù)據(jù)是用鍵值對表示的。PromQL也用相同的語法查詢和返回結(jié)果集。使用Prometheus和PromQL,會^理兩種向量:即時向量:表示在最近時間戳中跟蹤的指標。時間范圍向量:用于查看度量隨時間的演變,可以使用自定義時間范圍查詢Prometheus。結(jié)果是一個向量聚合所選期間記錄的值。
*W€?.⑧Ronaevectors[nstantvectorsPromQLAPI公開了一組方便查詢數(shù)據(jù)操作的函數(shù)。用它可以實現(xiàn)排序,數(shù)學(xué)函計算(如導(dǎo)數(shù)或指數(shù)函數(shù)),統(tǒng)計預(yù)測計算(如HoltWinters函數(shù))等。Instrumentation儀表化1404L12.01也s蜘16.031140412011140412011803M041201PrometheusVectorsu’i&kL8certs— WteI心sI*W€?.⑧Ronaevectors[nstantvectorsPromQLAPI公開了一組方便查詢數(shù)據(jù)操作的函數(shù)。用它可以實現(xiàn)排序,數(shù)學(xué)函計算(如導(dǎo)數(shù)或指數(shù)函數(shù)),統(tǒng)計預(yù)測計算(如HoltWinters函數(shù))等。Instrumentation儀表化1404L12.01也s蜘16.031140412011140412011803M041201PrometheusVectorsu’i&kL8certs— WteI心s314041201160314041201VMmrarC4r*/1404】12,011603140+131160314.0+12.01在儀表化操作時,需要創(chuàng)建內(nèi)存對象(如儀表或計數(shù)器),可以在運行中增加或減少。然后選擇指標公開的位置。Prometheus將從該位置獲取并存儲到時間序列數(shù)據(jù)庫。InstrumentingyourappOtficig!clienthbranesOtficig!clienthbranes*naideExporters模版
對于自定義應(yīng)用程序,儀表化非常方便,它允許自定義公開的指標以及其隨時間的變化方式。對于一些廣泛使用的應(yīng)用程序,服務(wù)器或數(shù)據(jù)庫,Prometheus提供專門的應(yīng)用模版,可以使用它們來監(jiān)控目標。這些模版很多都用Docker鏡像,可以輕松配置以監(jiān)控目標。他們會預(yù)設(shè)常用的的指標和面板,可以幾分鐘內(nèi)就完成監(jiān)控配置。常見的Exporters模版有:數(shù)據(jù)庫模版:用于MongoDB數(shù)據(jù)庫,SQL服務(wù)器和MySQL服務(wù)器的配置。HTTP模版:用于HAProxy,Apache或NGINX等web服務(wù)器和代理的配置。Unix模版:用來使用構(gòu)建的節(jié)點導(dǎo)出程序監(jiān)視系統(tǒng)性能,可以實現(xiàn)完整的系統(tǒng)指標的監(jiān)控。告警在處理時間序列數(shù)據(jù)庫時,我們希望對數(shù)據(jù)進行處理,并對結(jié)果給出反饋,而這部分工作有告警來實現(xiàn)。告警在Grafana中非常常見,Prometheus也通過Alertmanager實現(xiàn)完成的告警系統(tǒng)。Alertmanager是一個獨立的工具,可以綁定到Prometheus并運行自定義Alertmanager。告警通過配置文件定義,定義有一組指標定義規(guī)則組成,如果數(shù)據(jù)命中這些規(guī)則,則會觸發(fā)告警并將其發(fā)送到預(yù)定義的目標。與Grafana類似,Prometheus的告警,可以通過email,Slackwebhooks,PagerDuty和自定義HTTP目標等。CustomenrailsAlertingwithPrometheusPogerDutybindstoPortStocKCustomenrailsAlertingwithPrometheusPogerDutybindstoPortStocK我們最后再說下Prometheus的用例,可以使用該系統(tǒng)的各行各業(yè)。DevOps隨著為系統(tǒng),數(shù)據(jù)庫和服務(wù)器構(gòu)建,Prometheus的主要目標顯然是針對DevOps行業(yè)。在該領(lǐng)域有很多的供應(yīng)商和眾多的解決方案。Prometheus無疑是一個理想的方案。在云基礎(chǔ)架構(gòu)下Prometheus的實例啟動并運行的非常簡便,還可以根據(jù)需要靈活的裝配所需的部件。這它成為器和分布式體系結(jié)構(gòu)的嚴重依賴容的工具棧的理想解決方案。在實例的創(chuàng)建速度與銷毀速度一樣快的容器的世界中,服務(wù)發(fā)現(xiàn)是每個DevOps棧必須要具備的。醫(yī)療保健時下監(jiān)控解決方案不僅適用于IT專業(yè)人員。它們還用于支持大型行業(yè),為醫(yī)療保健行業(yè)提供彈性和可擴展
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024蘋果產(chǎn)業(yè)鏈金融風(fēng)險防控合作協(xié)議3篇
- 2025年度林地林木種植與生態(tài)修復(fù)合同2篇
- 2024食堂食材的采購合同協(xié)議
- 2025賓館客房銷售數(shù)據(jù)共享與處理合同模板3篇
- 2025年度特色美食研發(fā)與酒店合作合同3篇
- 2025年度豬欄工程總承包及生態(tài)環(huán)保合同4篇
- 2025年度智能家居與安防系統(tǒng)一體化合同2篇
- 2025年4-甲基咪唑項目可行性研究報告
- 2025個人收藏品交易合同參考樣本4篇
- PEP小學(xué)六年級英語上冊選詞填空專題訓(xùn)練
- 古建筑修繕項目施工規(guī)程(試行)
- GA 844-2018防砸透明材料
- 化學(xué)元素周期表記憶與讀音 元素周期表口訣順口溜
- 非人力資源經(jīng)理的人力資源管理培訓(xùn)(新版)課件
- MSDS物質(zhì)安全技術(shù)資料-201膠水
- 鉬氧化物還原過程中的物相轉(zhuǎn)變規(guī)律及其動力學(xué)機理研究
- (完整word)2019注冊消防工程師繼續(xù)教育三科試習(xí)題及答案
- 《調(diào)試件現(xiàn)場管理制度》
- 社區(qū)治理現(xiàn)代化課件
- 代持房屋協(xié)議書
評論
0/150
提交評論