国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

容器監(jiān)控實(shí)踐—Prometheus基本架構(gòu)

elina / 2380人閱讀

摘要:根據(jù)配置文件,對(duì)接收到的警報(bào)進(jìn)行處理,發(fā)出告警。在默認(rèn)情況下,用戶(hù)只需要部署多套,采集相同的即可實(shí)現(xiàn)基本的。通過(guò)將監(jiān)控與數(shù)據(jù)分離,能夠更好地進(jìn)行彈性擴(kuò)展。參考文檔本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見(jiàn)

系統(tǒng)架構(gòu)圖

1.x版本的Prometheus的架構(gòu)圖為:

目前Prometheus版本為2.7,架構(gòu)圖為:

Prometheus從exporter拉取數(shù)據(jù),或者間接地通過(guò)網(wǎng)關(guān)gateway拉取數(shù)據(jù)(如果在k8s內(nèi)部署,可以使用服務(wù)發(fā)現(xiàn)的方式),它默認(rèn)本地存儲(chǔ)抓取的所有數(shù)據(jù),并通過(guò)一定規(guī)則進(jìn)行清理和整理數(shù)據(jù),并把得到的結(jié)果存儲(chǔ)到新的時(shí)間序列中,采集到的數(shù)據(jù)有兩個(gè)去向,一個(gè)是報(bào)警,另一個(gè)是可視化。PromQL和其他API可視化地展示收集的數(shù)據(jù),并通過(guò)Alertmanager提供報(bào)警能力。

組件內(nèi)容

Prometheus Server
負(fù)責(zé)從 Exporter 拉取和存儲(chǔ)監(jiān)控?cái)?shù)據(jù),并提供一套靈活的查詢(xún)語(yǔ)言(PromQL)

Retrieval: 采樣模塊

TSDB: 存儲(chǔ)模塊默認(rèn)本地存儲(chǔ)為tsdb

HTTP Server: 提供http接口查詢(xún)和面板,默認(rèn)端口為9090

Exporters/Jobs

負(fù)責(zé)收集目標(biāo)對(duì)象(host, container…)的性能數(shù)據(jù),并通過(guò) HTTP 接口供 Prometheus Server 獲取。支持?jǐn)?shù)據(jù)庫(kù)、硬件、消息中間件、存儲(chǔ)系統(tǒng)、http服務(wù)器、jmx等。只要符合接口格式,就可以被采集。

Short-lived jobs

瞬時(shí)任務(wù)的場(chǎng)景,無(wú)法通過(guò)pull方式拉取,需要使用push方式,與PushGateway搭配使用

PushGateway

可選組件,主要用于短期的 jobs。由于這類(lèi) jobs 存在時(shí)間較短,可能在 Prometheus 來(lái) pull 之前就消失了。為此,這次 jobs 可以直接向 Prometheus server 端推送它們的 metrics。這種方式主要用于服務(wù)層面的 metrics,對(duì)于機(jī)器層面的 metrices,需要使用 node exporter。

客戶(hù)端sdk

官方提供的客戶(hù)端類(lèi)庫(kù)有g(shù)o、java、scala、python、ruby,其他還有很多第三方開(kāi)發(fā)的類(lèi)庫(kù),支持nodejs、php、erlang等

PromDash

使用rails開(kāi)發(fā)的dashboard,用于可視化指標(biāo)數(shù)據(jù),已廢棄

Alertmanager

從 Prometheus server 端接收到 alerts 后,會(huì)進(jìn)行去除重復(fù)數(shù)據(jù),分組,并路由到對(duì)收的接受方式,發(fā)出報(bào)警。常見(jiàn)的接收方式有:電子郵件,pagerduty,OpsGenie, webhook 等。

Service Discovery

服務(wù)發(fā)現(xiàn),Prometheus支持多種服務(wù)發(fā)現(xiàn)機(jī)制:文件,DNS,Consul,Kubernetes,OpenStack,EC2等等。基于服務(wù)發(fā)現(xiàn)的過(guò)程并不復(fù)雜,通過(guò)第三方提供的接口,Prometheus查詢(xún)到需要監(jiān)控的Target列表,然后輪訓(xùn)這些Target獲取監(jiān)控?cái)?shù)據(jù)。

其大概的工作流程是:

Prometheus server 定期從配置好的 jobs 或者 exporters 中拉 metrics,或者接收來(lái)自 Pushgateway 發(fā)過(guò)來(lái)的 metrics,或者從其他的 Prometheus server 中拉 metrics。

