亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Docker 監(jiān)控- Prometheus VS Cloud Insight

liuyix / 2084人閱讀

摘要:由發(fā)明,適合于監(jiān)控基于容器的基礎(chǔ)架構(gòu)。有關(guān)其數(shù)據(jù)聚合的功能可以閱讀數(shù)據(jù)聚合分組新一代系統(tǒng)監(jiān)控的核心功能。所抓取的性能指標(biāo)算是較為全面,部署和展現(xiàn)方式都是相當(dāng)簡單易懂的。

如今,越來越多的公司開始使用 Docker 了,2 / 3 的公司在嘗試了 Docker 后最終使用了它。為了能夠更精確的分配每個(gè)容器能使用的資源,我們想要實(shí)時(shí)獲取容器運(yùn)行時(shí)使用資源的情況,怎樣對(duì) Docker 上的應(yīng)用進(jìn)行監(jiān)控呢?Docker 的結(jié)構(gòu)會(huì)不會(huì)加大監(jiān)控難度?

可是在沒有專業(yè)運(yùn)維團(tuán)隊(duì)來監(jiān)控 Docker 的情況下,并且還想加快 Docker 監(jiān)控的日程,怎么辦呢?

我們通過調(diào)查了解到幾種不錯(cuò)的 Docker 監(jiān)控方法,其中 Prometheus 和 Cloud Insight 讓人很感興趣。

Prometheis

先來說說一套開源的 Docker 監(jiān)控方案:Prometheus;而此篇文字的原文地址:Monitor Docker Containers with Prometheus。

Prometheus 由 SoundCloud 發(fā)明,適合于監(jiān)控基于容器的基礎(chǔ)架構(gòu)。Prometheus 特點(diǎn)是高維度數(shù)據(jù)模型,時(shí)間序列是通過一個(gè)度量值名字和一套鍵值對(duì)識(shí)別。靈活的查詢語言允許查詢和繪制數(shù)據(jù)。它采用了先進(jìn)的度量標(biāo)準(zhǔn)類型像匯總(summaries),從指定時(shí)間跨度的總數(shù)構(gòu)建比率或者是在任何異常的時(shí)候報(bào)警并且沒有任何依賴,中斷期間使它成為一個(gè)可靠的系統(tǒng)進(jìn)行調(diào)試。

Prometheus 支持維度數(shù)據(jù),你可以擁有全局和簡單的指標(biāo)名像 container_memory_usage_bytes ,使用多個(gè)維度來標(biāo)識(shí)你服務(wù)的指定實(shí)例。

我已經(jīng)創(chuàng)建了一個(gè)簡單的 container-exporter 來收集 Docker 容器的指標(biāo)以及輸出給 Prometheus 來消費(fèi)。這個(gè)輸出器使用容器的名字,id 和 鏡像作為維度。額外的 per-exporter 維度可以在 prometheus.conf 中設(shè)置。

如果你使用指標(biāo)名字直接作為一個(gè)查詢表達(dá)式,它將返回有這個(gè)使用這個(gè)指標(biāo)名字作為標(biāo)簽的所有時(shí)間序列。

container_memory_usage_bytes{env="prod",id="23f731ee29ae12fef1ef6726e2fce60e5e37342ee9e35cb47e3c7a24422f9e88",instance="http://1.2.3.4:9088/metrics",job="container-exporter",name="haproxy-exporter-int",image="prom/haproxy-exporter:latest"}    11468800.000000`  

container_memory_usage_bytes{env="prod",id="57690ddfd3bb954d59b2d9dcd7379b308fbe999bce057951aa3d45211c0b5f8c",instance="http://1.2.3.5:9088/metrics",job="container-exporter",name="haproxy-exporter",image="prom/haproxy-exporter:latest"}    16809984.000000` 

