小團(tuán)隊(duì)從0搭建devOPS平臺(tái)-Prometheus監(jiān)控報(bào)警系統(tǒng)

在當(dāng)前微服務(wù)架構(gòu)流行情況下,對(duì)于初創(chuàng)企業(yè)银受,可能就幾個(gè)技術(shù)(2-20個(gè)不等),但是卻要開發(fā)十多個(gè)應(yīng)用鸦采,要維護(hù)幾十臺(tái)云機(jī)器宾巍,甚至可能是混合云的模式。由于業(yè)務(wù)變化迅速渔伯,應(yīng)用需要采用敏捷開發(fā)顶霞,針對(duì)這十來(lái)個(gè)應(yīng)用怎么快速高效無(wú)誤的部署,出現(xiàn)系統(tǒng)異常能快速給出報(bào)警信息锣吼,快速定位問題并修復(fù)bug后重新部署上線选浑,并且是在不影響線上服務(wù)的基礎(chǔ)上,這對(duì)技術(shù)團(tuán)隊(duì)提出很高的要求玄叠。
傳統(tǒng)的開發(fā)模式和流程里面古徒,這些工作需要開發(fā)人員和運(yùn)維人員一起配合協(xié)作才能完成。但是實(shí)際上的效果不少特別好读恃,因?yàn)殚_發(fā)人員對(duì)操作系統(tǒng)優(yōu)化隧膘,監(jiān)控報(bào)警并不熟悉代态,而運(yùn)維人員不懂業(yè)務(wù)邏輯,不懂具體應(yīng)用開發(fā)疹吃。所以針對(duì)這樣的情況蹦疑,今年devOPS的概念和具體的實(shí)踐不斷被提出來(lái)。

行業(yè)內(nèi)各巨頭(比如BAT)的自動(dòng)化運(yùn)維架構(gòu)都各種功能各種酷炫互墓,功能復(fù)雜必尼,但是開發(fā)工作難度和強(qiáng)度也非常大蒋搜,需要消耗大量的人力和財(cái)力篡撵。那么小團(tuán)隊(duì)就沒有實(shí)現(xiàn)自己的devOPS了嗎?

答案當(dāng)然是可以實(shí)現(xiàn)的豆挽。

筆者在一家小團(tuán)隊(duì)育谬,有10幾個(gè)開發(fā)人員,管理這幾十臺(tái)服務(wù)器和幾十個(gè)應(yīng)用帮哈,在初期代碼的管理膛檀、應(yīng)用的構(gòu)建、部署發(fā)布娘侍、監(jiān)控等都只能都人肉實(shí)現(xiàn)咖刃,需要不斷的到處救火,消耗了大量的開發(fā)人員的精力憾筏。好在有opensource嚎杨,我們借助開源的力量慢慢形成了自己的一套devOPS體系,總體效果還不錯(cuò)氧腰。

本文就是總結(jié)筆者在這方面一些經(jīng)驗(yàn)和實(shí)踐枫浙,希望對(duì)讀者有幫助。

對(duì)于監(jiān)控和告警古拴,現(xiàn)在市面上監(jiān)控系統(tǒng)很多:Zabbix箩帚、Open-Falcon、Prometheus黄痪,最終選擇了 Prometheus紧帕,因?yàn)镻rometheus生態(tài)強(qiáng)大,功能強(qiáng)大桅打。

Prometheus 簡(jiǎn)介

Prometheus 是一套開源的系統(tǒng)監(jiān)控報(bào)警框架是嗜。它啟發(fā)于 Google 的 borgmon 監(jiān)控系統(tǒng),由工作在 SoundCloud 的 google 前員工在 2012 年創(chuàng)建油额,作為社區(qū)開源項(xiàng)目進(jìn)行開發(fā)叠纷,并于 2015 年正式發(fā)布。2016 年潦嘶,Prometheus 正式加入 Cloud Native Computing Foundation涩嚣,成為受歡迎度僅次于 Kubernetes 的項(xiàng)目崇众。

作為新一代的監(jiān)控框架,Prometheus 具有以下特點(diǎn):

  • 強(qiáng)大的多維度數(shù)據(jù)模型:

  • 插件多航厚,想要監(jiān)控什么顷歌,基本都會(huì)有現(xiàn)成的插件。

  • 易于管理: Prometheus server 是一個(gè)單獨(dú)的二進(jìn)制文件幔睬,可直接在本地工作眯漩,不依賴于分布式存儲(chǔ)。

  • 高效:平均每個(gè)采樣點(diǎn)僅占 3.5 bytes麻顶,且一個(gè) Prometheus server 可以處理數(shù)百萬(wàn)的 metrics赦抖。

  • 使用 pull 模式采集時(shí)間序列數(shù)據(jù),這樣不僅有利于本機(jī)測(cè)試而且可以避免有問題的服務(wù)器推送壞的 metrics辅肾。

  • 可以采用 push gateway 的方式把時(shí)間序列數(shù)據(jù)推送至 Prometheus server 端队萤。

  • 可以通過服務(wù)發(fā)現(xiàn)或者靜態(tài)配置去獲取監(jiān)控的 targets。

  • 有多種可視化圖形界面矫钓。

  • 易于伸縮要尔。

需要指出的是,由于數(shù)據(jù)采集可能會(huì)有丟失新娜,所以 Prometheus 不適用對(duì)采集數(shù)據(jù)要 100% 準(zhǔn)確的情形赵辕。但如果用于記錄時(shí)間序列數(shù)據(jù),Prometheus 具有很大的查詢優(yōu)勢(shì)概龄,此外还惠,Prometheus 適用于微服務(wù)的體系架構(gòu)。


