幾種 Docker 監(jiān)控工具對比

輕量級(jí)虛擬化容器 Docker,自發(fā)布以來便廣受業(yè)界關(guān)注云茸,在開源界和企業(yè)界掀起了一陣風(fēng)是目。Docker 容器相對于 VM 有以下幾個(gè)優(yōu)勢:啟動(dòng)速度快;資源利用率高标捺;性能開銷小懊纳。

幾種 Docker 監(jiān)控方法對比

從圖中可以看出 Docker 和 虛擬機(jī)的差異揉抵,虛擬機(jī)的 Guest OS 和 Hypervisor 層在 Docker 中被 Docker Engine 層所替代,Docker 有著比虛擬機(jī)更少的抽象層长踊。由于 Docker 不需要通過 Hypervisor 層實(shí)現(xiàn)硬件資源虛擬化功舀,運(yùn)行在 Docker 容器上的程序直接使用實(shí)際物理機(jī)的硬件資源。因此在 CPU身弊、內(nèi)存利用率上 Docker ?略勝一籌辟汰。Docker利用的是宿主機(jī)的內(nèi)核,而不需要 Guest OS阱佛,因此帖汞,當(dāng)新建一個(gè)容器時(shí),Docker 不需要和虛擬機(jī)一樣重新加載一個(gè)操作系統(tǒng)內(nèi)核凑术,因此新建一個(gè) Docker 容器只需要幾秒鐘翩蘸。

既然 Docker 這么火,那么問題來了淮逊,為了能夠更精確的分配每個(gè)容器能使用的資源催首,我們想要實(shí)時(shí)獲取容器運(yùn)行時(shí)使用資源的情況,怎樣對 Docker 上的應(yīng)用進(jìn)行監(jiān)控呢泄鹏?Docker 的結(jié)構(gòu)會(huì)不會(huì)加大監(jiān)控難度郎任?

我們都了解, container 相當(dāng)于小型 host备籽,可以說存在于 hosts 與應(yīng)用之間的監(jiān)控盲區(qū)舶治,無論是傳統(tǒng)的基礎(chǔ)組件監(jiān)控還是應(yīng)用性能監(jiān)控的方式,都很難有效地監(jiān)控 Docker车猬。了解了一下現(xiàn)有的 Docker 相關(guān)監(jiān)測 App 和服務(wù)霉猛,包括簡單的開源工具和復(fù)雜的企業(yè)整體解決方案,下面列舉幾種Docker 監(jiān)控工具作為參考:

1. cAdvisor

谷歌的 container introspection 解決方案是 cAdvisor珠闰,這是一個(gè) Docker 容器內(nèi)封裝的實(shí)用工具惜浅,能夠搜集、集料铸磅、處理和導(dǎo)出運(yùn)行中的容器的信息赡矢。通過它可以看到 CPU 的使用率、內(nèi)存使用率阅仔、網(wǎng)絡(luò)吞吐量以及磁盤空間利用率吹散。然后,你可以通過點(diǎn)擊在網(wǎng)頁頂部的 Docker Containers 鏈接八酒,然后選擇某個(gè)容器來詳細(xì)了解它的使用情況空民。cAdvisor 部署和使用簡單,但它只可以監(jiān)視在同一個(gè) host 上運(yùn)行的容器,對多節(jié)點(diǎn)部署不是太管用界轩。

2. Cloud Insight

在我們列舉的幾個(gè)監(jiān)控 Docker 的服務(wù)或平臺(tái)中画饥,這是唯一一款國內(nèi)產(chǎn)品。Cloud Insight 支持多種操作系統(tǒng)浊猾、云主機(jī)抖甘、數(shù)據(jù)庫和中間件的監(jiān)控,原理是在平臺(tái)服務(wù)儀表盤和自定義儀表盤中葫慎,采集并處理 Metric衔彻,對數(shù)據(jù)進(jìn)行聚合與分組等計(jì)算,提供曲線圖偷办、柱狀圖等多樣化的展現(xiàn)形式艰额。優(yōu)點(diǎn)是監(jiān)控的指標(biāo)很全,簡單易用椒涯,但目前正式版還未上線柄沮,可以期待一下。