container_memory_usage_bytes{env="prod",id="907ac267ebb3299af08a276e4ea6fd7bf3cb26632889d9394900adc832a302b4",instance="http://1.2.3.2:9088/metrics",job="container-exporter",name="node-exporter",image="prom/container-exporter:latest"}  `

...
...

如果你運(yùn)行了許多容器,這個(gè)看起來像這樣:

為了幫助你使得這數(shù)據(jù)更有意義,你可以過濾(filter) and/or 聚合(aggregate) 這些指標(biāo)。

使用 Prometheus 的查詢語言,你可以對(duì)你想的任何維度的數(shù)據(jù)切片和切塊。如果你對(duì)一個(gè)給定名字的所有容器感興趣,你可以使用一個(gè)表達(dá)式像 container_memory_usage_bytes{name="consul-server"},這個(gè)將僅僅顯示 name == "consul-server" 的時(shí)間序列。

像多維度的數(shù)據(jù)模型,來實(shí)現(xiàn)數(shù)據(jù)聚合、分組、過濾,不單單是 Prometheus。OpenTSDB 和 InfluxDB 這些時(shí)間序列數(shù)據(jù)庫和系統(tǒng)監(jiān)控工具的結(jié)合,讓系統(tǒng)監(jiān)控這件事情變得更加的多元。

接下來,我們?yōu)榇蠹医榻B國內(nèi)一家同樣提供該功能的監(jiān)控方案:Cloud Insight。有關(guān)其數(shù)據(jù)聚合的功能可以閱讀:數(shù)據(jù)聚合 & 分組:新一代系統(tǒng)監(jiān)控的核心功能。

現(xiàn)在我們來對(duì)比 Prometheus 和 Cloud Insight 在數(shù)據(jù)聚合、分組(切片)上的展現(xiàn)效果和功能。

數(shù)據(jù)聚合

根據(jù)不同的 Container Name 或 Image Name 對(duì)內(nèi)存使用量或 Memeory Cache 進(jìn)行聚合。

數(shù)據(jù)分組(切片)

根據(jù)不同的 Container Name 或 Image Name 對(duì)內(nèi)存使用量或 Memeory Cache進(jìn)行分組(切片)。

Cloud Insight

Cloud Insight 支持多種操作系統(tǒng)、云主機(jī)、數(shù)據(jù)庫和中間件的監(jiān)控,原理是在平臺(tái)服務(wù)儀表盤和自定義儀表盤中,采集并處理 Metric,對(duì)數(shù)據(jù)進(jìn)行聚合與分組等計(jì)算,提供曲線圖、柱狀圖等多樣化的展現(xiàn)形式。優(yōu)點(diǎn)是監(jiān)控的指標(biāo)很全,簡單易用,也可以期待一下。

Cloud Insight 監(jiān)控 Docker 試驗(yàn)

我們用 AcmeAir 作為試驗(yàn)的應(yīng)用,AcmeAir 是一款由原 IBM 新技術(shù)架構(gòu)部資深工程師 Andrew Spyker,利用 Netflix 開源的 Netflix OSS 打造的開源電子商務(wù)應(yīng)用。

首先,我們要打開 Cloud Insight 監(jiān)控,還好 Cloud Insight 安裝簡單,一條命令即可。接著,我們新建一個(gè)用于此次監(jiān)控的儀表盤,依次將想要獲取的指標(biāo)統(tǒng)統(tǒng)添加進(jìn)去。

我們添加了以下指標(biāo):

docker.cpu.user

docker.cpu.sysytem

docker.containers.running

jvm.heap_memory

jvm.non_heap_memory

jvm.gc.cms.count

jvm.heap_memory_max

jvm.gc.parnew.time

應(yīng)用 Acme 部署在四臺(tái) servers 上,我們開啟四臺(tái) servers, 然后用 JMeter 給應(yīng)用加壓。

隨著時(shí)間 JMeter 不斷給應(yīng)用加壓,當(dāng) users 人數(shù)達(dá)到188時(shí),我們?cè)賮砜匆幌聝x表盤的視圖。

從圖中可以看到,性能數(shù)據(jù)發(fā)生了變化,根據(jù) JMeter 里的數(shù)據(jù),此時(shí) CPU 占用超過了50%,錯(cuò)誤率也有所提升;對(duì)比來看,根據(jù) Cloud Insight 里的曲線顯示,藍(lán)色的線所代表的 Container CPU 占用率已經(jīng)超過50%,逐漸接近75%,系統(tǒng)剩余的 CPU 資源逐漸下降,該 Container 的系統(tǒng) CPU 資源消耗也突然增大。我們可以通過這些定位到 CPU 占用率過高的 Container ,及時(shí)而主動(dòng)地去了解性能瓶頸,從而優(yōu)化性能,合理分配資源。Cloud Insight 所抓取的性能指標(biāo)算是較為全面,部署和展現(xiàn)方式都是相當(dāng)簡單易懂的。

總結(jié)

Docker 兼容相比其他的數(shù)據(jù)庫、系統(tǒng)、中間件監(jiān)控,要復(fù)雜一些。由于需要表征不同 Container 的性能消耗,來了解不同應(yīng)用的運(yùn)行情況,所以數(shù)據(jù)的聚合、切片(分組)和過濾,在 Docker 監(jiān)控中成為了必備功能。

所以我們推薦使用了時(shí)間序列數(shù)據(jù)庫,或者類似設(shè)計(jì)邏輯的監(jiān)控方案,如:Prometheus 和 Cloud Insight。

而 Docker 單方面的監(jiān)控,可能不太滿足一些大型公司的需求,如果一個(gè)工具在監(jiān)控 Docker 同時(shí)能夠監(jiān)控其他組件,那就更好了。

國外出現(xiàn)了 Graphite、Grafana 和 Host Graphite,能夠讓用戶將不同數(shù)據(jù)來源都集中在同一個(gè)地方進(jìn)行展現(xiàn);而國內(nèi) Cloud Insight 似乎也是這樣的思路。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/26500.html

相關(guān)文章

  • Docker 監(jiān)控實(shí)戰(zhàn)

    摘要:監(jiān)控告警是運(yùn)營系統(tǒng)最核心的功能之一,騰訊內(nèi)部有一套很成熟的監(jiān)控告警平臺(tái),而且開發(fā)運(yùn)維同學(xué)已經(jīng)習(xí)慣這套平臺(tái),如果我們針對(duì)容器再開發(fā)一個(gè)監(jiān)控告警平臺(tái),會(huì)花費(fèi)很多精力,而且沒有太大的意義。也是一款付費(fèi)監(jiān)控解決方案,計(jì)劃收費(fèi)方案是美分小時(shí)。 如今,越來越多的公司開始使用 Docker 了,現(xiàn)在來給大家看幾組數(shù)據(jù): 2 / 3 的公司在嘗試了 Docker 后最終使用了它 也就是說 Docker...

    william 評(píng)論0 收藏0
  • 斌哥的 Docker 進(jìn)階指南—監(jiān)控方案的實(shí)現(xiàn)

    摘要:本文轉(zhuǎn)自劉斌博文如何選擇監(jiān)控方案,文中劉斌從技術(shù)的角度深入解釋了監(jiān)控的數(shù)據(jù)采集原理,介紹了現(xiàn)有開源的監(jiān)控方案,以及能夠?qū)M(jìn)行監(jiān)控功能的主流服務(wù)工具。下一章,劉斌將為大家介紹監(jiān)控的開原方案,主流服務(wù),及其特點(diǎn)。 過去的一年中,關(guān)于 Docker 的話題從未斷過,而如今,從嘗試 Docker 到最終決定使用 Docker 的轉(zhuǎn)化率依然在逐步升高,關(guān)于 Docker 的討論更是有增無減。另一...

    X_AirDu 評(píng)論0 收藏0
  • 用 OneAPM Cloud Insight 監(jiān)控 Docker 性能

    摘要:雖然這是監(jiān)測最簡單的方法,但之后我們還會(huì)提供在容器中監(jiān)控所有運(yùn)行的軟件的探針版本,敬請(qǐng)期待。儀表盤通過標(biāo)簽訂制指標(biāo)在中,您可以在自定義儀表盤中基于一個(gè)或多個(gè)標(biāo)簽來顯示指標(biāo)。報(bào)警在定義跨越集群容器的警報(bào)是非常有用的。 Docker 是構(gòu)建和部署軟件的一個(gè)新興的輕量級(jí)的平臺(tái),也是一個(gè)減輕替代虛擬機(jī)的容器。Docker 通過給開發(fā)者提供兼容不同環(huán)境的鏡像,成為解決現(xiàn)代基礎(chǔ)設(shè)施的持續(xù)交付的一個(gè)...

    leon 評(píng)論0 收藏0
  • 幾種 Docker 監(jiān)控工具對(duì)比

    摘要:在我們列舉的幾個(gè)監(jiān)控的服務(wù)或平臺(tái)中,這是唯一一款國內(nèi)產(chǎn)品。也是一款付費(fèi)監(jiān)控解決方案,計(jì)劃收費(fèi)方案是美分小時(shí)。同樣也支持監(jiān)控,還包括對(duì)容器級(jí)事件的監(jiān)測停止開始等等和管理容器產(chǎn)生的日志。由于是一個(gè)監(jiān)控方案,相對(duì)來說它的安裝和部署都比較簡單。 輕量級(jí)虛擬化容器 Docker,自發(fā)布以來便廣受業(yè)界關(guān)注,在開源界和企業(yè)界掀起了一陣風(fēng)。Docker 容器相對(duì)于 VM 有以下幾個(gè)優(yōu)勢(shì):啟動(dòng)速度快;資...

    張春雷 評(píng)論0 收藏0
  • 運(yùn)維 2.0 時(shí)代:數(shù)據(jù)聚合和分組

    摘要:靈活查詢,聚合分組并存除開單純的聚合和分組,還支持聚合和分組的復(fù)合查詢。所以,與會(huì)聚合為一條曲線,而和的關(guān)系則是分組的關(guān)系。當(dāng)然,的功能在未來,還遠(yuǎn)遠(yuǎn)不止這些,高效運(yùn)維的時(shí)代才剛剛開啟。 運(yùn)維 2.0 時(shí)代 運(yùn)維 2.0 是指,從技術(shù)運(yùn)維升級(jí)為服務(wù)運(yùn)維,向公司提供可依賴的專業(yè)服務(wù)。運(yùn)維 2.0 強(qiáng)調(diào)服務(wù)交付能力,而不是技術(shù)能力,需求可依賴、懂業(yè)務(wù)、服務(wù)化的專業(yè)運(yùn)維。 為了了解運(yùn)維 2....

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

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

0條評(píng)論

liuyix

|高級(jí)講師

TA的文章

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