丨prometheus metricsserver與kubernetes監(jiān)控體系你好我是今天和主題PrometheusMetri_第1頁
丨prometheus metricsserver與kubernetes監(jiān)控體系你好我是今天和主題PrometheusMetri_第2頁
丨prometheus metricsserver與kubernetes監(jiān)控體系你好我是今天和主題PrometheusMetri_第3頁
丨prometheus metricsserver與kubernetes監(jiān)控體系你好我是今天和主題PrometheusMetri_第4頁
丨prometheus metricsserver與kubernetes監(jiān)控體系你好我是今天和主題PrometheusMetri_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Prometheus實(shí)際上,Prometheus項(xiàng)目是當(dāng)年CNCF起家時的“第二把交椅”。而這個項(xiàng)目發(fā)展到今天,已經(jīng)全面接管了Kubernetes項(xiàng)目的整套體系。比較有意思的是,Prometheus項(xiàng)目與Kubernetes項(xiàng)目一樣,也來自于的體系,它的原型系統(tǒng),叫作BorgMon,是一個幾乎與Borg同時誕生的內(nèi)部系統(tǒng)。而Prometheus項(xiàng)目的發(fā)起原因也跟Kubernetes很類似,都是希望通過對用戶更友好的方式,將內(nèi)部系統(tǒng)的設(shè)計(jì)理念,傳遞給用戶和開發(fā)者。作為一個系統(tǒng),Prometheus項(xiàng)目的作用和工作方式,其實(shí)可以用如下所示的一張官可以看到,Prometheus項(xiàng)目工作的,是使用Pull(抓?。┑姆绞饺ニ鸭粚ο蟮腗etrics數(shù)據(jù)(指標(biāo)數(shù)據(jù)),然后,再把這些數(shù)據(jù)保存在一個TSDB(時間序列數(shù)據(jù)庫,比如OpenTSDB、InfluxDB等)當(dāng)中,以便后續(xù)可以按照時間進(jìn)行檢索。有了這 機(jī)制,Prometheus剩下的組件就是用來配合這套機(jī)制的運(yùn)行。比Pushgateway,可以允許被對象以Push的方式向Prometheus推送Metrics數(shù)據(jù)而Alertmanager,則可以根據(jù)Metrics信息靈活地設(shè)置。當(dāng)然,Prometheus最受用戶歡迎的功能,還是通過Grafana對外出的、可以靈活配置的數(shù)據(jù)可視化界PrometheusMetricsKubernetes第一種Metrics,是宿主機(jī)的數(shù)據(jù)。這部分?jǐn)?shù)據(jù)的提供,需要借助一個由Prometheus的NodeExporter工具。一般來說,NodeExporter會以DaemonSet的方式運(yùn)行在宿主機(jī)上。其實(shí),所謂的Exporter,就是代替被對象來對Prometheus出可以被“抓取”的Metrics信息的一個輔助進(jìn)程。而NodeExporter可以給Prometheus的Metrics數(shù)據(jù),也不單單是節(jié)點(diǎn)的負(fù)載(Load)、CPU、內(nèi)存、磁盤以及網(wǎng)絡(luò)這樣的常規(guī)信息,它的Metrics指標(biāo)可以說第二種Metrics,是來自于Kubernetes的APIServer、kubelet等組件的/metricsAPI。除了常規(guī)的CPU、內(nèi)存的信息外,這部分信息還主要包括了各個組件的指標(biāo)。比如,對于APIServer來說,它就會在/metricsAPI里,出各個Controller的工作隊(duì)列(WorkQueue)的長度、請求的QPS和延遲數(shù)據(jù)等等。這些信息,是檢查Kubernetes本身工作情況的主要依據(jù)。第三種Metrics,是Kubernetes相關(guān)的數(shù)據(jù)。這部分?jǐn)?shù)據(jù),一般叫作Kubernetes數(shù)據(jù)(coremetrics)。這其中包括了Pod、Node、容器、Service等主要Kubernetes概念的Metrics。其中,容器相關(guān)的Metrics主要來自于kubelet內(nèi)置的cAdvisor服務(wù)。在kubelet啟動后,cAdvisor服務(wù)也隨之啟動,而它能夠提供的信息,可以細(xì)化到每一個容器的CPU、需要注意的是,這里提到的Kubernetes數(shù)據(jù),其實(shí)使用的是Kubernetes的一個非常重要的擴(kuò)展能力,叫作MetricsServer。MetricsServerKubernetesHeapsterKubernetes項(xiàng)目發(fā)展的初期,Heapster是用戶獲取Kubernetes數(shù)據(jù)(比如PodNode的資源使用情況)的主要。而后面提出來的MetricsServer,則把這些信息,通過標(biāo)準(zhǔn)的KubernetesAPI了出來。這樣,Metrics信息就跟Heapster完成了解耦,允許Heapster項(xiàng)目慢慢退出舞臺。而有了MetricsServer之后,用戶就可以通過標(biāo)準(zhǔn)的KubernetesAPI來到這些數(shù)據(jù)了。比如,下面這個URL:1<namespace-當(dāng)你這個MetricsAPI時,它就會為你返回一個Pod的數(shù)據(jù),而這些數(shù)據(jù),其實(shí)是從kubelet的SummaryAPI(即<kubelet_ip>:<kubelet_port>/stats/summary)而來的。SummaryAPI返回的信息,既包括了cAdVisor的數(shù)據(jù),也包括了kubelet本身匯總的信息。需要的是,MetricsServer并不是kube-apiserver的一部分,而是通過備注:出可以看到,當(dāng)Kubernetes的APIServer開啟了Aggregator模式之后,你再apis/metrics.k8s.io/v1beta1的時候,實(shí)際問到的是一個叫作kube-aggregator的。而kube-apiserver,正是這個的一個后端;而MetricsServer,則是另一個后而且,在這個機(jī)制下,你還可以添加的后端給這個kube-aggregator。所以kube-aggregator其實(shí)就是一個根據(jù)URL選擇具體的API后端的服務(wù)器。通過這種方式,我們就可以很方便地擴(kuò)展Kubernetes的API了。而Aggregator如果你是使用kubeadm或者的kube-up.sh部署Kubernetes集群的話DIYkube-apiserver--requestheader--ca-file=<pathtoaggregatorCA----cert-file=<pathtoaggregator----key-file=<pathtoaggregatorAggregatorKeyCert些文件的生成,就需要你自己手動完成了,具體流程請參考這篇文檔。AggregatorMetricsServerYAML$git $cdmetrics-$kubectlcreate-fmetrics.k8s.io這個APIKubernetesAPI在理解了Prometheus關(guān)心的三種數(shù)據(jù)源,以及Kubernetes的Metrics之后,作為用戶,你其實(shí)要做的就是將PrometheusOperator在Kubernetes集群里部署起在后續(xù)的文章中,我會為你進(jìn)一步剖析Kubernetes體系以及自定義Metrics(自定在本篇文章中,我主要為你介紹了Kubernetes當(dāng)前體系的設(shè)計(jì),介紹了Prometheus項(xiàng)目在這套體系中的地位,講解了以Prometheus為的系統(tǒng)的架構(gòu)然后,我為你詳細(xì)地解讀了Kubernetes數(shù)據(jù)的來源,即:MetricsServer的具體工作原理,以及AggregatorAPIServer的設(shè)計(jì)思路。通過以上講述,我希望你能夠?qū)ubernetes的體系形成一個整體的認(rèn)知,體會到Kubernetes社區(qū)在這個事情上,全面以Prometheus項(xiàng)目為進(jìn)行建設(shè)的大方最后,在具體的指標(biāo)規(guī)劃上,我建議你遵循業(yè)界通用的USE原則和RED原則不難發(fā)現(xiàn),USE原則主要關(guān)注的是“資源”,比如節(jié)點(diǎn)和容器的資源使用情況,而RED原則主要關(guān)注的是“服務(wù)”,比如kube-apiserver或者某個應(yīng)用的工作情況。這兩種指標(biāo),在我今天為你講解的Kubernetes+Prometheus組成的體系中,都是可以完在體系中,對于數(shù)據(jù),其實(shí)既有Prometheus這種Pull模式,也有Push模 售賣。頁面已增加防盜追蹤,將依法其下一 49|CustomMetrics:讓AutoScaling不再“食之無味言言 12能否解析下prometheusserver配置文件中,jobs的寫法,alertrule的寫法?還有作者回復(fù):篇幅所限,prometheus項(xiàng)目具體的不進(jìn)行詳細(xì)展開 pushhttpworker,5jobjobpushgateway取。push方式可以聯(lián)想到APM。 2 李昊 1有一個問題,就是metricserver是怎么給metrics.k8s.io/v1beta1這個api的,或者說獅鍋 1你好,為什么node_exporter要單獨(dú)分為一類而不是算作core 我要收購騰 1prometheuspull模式搭配自己的kubernetesSDprometheus-operatorservicemonitor 老師我一直對Prometheus和SNMPserver有什么區(qū)別搞不明白。這倆是一個東西嗎?他們有什么具體的區(qū)別?是不是可以理解為SNMPserver是Prometheus的一個子集? 按照課里的方式,基于kubeadm部署了k8s集群,但是metricsserver總是沒辦法正常工作。unabletofetchnodemetricsfornode"node-hostname":no

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論