3. Scout

Scout 是一款監(jiān)視服務(wù)废岂,并不是一個(gè)獨(dú)立的開源項(xiàng)目祖搓。它有大量的插件,除了 Docker 信息還可以吸收其他有關(guān)部署的數(shù)據(jù)湖苞。因此 Scout 算是一站式監(jiān)控系統(tǒng)棕硫,無需對系統(tǒng)的各種資源來安裝各種不同的監(jiān)控系統(tǒng)。 Scout 的一個(gè)缺點(diǎn)是袒啼,它不顯示有關(guān)每個(gè)主機(jī)上單獨(dú)容器的詳細(xì)信息。此外纬纪,每個(gè)監(jiān)控的主機(jī)十美元這樣略微昂貴的價(jià)格也是是否選擇 Scout 作為監(jiān)控服務(wù)?的一個(gè)考慮因素蚓再,如果運(yùn)行一個(gè)有多臺(tái)主機(jī)的超大部署,成本會(huì)比較高包各。

4. Sematext

Sematext 也是一款付費(fèi)監(jiān)控解決方案摘仅,計(jì)劃收費(fèi)方案是3.5美分/小時(shí)。同樣也支持 Docker 監(jiān)控问畅,還包括對容器級(jí)事件的監(jiān)測(停止娃属、開始等等)和管理容器產(chǎn)生的日志。

時(shí)間關(guān)系我們選擇了其中安裝最簡單的 Cloud Insight 來試驗(yàn)監(jiān)控基于 Docker 的一個(gè)應(yīng)用——Acme 的運(yùn)行情況护姆,后期時(shí)間允許會(huì)將其他幾種監(jiān)控方式都試一遍矾端。

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

單方面監(jiān)控 Docker 可能并不太適合與業(yè)務(wù)掛鉤的應(yīng)用,當(dāng)業(yè)務(wù)量上漲卵皂,不單單是 Docker 的負(fù)載上升秩铆,其他 JVM 指標(biāo)也能也會(huì)出現(xiàn)上升的趨勢。

我們嘗試使用一個(gè)支持比較多中間件、數(shù)據(jù)庫殴玛、操作系統(tǒng)捅膘、容器的 Cloud Insight 來說明這個(gè)實(shí)際的場景。

Cloud Insight

Cloud Insight 由于是一個(gè) SaaS 監(jiān)控方案滚粟,相對來說它的安裝和部署都比較簡單寻仗。在這次監(jiān)控實(shí)戰(zhàn)中,我們以 AcmeAir 為實(shí)驗(yàn)對象:一個(gè)可以模擬壓力的電子商務(wù)類應(yīng)用凡壤。

AcmeAir 是一款由原 IBM 新技術(shù)架構(gòu)部資深工程師 Andrew Spyker署尤,利用 Netflix 開源的 Netflix OSS 打造的開源電子商務(wù)應(yīng)用。此應(yīng)用具有如下特性:

  1. 模擬提供航班訂票服務(wù)鲤遥。用戶可以通過移動(dòng)設(shè)備或者 web 瀏覽器沐寺,完成新用戶注冊,用戶登錄盖奈,航班查詢混坞,訂票等操作。
  2. AcmeAir 融入了 Docker钢坦,微服務(wù)架構(gòu)等理念究孕。并采用 Tomcat、Node.js爹凹、WebSphere Application Server厨诸、WebSphere Extreme Scale、MongoDB禾酱、Cassandra 分別打造了不同版本的實(shí)現(xiàn)微酬。
  3. AcmeAir 利用 JMeter 模擬用戶行為〔眨可通過動(dòng)態(tài)調(diào)整用戶數(shù)量颗管,模擬產(chǎn)生各種壓力的事物流量。并可在應(yīng)用中預(yù)先植入錯(cuò)誤代碼滓走,模擬各種故障場景垦江。該應(yīng)用可做為壓力測試,終端用戶體驗(yàn)異常檢測搅方,故障診斷等各種測試場景的測試用例比吭。