Prometheus技術(shù)架構(gòu)圖.png

Prometheus基本原理

Prometheus的基本原理是通過HTTP協(xié)議周期性抓取被監(jiān)控組件的狀態(tài)旁钧,任意組件只要提供對(duì)應(yīng)的HTTP接口就可以接入監(jiān)控船殉。不需要任何SDK或者其他的集成過程冒掌。這樣做非常適合做虛擬化環(huán)境監(jiān)控系統(tǒng)世蔗,比如VM践美、Docker、Kubernetes等寄猩。輸出被監(jiān)控組件信息的HTTP接口被叫做exporter 嫉晶。目前互聯(lián)網(wǎng)公司常用的組件大部分都有exporter可以直接使用,比如Varnish田篇、Haproxy替废、Nginx、MySQL泊柬、Linux系統(tǒng)信息(包括磁盤椎镣、內(nèi)存、CPU兽赁、網(wǎng)絡(luò)等等)状答。

用Ansible 來(lái)Prometheus安裝

Ansible是一個(gè)自動(dòng)配置管理工具冷守,本文先不介紹了,以后有空再來(lái)做下介紹惊科,ansible也是小團(tuán)隊(duì)搭建devOPS的利器拍摇。
使用 Ansible 作為部署工具的一個(gè)好處是太多現(xiàn)成的 role 了,安裝 Prometheus 時(shí)馆截,筆者使用的是現(xiàn)成的:

安裝所需各種exporter

比如需要采集操作系統(tǒng)系統(tǒng),需要安裝node_exporter,當(dāng)然安裝exporter也可以用ansible來(lái)實(shí)現(xiàn)翎蹈。

安裝和配置監(jiān)控可視化Grafana

Grafana是用于可視化大型測(cè)量數(shù)據(jù)的開源程序淮菠,它提供了強(qiáng)大和優(yōu)雅的方式去創(chuàng)建男公、共享荤堪、瀏覽數(shù)據(jù)。
Dashboard中顯示了你不同metric數(shù)據(jù)源中的數(shù)據(jù)枢赔。
Grafana最常用于因特網(wǎng)基礎(chǔ)設(shè)施和應(yīng)用分析澄阳,但在其他領(lǐng)域也有用到,比如:工業(yè)傳感器踏拜、家庭自動(dòng)化碎赢、過程控制等等。
Grafana支持熱插拔控制面板和可擴(kuò)展的數(shù)據(jù)源速梗,目前已經(jīng)支持Graphite肮塞、InfluxDB、OpenTSDB姻锁、Elasticsearch枕赵、Prometheus等。
具體安裝比較簡(jiǎn)單位隶,參照官網(wǎng)安裝即可拷窜。
安裝結(jié)束后登錄,默認(rèn)用戶名密碼admin涧黄、admin

添加一個(gè)數(shù)據(jù)源


配置prometheus數(shù)據(jù)源.png

導(dǎo)入的模板會(huì)看到已經(jīng)有各種圖篮昧,下圖筆者所在公司導(dǎo)入的node_exporter的監(jiān)控圖


屏幕快照 2019-08-14 22.58.15.png

好了,有了監(jiān)控?cái)?shù)據(jù)后笋妥,我們就可以對(duì)數(shù)據(jù)進(jìn)行可視化了懊昨,是不是很黑科技呢?并且告訴你這些監(jiān)控圖是可以隨意定制的哦春宣!
可是酵颁,我們不可能 24 小時(shí)盯著屏幕看 CPU 負(fù)載有沒有超吧狈孔?這時(shí)候就要上告警了。由于篇幅原因材义,下篇來(lái)說(shuō)說(shuō)告警(http://www.reibang.com/p/0dbece52b488)均抽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市其掂,隨后出現(xiàn)的幾起案子油挥,更是在濱河造成了極大的恐慌,老刑警劉巖款熬,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件深寥,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡贤牛,警方通過查閱死者的電腦和手機(jī)惋鹅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)殉簸,“玉大人闰集,你說(shuō)我怎么就攤上這事“惚埃” “怎么了武鲁?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蝠检。 經(jīng)常有香客問我沐鼠,道長(zhǎng),這世上最難降的妖魔是什么叹谁? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任饲梭,我火速辦了婚禮,結(jié)果婚禮上焰檩,老公的妹妹穿的比我還像新娘憔涉。我一直安慰自己,他們只是感情好锅尘,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布监氢。 她就那樣靜靜地躺著,像睡著了一般藤违。 火紅的嫁衣襯著肌膚如雪浪腐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天顿乒,我揣著相機(jī)與錄音议街,去河邊找鬼。 笑死璧榄,一個(gè)胖子當(dāng)著我的面吹牛特漩,可吹牛的內(nèi)容都是我干的吧雹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼涂身,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼雄卷!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起蛤售,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤丁鹉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后悴能,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揣钦,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年漠酿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冯凹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡炒嘲,死狀恐怖宇姚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摸吠,我是刑警寧澤空凸,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站寸痢,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏紊选。R本人自食惡果不足惜啼止,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望兵罢。 院中可真熱鬧献烦,春花似錦、人聲如沸卖词。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)此蜈。三九已至即横,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間裆赵,已是汗流浹背东囚。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留战授,地道東北人页藻。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓桨嫁,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親份帐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子璃吧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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