您好,登錄后才能下訂單哦!
前言
Prometheus 是一個(gè)開源和社區(qū)驅(qū)動(dòng)的監(jiān)控&報(bào)警&時(shí)序數(shù)據(jù)庫(kù)的項(xiàng)目。來(lái)源于谷歌BorgMon項(xiàng)目?,F(xiàn)在最常見的Kubernetes容器管理系統(tǒng)中,通常會(huì)搭配Prometheus進(jìn)行監(jiān)控。主要監(jiān)控:
Node:如主機(jī)CPU,內(nèi)存,網(wǎng)絡(luò)吞吐和帶寬占用,磁盤I/O和磁盤使用等指標(biāo)。node-exporter采集。
容器關(guān)鍵指標(biāo):集群中容器的CPU詳細(xì)狀況,內(nèi)存詳細(xì)狀況,Network,F(xiàn)ileSystem和Subcontainer等。通過cadvisor采集。
Kubernetes集群上部署的應(yīng)用:監(jiān)控部署在Kubernetes集群上的應(yīng)用。主要是pod,service,ingress和endpoint。通過black-box和kube-apiserver的接口采集。
kubernetes-apiservers
該項(xiàng)主要是讓prometheus程序可以訪問kube-apiserver,進(jìn)而進(jìn)行服務(wù)發(fā)現(xiàn)??匆幌路?wù)發(fā)現(xiàn)的代碼可以看出,主要服務(wù)發(fā)現(xiàn):node,service,ingress,pod。
kubernetes-nodes
發(fā)現(xiàn)node以后,通過/api/v1/nodes/${1}/proxy/metrics來(lái)獲取node的metrics。
kubernetes-cadvisor
cadvisor已經(jīng)被集成在kubelet中,所以發(fā)現(xiàn)了node就相當(dāng)于發(fā)現(xiàn)了cadvisor。通過 /api/v1/nodes/${1}/proxy/metrics/cadvisor采集容器指標(biāo)。
kubernetes-services和kubernetes-ingresses
該兩種資源監(jiān)控方式差不多,都是需要安裝black-box,然后類似于探針去定時(shí)訪問,根據(jù)返回的http狀態(tài)碼來(lái)判定service和ingress的服務(wù)可用性。
kubernetes-pods
對(duì)于pod的監(jiān)測(cè)也是需要加注解:
prometheus.io/scrape,為true則會(huì)將pod作為監(jiān)控目標(biāo)。
prometheus.io/path,默認(rèn)為/metrics
prometheus.io/port , 端口
所以看到此處可以看出,該job并不是監(jiān)控pod的指標(biāo),pod已經(jīng)通過前面的cadvisor采集。此處是對(duì)pod中應(yīng)用的監(jiān)控。寫過exporter的人應(yīng)該對(duì)這個(gè)概念非常清楚。通俗講,就是你pod中的應(yīng)用提供了prometheus的監(jiān)控功能,加上對(duì)應(yīng)的注解,那么該應(yīng)用的metrics會(huì)定時(shí)被采集走。
kubernetes-service-endpoints
對(duì)于服務(wù)的終端節(jié)點(diǎn),也需要加注解:
prometheus.io/scrape,為true則會(huì)將pod作為監(jiān)控目標(biāo)。
prometheus.io/path,默認(rèn)為/metrics
prometheus.io/port , 端口
prometheus.io/scheme 默認(rèn)http,如果為了安全設(shè)置了https,此處需要改為https
這個(gè)基本上同上的。采集service-endpoints的metrics。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。