Prometheus server 在本地存儲(chǔ)收集到的 metrics,并運(yùn)行已定義好的 alert.rules,記錄新的時(shí)間序列或者向 Alertmanager 推送警報(bào)。

Alertmanager 根據(jù)配置文件,對(duì)接收到的警報(bào)進(jìn)行處理,發(fā)出告警。

在圖形界面中,可視化采集數(shù)據(jù)。

關(guān)于Push與Pull

Prometheus采集數(shù)據(jù)是用的pull也就是拉模型,通過(guò)HTTP協(xié)議去采集指標(biāo),只要應(yīng)用系統(tǒng)能夠提供HTTP接口就可以接入監(jiān)控系統(tǒng),相比于私有協(xié)議或二進(jìn)制協(xié)議來(lái)說(shuō)開(kāi)發(fā)、簡(jiǎn)單。優(yōu)點(diǎn)主要是:

開(kāi)發(fā)任何新功能,你甚至可以在電腦上查看你的監(jiān)控

如果目標(biāo)實(shí)例掛掉,你可以很快知道

你可以手動(dòng)指定目標(biāo)實(shí)例,并且在瀏覽器中查看他的健康狀態(tài)

總體來(lái)說(shuō),Pull模式比Push模式更好一些,在監(jiān)控系統(tǒng)中這也不是一個(gè)很重要的點(diǎn)。
如果要使用push的方式,可以使用Pushgateway的方式,如定時(shí)任務(wù)的采集。

對(duì)于定時(shí)任務(wù)這種短周期的指標(biāo)采集,如果采用pull模式,可能造成任務(wù)結(jié)束了,Prometheus還沒(méi)有來(lái)得及采集,這個(gè)時(shí)候可以使用加一個(gè)中轉(zhuǎn)層,客戶(hù)端推數(shù)據(jù)到Push Gateway緩存一下,由Prometheus從push gateway pull指標(biāo)過(guò)來(lái)。(需要額外搭建Push Gateway,同時(shí)需要新增job去從gateway采數(shù)據(jù))

推的代表有 ElasticSearch,InfluxDB,OpenTSDB 等,需要你從程序中將指標(biāo)使用 TCP,UDP 等方式推送至相關(guān)監(jiān)控應(yīng)用,只是使用 TCP 的話(huà),一旦監(jiān)控應(yīng)用掛掉或存在瓶頸,容易對(duì)應(yīng)用本身產(chǎn)生影響,而使用 UDP 的話(huà),雖然不用擔(dān)心監(jiān)控應(yīng)用,但是容易丟數(shù)據(jù)。

拉的代表,主要代表就是 Prometheus,讓我們不用擔(dān)心監(jiān)控應(yīng)用本身的狀態(tài)。而且,可以利用 DNS-SRV 或者 Consul 等服務(wù)發(fā)現(xiàn)功能就可以自動(dòng)添加監(jiān)控。

當(dāng)然,InfluxDB 加上 collector,或者 ES 加上 metricbeat 也可以變?yōu)?『拉』,而 Prometheus 加上 Push Gateway 也可以變?yōu)?『推』。

更多區(qū)別可以參考下圖:

存儲(chǔ)機(jī)制

Prometheus有著非常高效的時(shí)間序列數(shù)據(jù)存儲(chǔ)方法,每個(gè)采樣數(shù)據(jù)僅僅占用3.5byte左右空間,上百萬(wàn)條時(shí)間序列,30秒間隔,保留60天,大概花了200多G(引用官方PPT)。

Prometheus內(nèi)部主要分為三大塊,Retrieval是負(fù)責(zé)定時(shí)去暴露的目標(biāo)頁(yè)面上去抓取采樣指標(biāo)數(shù)據(jù),Storage是負(fù)責(zé)將采樣數(shù)據(jù)寫(xiě)磁盤(pán),PromQL是Prometheus提供的查詢(xún)語(yǔ)言模塊。

Prometheus內(nèi)置了一個(gè)基于本地存儲(chǔ)的時(shí)間序列數(shù)據(jù)庫(kù)。在Prometheus設(shè)計(jì)上,使用本地存儲(chǔ)可以降低Prometheus部署和管理的復(fù)雜度同時(shí)減少高可用(HA)帶來(lái)的復(fù)雜性。 在默認(rèn)情況下,用戶(hù)只需要部署多套Prometheus,采集相同的Targets即可實(shí)現(xiàn)基本的HA。同時(shí)由于Promethus高效的數(shù)據(jù)處理能力,單個(gè)Prometheus Server基本上能夠應(yīng)對(duì)大部分用戶(hù)監(jiān)控規(guī)模的需求。

