斌哥的 Docker 進(jìn)階指南—監(jiān)控方案的實(shí)現(xiàn)

過去的一年中,關(guān)于 Docker 的話題從未斷過,而如今,從嘗試 Docker 到最終決定使用 Docker 的轉(zhuǎn)化率依然在逐步升高屹蚊,關(guān)于 Docker 的討論更是有增無減。另一方面进每,大家的注意力也漸漸從 “Docker 是什么”轉(zhuǎn)移到“實(shí)踐 Docker”與“監(jiān)控 Docker”上汹粤。

本文轉(zhuǎn)自劉斌博文 「如何選擇 Docker 監(jiān)控方案 」 ,文中劉斌從技術(shù)的角度深入解釋了 Docker 監(jiān)控的數(shù)據(jù)采集原理品追,介紹了現(xiàn)有開源的監(jiān)控方案玄括,以及能夠?qū)?Docker 進(jìn)行監(jiān)控功能的主流 SaaS 服務(wù)工具。

上一篇文章中介紹了 Docker 監(jiān)控目的及技術(shù)基礎(chǔ)肉瓦,本篇文章將介紹遭京,Docker 監(jiān)控方案的實(shí)現(xiàn)。

Docker 監(jiān)控方案的實(shí)現(xiàn)

  • 自己動(dòng)手 + 開源軟件
  • SaaS

評(píng)價(jià)標(biāo)準(zhǔn)

  • 功能

    • 信息詳細(xì)程度

    • 查詢的靈活程度

    • 報(bào)警 + API

  • 靈活性

    • 定制
  • 成本

    • 學(xué)習(xí)泞莉、開發(fā)

    • 維護(hù)

  • 運(yùn)維

    • 部署復(fù)雜程度
  • 高可用

需要考慮的基本要素如上所示哪雕,不多述。

自己動(dòng)手

  • 靈活性強(qiáng)
  • 成本高

這里的成本包括開發(fā)成本鲫趁,開發(fā)成本可能包括招人和培訓(xùn)斯嚎,開發(fā)時(shí)間和填坑時(shí)間。開發(fā)完了還需要維護(hù)成本,而且隨著Docker的升級(jí)堡僻,可能還需要對(duì)metric的采集實(shí)現(xiàn)進(jìn)行升級(jí)糠惫,以及各種bugfix。

自己動(dòng)手打造監(jiān)控方案

  • 采集
  • 存儲(chǔ)
  • 展示
  • 報(bào)警(動(dòng)作)

StatsD 是 Flickr 公司首先提出來的钉疫,后來由 Esty 公司發(fā)揚(yáng)光大的一個(gè)輕量級(jí)的指標(biāo)采集模塊硼讽。

簡(jiǎn)單來講,StatsD 就是一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)守護(hù)進(jìn)程牲阁,基于 Node.js 平臺(tái)(Esty實(shí)現(xiàn)固阁,其實(shí)也有其他語言版本),通過 UDP 或者 TCP 方式偵聽各種統(tǒng)計(jì)信息城菊,包括計(jì)數(shù)器和定時(shí)器备燃,可以用來采集操作系統(tǒng)、不同數(shù)據(jù)庫(kù)凌唬、中間件的數(shù)據(jù)指標(biāo)并齐,進(jìn)行緩存、聚合法瑟,并發(fā)送到Graphite 等存儲(chǔ)和可視化系統(tǒng)中冀膝。

StatsD 具有以下優(yōu)點(diǎn):

  • 簡(jiǎn)單

首先安裝部署簡(jiǎn)單唁奢,且StatsD 協(xié)議是基于文本的霎挟,可以直接寫入和讀取,方便實(shí)現(xiàn)各種客戶端和SDK麻掸。

Cloud Insight的探針也是采用這些方式酥夭,我們有些SDK也是基于StatsD的,目前有Ruby脊奋、PythonJava的熬北,在 GitHub 上可以看到。

  • 低耦合性

StatsD 守護(hù)進(jìn)程采取 UDP 這種無狀態(tài)的協(xié)議诚隙,收集指標(biāo)和應(yīng)用程序本身之間沒有依賴讶隐,不會(huì)阻塞應(yīng)用,不管StatsD的狀態(tài)是運(yùn)行中久又,還是沒在運(yùn)行巫延,都不會(huì)影響應(yīng)用程序,應(yīng)用程序也不關(guān)心StatsD是否收到數(shù)據(jù)地消。

  • 易集成

StatsD非常容易整合其他組件炉峰,可以自己編寫采集業(yè)務(wù)邏輯,發(fā)送到StatsD守護(hù)進(jìn)程即可脉执。也就是說用戶的工作很簡(jiǎn)單疼阔,只需要按定義好的規(guī)則采集數(shù)據(jù)發(fā)送到Stats,然后用Graphite存儲(chǔ)、展示婆廊,通過使用Riemann進(jìn)行報(bào)警迅细。

Tcollector

  • 來源于OpenTSDB

Tcollector 是一個(gè)采集指標(biāo)數(shù)據(jù)并保存到OpenTSDB的框架,你可以使用該框架自己編寫采集的業(yè)務(wù)邏輯淘邻。類似StatsD疯攒,運(yùn)行在客戶端,收集本地的metric信息列荔,推送到OpenTSDB敬尺。

Collectd

  • System statistics collection daemon
  • 存儲(chǔ)到RRD
  • 插件機(jī)制(input/output)
  • 簡(jiǎn)單報(bào)警功能

