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

資訊專欄INFORMATION COLUMN

Docker 監控- Prometheus VS Cloud Insight

liuyix / 2037人閱讀

摘要:由發明,適合于監控基于容器的基礎架構。有關其數據聚合的功能可以閱讀數據聚合分組新一代系統監控的核心功能。所抓取的性能指標算是較為全面,部署和展現方式都是相當簡單易懂的。

如今,越來越多的公司開始使用 Docker 了,2 / 3 的公司在嘗試了 Docker 后最終使用了它。為了能夠更精確的分配每個容器能使用的資源,我們想要實時獲取容器運行時使用資源的情況,怎樣對 Docker 上的應用進行監控呢?Docker 的結構會不會加大監控難度?

可是在沒有專業運維團隊來監控 Docker 的情況下,并且還想加快 Docker 監控的日程,怎么辦呢?

我們通過調查了解到幾種不錯的 Docker 監控方法,其中 Prometheus 和 Cloud Insight 讓人很感興趣。

Prometheis

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

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

Prometheus 支持維度數據,你可以擁有全局和簡單的指標名像 container_memory_usage_bytes ,使用多個維度來標識你服務的指定實例。

我已經創建了一個簡單的 container-exporter 來收集 Docker 容器的指標以及輸出給 Prometheus 來消費。這個輸出器使用容器的名字,id 和 鏡像作為維度。額外的 per-exporter 維度可以在 prometheus.conf 中設置。

如果你使用指標名字直接作為一個查詢表達式,它將返回有這個使用這個指標名字作為標簽的所有時間序列。

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"}  `

...
...

如果你運行了許多容器,這個看起來像這樣:

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

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

像多維度的數據模型,來實現數據聚合、分組、過濾,不單單是 Prometheus。OpenTSDB 和 InfluxDB 這些時間序列數據庫和系統監控工具的結合,讓系統監控這件事情變得更加的多元。

接下來,我們為大家介紹國內一家同樣提供該功能的監控方案:Cloud Insight。有關其數據聚合的功能可以閱讀:數據聚合 & 分組:新一代系統監控的核心功能。

現在我們來對比 Prometheus 和 Cloud Insight 在數據聚合、分組(切片)上的展現效果和功能。

數據聚合

根據不同的 Container Name 或 Image Name 對內存使用量或 Memeory Cache 進行聚合。

數據分組(切片)

根據不同的 Container Name 或 Image Name 對內存使用量或 Memeory Cache進行分組(切片)。

Cloud Insight

Cloud Insight 支持多種操作系統、云主機、數據庫和中間件的監控,原理是在平臺服務儀表盤和自定義儀表盤中,采集并處理 Metric,對數據進行聚合與分組等計算,提供曲線圖、柱狀圖等多樣化的展現形式。優點是監控的指標很全,簡單易用,也可以期待一下。

Cloud Insight 監控 Docker 試驗

我們用 AcmeAir 作為試驗的應用,AcmeAir 是一款由原 IBM 新技術架構部資深工程師 Andrew Spyker,利用 Netflix 開源的 Netflix OSS 打造的開源電子商務應用。

首先,我們要打開 Cloud Insight 監控,還好 Cloud Insight 安裝簡單,一條命令即可。接著,我們新建一個用于此次監控的儀表盤,依次將想要獲取的指標統統添加進去。

我們添加了以下指標:

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

應用 Acme 部署在四臺 servers 上,我們開啟四臺 servers, 然后用 JMeter 給應用加壓。

隨著時間 JMeter 不斷給應用加壓,當 users 人數達到188時,我們再來看一下儀表盤的視圖。

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

總結

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

所以我們推薦使用了時間序列數據庫,或者類似設計邏輯的監控方案,如:Prometheus 和 Cloud Insight。

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

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26500.html

相關文章

  • Docker 監控實戰

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

    william 評論0 收藏0
  • 斌哥的 Docker 進階指南—監控方案的實現

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

    X_AirDu 評論0 收藏0
  • 用 OneAPM Cloud Insight 監控 Docker 性能

    摘要:雖然這是監測最簡單的方法,但之后我們還會提供在容器中監控所有運行的軟件的探針版本,敬請期待。儀表盤通過標簽訂制指標在中,您可以在自定義儀表盤中基于一個或多個標簽來顯示指標。報警在定義跨越集群容器的警報是非常有用的。 Docker 是構建和部署軟件的一個新興的輕量級的平臺,也是一個減輕替代虛擬機的容器。Docker 通過給開發者提供兼容不同環境的鏡像,成為解決現代基礎設施的持續交付的一個...

    leon 評論0 收藏0
  • 幾種 Docker 監控工具對比

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

    張春雷 評論0 收藏0
  • 運維 2.0 時代:數據聚合和分組

    摘要:靈活查詢,聚合分組并存除開單純的聚合和分組,還支持聚合和分組的復合查詢。所以,與會聚合為一條曲線,而和的關系則是分組的關系。當然,的功能在未來,還遠遠不止這些,高效運維的時代才剛剛開啟。 運維 2.0 時代 運維 2.0 是指,從技術運維升級為服務運維,向公司提供可依賴的專業服務。運維 2.0 強調服務交付能力,而不是技術能力,需求可依賴、懂業務、服務化的專業運維。 為了了解運維 2....

    skinner 評論0 收藏0

發表評論

0條評論

liuyix

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<