同時(shí)為了適應(yīng)數(shù)據(jù)持久化的問(wèn)題,Prometheus提供了remote_write和remote_read的特性,支持將數(shù)據(jù)存儲(chǔ)到遠(yuǎn)端和從遠(yuǎn)端讀取數(shù)據(jù)。通過(guò)將監(jiān)控與數(shù)據(jù)分離,Prometheus能夠更好地進(jìn)行彈性擴(kuò)展。

關(guān)于存儲(chǔ)用量規(guī)劃:https://www.jianshu.com/p/934...
更多:Prometheus存儲(chǔ)機(jī)制詳解

https://yunlzheng.gitbook.io/...

https://www.cnblogs.com/vovli...

https://www.linuxidc.com/Linu...

https://segmentfault.com/a/11...

https://www.infoq.cn/article/...

關(guān)于日志處理

不建議將日志監(jiān)控放在Prometheus中,這不是他的專(zhuān)長(zhǎng),還是使用ELK或EFK的方式處理日志信息

競(jìng)品對(duì)比

參考: https://toutiao.io/posts/fsjq...

未來(lái)規(guī)劃

服務(wù)端度量指標(biāo)元數(shù)據(jù)支持
在度量指標(biāo)類(lèi)型和其他元數(shù)據(jù)僅僅在客戶(hù)庫(kù)和展示格式中使用,并不會(huì)在Prometheus服務(wù)中持久保留或者利用。將來(lái)我們計(jì)劃充分利用這些元數(shù)據(jù)。第一步是在Prometheus服務(wù)的內(nèi)存中聚合這些數(shù)據(jù),并開(kāi)放一些實(shí)驗(yàn)性的API來(lái)提供服務(wù)

支持OpenMetrics

OpenMetrics組開(kāi)放了一個(gè)新的監(jiān)控指標(biāo)暴露標(biāo)準(zhǔn),我們將支持這種標(biāo)準(zhǔn):https://openmetrics.io/

回溯時(shí)間序列

允許將過(guò)去一段時(shí)間的數(shù)據(jù)發(fā)送到其他的監(jiān)控系統(tǒng)

HTTP服務(wù)支持TLS安全認(rèn)證

當(dāng)前的Prometheus, Alertmanager和一些官方exporter,暴露服務(wù)時(shí),都不支持tls認(rèn)證,有很大的安全風(fēng)險(xiǎn),現(xiàn)在的實(shí)現(xiàn)都是基于反向代理,之后將內(nèi)置到組件中

支持子查詢(xún)

當(dāng)前的Promq不支持子查詢(xún),如max_over_time() of a rate()),后續(xù)將會(huì)支持

支持生態(tài)建設(shè)

Prometheus有很多的client庫(kù)和exporter,我們將會(huì)對(duì)其進(jìn)行規(guī)范和生態(tài)建設(shè)。

在K8S中使用

在之前的版本中,k8s默認(rèn)以及推薦的監(jiān)控體系是它自己的一套東西:Heapster + cAdvisor + Influxdb + Grafana,1.8后Heaspter由Metric-server替代。如果你部署了Dashboard,就能看到監(jiān)控?cái)?shù)據(jù)(來(lái)自heapster)

k8s 自身的 HPA (Horizontal Pod Autoscaler),默認(rèn)從 Heapster 中獲取數(shù)據(jù)進(jìn)行自動(dòng)伸縮

1.8版本以后,K8S希望將核心監(jiān)控指標(biāo)收攏到metric api的形式,而自定義監(jiān)控指標(biāo),由prometheus來(lái)實(shí)現(xiàn),prometheus正式成為k8s推薦的監(jiān)控實(shí)現(xiàn)方案。

參考文檔:

https://www.ibm.com/developer...

https://prometheus.io/docs/in...

https://www.kancloud.cn/cdh08...

https://yunlzheng.gitbook.io/...

本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見(jiàn):container-monitor-book

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/32897.html