幾種 Docker 監(jiān)控方法對比

首先,我們要打開 Cloud Insight 監(jiān)控姨涡,還好 Cloud Insight 安裝簡單衩藤,一條命令即可。接著绣溜,我們新建一個(gè)用于此次監(jiān)控的儀表盤慷彤,依次將想要獲取的指標(biāo)統(tǒng)統(tǒng)添加進(jìn)去。比如,選中 jvm.non_heap_memory 這個(gè)指標(biāo)底哗,選擇按照 instance 分組岁诉。

我們添加以下指標(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)用加壓涕癣。

幾種 Docker 監(jiān)控方法對比

當(dāng) users 人數(shù)達(dá)到 188 時(shí)塑煎,我們再來看一下儀表盤的視圖袖牙。

幾種 Docker 監(jiān)控方法對比

從圖中可以看到牛隅,性能數(shù)據(jù)發(fā)生了變化仗哨,根據(jù) JMeter 里的數(shù)據(jù),此時(shí) CPU 占用超過了50%业稼,錯(cuò)誤率也有所提升突倍;對比來看妖滔,根據(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)簡單易懂的震鹉,對這個(gè)產(chǎn)品可以期待一下。

Cloud Insight 集監(jiān)控捆姜、管理足陨、計(jì)算、協(xié)作娇未、可視化于一身,幫助所有 IT 公司星虹,減少在系統(tǒng)監(jiān)控上的人力和時(shí)間成本投入零抬,讓運(yùn)維工作更加高效、簡單宽涌。想閱讀更多技術(shù)文章平夜,請?jiān)L問 OneAPM 官方博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卸亮,一起剝皮案震驚了整個(gè)濱河市忽妒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖段直,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吃溅,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸯檬,警方通過查閱死者的電腦和手機(jī)决侈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喧务,“玉大人赖歌,你說我怎么就攤上這事」睿” “怎么了庐冯?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長坎穿。 經(jīng)常有香客問我展父,道長,這世上最難降的妖魔是什么赁酝? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任犯祠,我火速辦了婚禮,結(jié)果婚禮上酌呆,老公的妹妹穿的比我還像新娘衡载。我一直安慰自己,他們只是感情好隙袁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布痰娱。 她就那樣靜靜地躺著,像睡著了一般菩收。 火紅的嫁衣襯著肌膚如雪梨睁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天娜饵,我揣著相機(jī)與錄音坡贺,去河邊找鬼。 笑死箱舞,一個(gè)胖子當(dāng)著我的面吹牛遍坟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晴股,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼愿伴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了电湘?” 一聲冷哼從身側(cè)響起隔节,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鹅经,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后怎诫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瘾晃,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年刽虹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了酗捌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡涌哲,死狀恐怖胖缤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情阀圾,我是刑警寧澤哪廓,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站初烘,受9級(jí)特大地震影響涡真,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肾筐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一哆料、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧吗铐,春花似錦东亦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至镊逝,卻和暖如春壮啊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背撑蒜。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工歹啼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人座菠。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓染突,卻偏偏與公主長得像,于是被迫代替她去往敵國和親辈灼。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 如今也榄,越來越多的公司開始使用 Docker 了巡莹,現(xiàn)在來給大家看幾組數(shù)據(jù): 2 / 3 的公司在嘗試了 Docker...
    OneAPM閱讀 1,524評論 0 15
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理司志,服務(wù)發(fā)現(xiàn),斷路器降宅,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • 如今骂远,越來越多的公司開始使用 Docker 了,2 / 3 的公司在嘗試了 Docker 后最終使用了它腰根。為了能夠...
    OneAPM閱讀 944評論 0 3
  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件激才?Google Compute Engi...
    ahohoho閱讀 15,534評論 15 147
  • 寫這篇文章主要是為了今后畢業(yè)論文素材上的整理,同時(shí)對docker進(jìn)行鞏固溫習(xí)额嘿。大綱: docker簡介docker...
    胡圖仙人閱讀 7,435評論 2 96