Collectd即是一個(gè)守護(hù)進(jìn)程,也是一個(gè)框架贴浙,類似StatsD砂吞,它性能非常好,采用C語言編寫崎溃。Collectd不直接支持從Docker中取數(shù)據(jù)蜻直,但是我們可以自己編寫插件來采集性能指標(biāo)數(shù)據(jù)。

Collectd有強(qiáng)大的插件機(jī)制袁串,已經(jīng)實(shí)現(xiàn)了包括amqp概而、rrdtool、graphite囱修、http赎瑰、kafka、redis破镰、mongodb餐曼、OpenTSDB以及CSV文件等在內(nèi)的各種插件。

在4.3版本之后還支持簡(jiǎn)單的基于閾值檢查的報(bào)警機(jī)制鲜漩。

斌哥的 Docker 進(jìn)階指南—監(jiān)控方案的實(shí)現(xiàn)

cAdvisor是一個(gè)用于收集源譬、聚合處理和輸出容器運(yùn)行指標(biāo)的守護(hù)進(jìn)程。而且cAdvisor基本算是一個(gè)獲取Docker性能數(shù)據(jù)的標(biāo)配了吧孕似。

斌哥的 Docker 進(jìn)階指南—監(jiān)控方案的實(shí)現(xiàn)

一句命令就可以啟動(dòng)cAdvisor容器踩娘,訪問8080端口即可看到性能指標(biāo)數(shù)據(jù)。cAdvisor可以通過storage_driver參數(shù)將數(shù)據(jù)存到influxdb喉祭,同時(shí)也可以將metric輸出為Prometheus的格式养渴,所以很多自定義Docker監(jiān)控系統(tǒng)都會(huì)采取cAdvisor + Prometheus 的組合。

存儲(chǔ)TSDB

  • OpenTSDB
  • Influxdb
  • RRDTool
  • Graphite

關(guān)于時(shí)序列數(shù)據(jù)庫(kù)臂拓,可以看附錄中相關(guān)的介紹文章厚脉。推薦使用OpenTSDB或者Influxdb,簡(jiǎn)單對(duì)比一下各自特點(diǎn)如下:

  • OpenTSDB

    • Java & HBase
    • 易擴(kuò)展(集群功能強(qiáng)大)
    • 機(jī)器多胶惰,運(yùn)維稍顯麻煩
  • Influxdb

    • Golang
    • 集群功能不太成熟
    • 有類SQL的查詢語句
    • 單臺(tái)即可工作

這兩者都支持自由模式和多維度傻工,非常適合用于采用tag機(jī)制的數(shù)據(jù)模式建模。
開源可視化工具

  • Graphite
  • Influxdb + Grafana
  • Prometheus

光有數(shù)據(jù)是不夠的,raw data沒有任何意義中捆,我們需要良好的可視化組件來展示數(shù)據(jù)和數(shù)據(jù)的內(nèi)在意義鸯匹,發(fā)揮數(shù)據(jù)的作用。

我們也可以將數(shù)據(jù)存儲(chǔ)和展示交給其他開源軟件泄伪。

如果你的數(shù)據(jù)采集和存儲(chǔ)都是自己來完成的殴蓬,只想使用一個(gè)外部的圖形化界面的話,選Grafana應(yīng)該沒錯(cuò)蟋滴,Grafana展現(xiàn)形式非常豐富染厅,配置也很靈活。

斌哥的 Docker 進(jìn)階指南—監(jiān)控方案的實(shí)現(xiàn)

以上津函,先到這里肖粮。

下一章,劉斌將為大家介紹 Docker 監(jiān)控的開原方案尔苦,主流 SaaS 服務(wù)涩馆,及其特點(diǎn)。

超好用的監(jiān)控軟件 Cloud Insight 不僅能監(jiān)控 Docker允坚,還能對(duì) Nagios 進(jìn)行更好的可視化哦~

閱讀更多技術(shù)文章魂那,請(qǐng)?jiān)L問 OneAPM 官方博客

本文轉(zhuǎn)自 OneAPM 官方博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末稠项,一起剝皮案震驚了整個(gè)濱河市涯雅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌皿渗,老刑警劉巖斩芭,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轻腺,死亡現(xiàn)場(chǎng)離奇詭異乐疆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)贬养,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門挤土,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人误算,你說我怎么就攤上這事仰美。” “怎么了儿礼?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵咖杂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我蚊夫,道長(zhǎng)诉字,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮壤圃,結(jié)果婚禮上陵霉,老公的妹妹穿的比我還像新娘。我一直安慰自己伍绳,他們只是感情好踊挠,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著冲杀,像睡著了一般效床。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上权谁,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天扁凛,我揣著相機(jī)與錄音,去河邊找鬼闯传。 笑死谨朝,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的甥绿。 我是一名探鬼主播字币,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼共缕!你這毒婦竟也來了洗出?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤图谷,失蹤者是張志新(化名)和其女友劉穎翩活,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體便贵,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡菠镇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了承璃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片利耍。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖盔粹,靈堂內(nèi)的尸體忽然破棺而出隘梨,到底是詐尸還是另有隱情,我是刑警寧澤舷嗡,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布轴猎,位于F島的核電站,受9級(jí)特大地震影響进萄,放射性物質(zhì)發(fā)生泄漏捻脖。R本人自食惡果不足惜烦秩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望郎仆。 院中可真熱鬧只祠,春花似錦、人聲如沸扰肌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽曙旭。三九已至盗舰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桂躏,已是汗流浹背钻趋。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剂习,地道東北人蛮位。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像鳞绕,于是被迫代替她去往敵國(guó)和親失仁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

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