相關(guān)文章

  • 容器監(jiān)控實(shí)踐Prometheus基本架構(gòu)

    摘要:根據(jù)配置文件,對(duì)接收到的警報(bào)進(jìn)行處理,發(fā)出告警。在默認(rèn)情況下,用戶(hù)只需要部署多套,采集相同的即可實(shí)現(xiàn)基本的。通過(guò)將監(jiān)控與數(shù)據(jù)分離,能夠更好地進(jìn)行彈性擴(kuò)展。參考文檔本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見(jiàn) 系統(tǒng)架構(gòu)圖 1.x版本的Prometheus的架構(gòu)圖為:showImg(https://segmentfault.com/img/remote/1460000018372350?w=14...

    gghyoo 評(píng)論0 收藏0
  • 拉勾網(wǎng)基于 UK8S平臺(tái)的容器化改造實(shí)踐

    摘要:宋體本文從拉勾網(wǎng)的業(yè)務(wù)架構(gòu)日志采集監(jiān)控服務(wù)暴露調(diào)用等方面介紹了其基于的容器化改造實(shí)踐。宋體此外,拉勾網(wǎng)還有一套自研的環(huán)境的業(yè)務(wù)發(fā)布系統(tǒng),不過(guò)這套發(fā)布系統(tǒng)未適配容器環(huán)境。寫(xiě)在前面 拉勾網(wǎng)于 2019 年 3 月份開(kāi)始嘗試將生產(chǎn)環(huán)境的業(yè)務(wù)從 UHost 遷移到 UK8S,截至 2019 年 9 月份,QA 環(huán)境的大部分業(yè)務(wù)模塊已經(jīng)完成容器化改造,生產(chǎn)環(huán)境中,后臺(tái)管理服務(wù)已全部遷移到 UK8...

    CoorChice 評(píng)論0 收藏0
  • 數(shù)人云工程師手記 | 容器日志管理實(shí)踐

    摘要:容器內(nèi)文件日志平臺(tái)支持的文件存儲(chǔ)是,避免了許多復(fù)雜環(huán)境的處理。以上是數(shù)人云在實(shí)踐容器日志系統(tǒng)過(guò)程中遇到的問(wèn)題,更高層次的應(yīng)用包括容器日志分析等,還有待繼續(xù)挖掘和填坑,歡迎大家提出建議,一起交流。 業(yè)務(wù)平臺(tái)每天產(chǎn)生大量日志數(shù)據(jù),為了實(shí)現(xiàn)數(shù)據(jù)分析,需要將生產(chǎn)服務(wù)器上的所有日志收集后進(jìn)行大數(shù)據(jù)分析處理,Docker提供了日志驅(qū)動(dòng),然而并不能滿(mǎn)足不同場(chǎng)景需求,本次將結(jié)合實(shí)例分享日志采集、存儲(chǔ)以...

    saucxs 評(píng)論0 收藏0
  • Prometheus監(jiān)控的最佳實(shí)踐——關(guān)于監(jiān)控的3項(xiàng)關(guān)鍵指標(biāo)

    摘要:本文將分享是為何以及如何開(kāi)發(fā)出最佳實(shí)踐方法來(lái)使用在中監(jiān)控應(yīng)用程序的。什么是監(jiān)控最近有很多關(guān)于的消息,尤其是在中監(jiān)控應(yīng)用程序這方面。方法遵循中提及的原則,聚焦于檢測(cè)最終用戶(hù)在使用服務(wù)時(shí)關(guān)心的東西。 本文來(lái)自Weaveworks的工程師Anita Burhrle在Rancher Labs與Weaveworks聯(lián)合舉辦的Online Meetup上的技術(shù)分享。在此次分享中,嘉賓們討論了如何使...

    tuantuan 評(píng)論0 收藏0
  • 容器監(jiān)控實(shí)踐—Heapster

    摘要:還可以把數(shù)據(jù)導(dǎo)入到第三方工具展示或使用場(chǎng)景共同組成了一個(gè)流行的監(jiān)控解決方案原生的監(jiān)控圖表信息來(lái)自在中也用到了,將作為,向其獲取,作為水平擴(kuò)縮容的監(jiān)控依據(jù)監(jiān)控指標(biāo)流程首先從獲取集群中所有的信息。 概述 該項(xiàng)目將被廢棄(RETIRED) Heapster是Kubernetes旗下的一個(gè)項(xiàng)目,Heapster是一個(gè)收集者,并不是采集 1.Heapster可以收集Node節(jié)點(diǎn)上的cAdvis...

    DDreach 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<