監(jiān)控罩旋、日志啊央、APM整個(gè)監(jiān)控體系思考

序言

監(jiān)控

在做監(jiān)控之初,我的出發(fā)點(diǎn)很簡單涨醋,就是為性能測試做基礎(chǔ)設(shè)施的準(zhǔn)備瓜饥,因?yàn)椴捎?code>Jmeter這樣的工具來做,它的報(bào)表功能實(shí)在有限东帅,很難說準(zhǔn)確定位到性能瓶頸。進(jìn)而從這個(gè)出發(fā)點(diǎn)來開始思考球拦,首先考慮了Jmeter+InfluxDB+Grafana這樣的組合靠闭,讓性能測試有足夠的數(shù)據(jù)來進(jìn)行支撐,因?yàn)椴捎肑meter做持續(xù)壓測的話坎炼,產(chǎn)生報(bào)告是一個(gè)問題愧膀。由此再進(jìn)行深入,我已經(jīng)能夠拿到壓測的數(shù)據(jù)了谣光,我是不是可以拿相應(yīng)的服務(wù)器中的物理數(shù)據(jù)和相對(duì)應(yīng)的軟件數(shù)據(jù)來進(jìn)行具體狀態(tài)分析呢檩淋?再次引入Prometheus這樣的監(jiān)控工具來做,配合不同的exporter可以收集到大部分需要的數(shù)據(jù)萄金,同時(shí)通過Grafana進(jìn)行集中展示蟀悦。這樣一個(gè)相對(duì)而言整體的大盤監(jiān)控,我個(gè)人認(rèn)為是比較滿意的了氧敢。

日志

但是這樣也只能發(fā)現(xiàn)到大方向的問題日戈,例如知道什么服務(wù)比較慢,有性能瓶頸孙乖,至于為什么會(huì)慢浙炼,可能需要通過查詢相應(yīng)時(shí)間點(diǎn)的日志來具體分析才能夠知道份氧,但是平時(shí)我們也有查看日志的需求,之前的做法是自己上服務(wù)器拿去對(duì)應(yīng)的日志數(shù)據(jù)凉翻,再進(jìn)行檢索晦毙。這樣的流程實(shí)在太繁瑣了旱函,所以打算部署ELK這樣的日志統(tǒng)一調(diào)度平臺(tái),來進(jìn)行統(tǒng)一管理厅缺,采用Elasticsearch這樣的關(guān)鍵字分布式搜索,能夠快速定位到我們想要的日志酌住,并且搭配Kibana這樣的可視化平臺(tái)店归,能夠從多個(gè)維度來對(duì)日志進(jìn)行細(xì)化跟蹤。對(duì)于相關(guān)問題的解決有著事半功倍的作用酪我。

APM

監(jiān)控有了消痛,日志也有了,但是這些都是單個(gè)層面進(jìn)行監(jiān)控部署的都哭,隨著分布式和微服務(wù)的開展秩伞,這樣的監(jiān)控層面往往會(huì)顯得不足,這個(gè)時(shí)候需要考慮引入APM這樣的鏈路監(jiān)控系統(tǒng)來進(jìn)行服務(wù)跟蹤欺矫,和傳統(tǒng)的監(jiān)控不一樣纱新,APM這樣的監(jiān)控主要是來解決分布式鏈路追蹤,對(duì)每個(gè)服務(wù)進(jìn)行跟蹤穆趴,并且持續(xù)觀測整個(gè)系統(tǒng)鏈路的情況脸爱,可以更具調(diào)用鏈,主動(dòng)暴露問題未妹。經(jīng)過選型簿废,最后決定采用Skywalking這樣國人開發(fā)的APM工具。

監(jiān)控

監(jiān)控的本質(zhì)是來對(duì)服務(wù)的穩(wěn)定性做預(yù)防络它,例如傳統(tǒng)的監(jiān)控Zabbix工具已經(jīng)可以做到很全面了族檬,都是隨著云時(shí)代的到來和分布式的大行其道,和Docker容器的快速發(fā)展化戳,傳統(tǒng)的監(jiān)控可能面對(duì)力度不足的層面单料,

針對(duì)容器的監(jiān)控,一般采用Prometheus并且配合著cAdvisor來對(duì)容器進(jìn)行監(jiān)控点楼,當(dāng)然也可以結(jié)合K8s來做容器的集群管理扫尖。同時(shí)可以利用不同的Prometheus的Exporter來監(jiān)控到相關(guān)服務(wù)的數(shù)據(jù),最后集中展示在Grafana平臺(tái)掠廓。

image.png

除此之外藏斩,還可以配合不同的采集器來完成同時(shí)指標(biāo)的采集,選取存儲(chǔ)在不同類型的數(shù)據(jù)庫中却盘,在Grafana里面進(jìn)行集中展示和報(bào)警監(jiān)控狰域。

image.png
image.png

當(dāng)然想完成這樣一個(gè)相當(dāng)全面監(jiān)控大盤媳拴,并非一日之功,需要不斷的量化和優(yōu)化相關(guān)指標(biāo)兆览,選取關(guān)鍵的點(diǎn)來進(jìn)行監(jiān)控屈溉,合理整合為一個(gè)監(jiān)控質(zhì)量面板。里面包含服務(wù)器中運(yùn)行的物理指標(biāo)和軟件運(yùn)行的性能指標(biāo)抬探。有著合理的布局配置子巾。需要多方配合才能夠得以完成。

日志

現(xiàn)在廣泛采納并且投入使用的就是Elastic Stack(ELK)日志分析小压,得益于開源社區(qū)的奉獻(xiàn)线梗,網(wǎng)上有非常多的文檔來介紹怎么樣進(jìn)行部署,這里不講基礎(chǔ)層面的怠益,更多的是關(guān)心怎么樣才能夠用好這樣的日志分析仪搔,部署日志分析這樣一套系統(tǒng),其實(shí)占用的成本是挺大的蜻牢,所以更多的是讓日志分析能夠最大利用烤咧,減少不必要的浪費(fèi)。做日志統(tǒng)一調(diào)度的最大目的就是抢呆,方便快速的查詢?nèi)罩径ㄎ粏栴}煮嫌,并且根據(jù)日志來監(jiān)控多個(gè)維度的問題,存在的問題也很明顯抱虐,這樣的日志分析需要占用服務(wù)器資源昌阿,業(yè)務(wù)日志是時(shí)時(shí)打印的。量大的話恳邀,一天可能就是幾十G懦冰,所以要進(jìn)行合理的收集和過濾,關(guān)鍵日志一定要搜集到轩娶。

image.png

APM

APM應(yīng)用性能管理(Application Performance Management)主要指對(duì)企業(yè)的關(guān)鍵業(yè)務(wù)應(yīng)用進(jìn)行監(jiān)測儿奶、優(yōu)化框往,提高企業(yè)應(yīng)用的可靠性和質(zhì)量鳄抒,保證用戶得到良好的服務(wù),降低IT總成本椰弊。

從實(shí)際的應(yīng)用場景上许溅,APM可以在以下方面為我們提供幫助:

  • 最終用戶體驗(yàn)評(píng)估和優(yōu)化,提升用戶體驗(yàn)秉版,提高應(yīng)用DAU和留存

  • 鏈路監(jiān)控贤重,線路優(yōu)化

  • 機(jī)房選型,第三方服務(wù)(CDN清焕、云服務(wù)并蝗、推送等)選型

  • 競品性能對(duì)標(biāo)

  • 劫持分析和優(yōu)化

  • 實(shí)時(shí)告警和通知

  • 業(yè)務(wù)流程代碼級(jí)的監(jiān)控和優(yōu)化

  • 業(yè)務(wù)壓測和性能剖析

  • 快速發(fā)現(xiàn)和定位性能問題祭犯,減少業(yè)務(wù)故障恢復(fù)時(shí)間

image.png
  • 數(shù)字化體驗(yàn)監(jiān)控(DEM)

數(shù)字化體驗(yàn)監(jiān)控是一種可用性和性能監(jiān)控體系,支持與企業(yè)應(yīng)用軟件或服務(wù)進(jìn)行交互時(shí)滚停,對(duì)數(shù)字化代理沃粗、人員或機(jī)器與的運(yùn)維體驗(yàn)和行為進(jìn)行優(yōu)化。為了進(jìn)行這次評(píng)估键畴,它包括實(shí)際用戶監(jiān)控(RUM)和合成交易監(jiān)控(STM)最盅,面向基于Web的最終用戶和基于移動(dòng)的最終用戶(EUEM)。

最終用戶體驗(yàn)監(jiān)測始終是APM最重要的維度沒有之一起惕,這也是APM與傳統(tǒng)運(yùn)維監(jiān)控的最主要差別涡贱。

傳統(tǒng)運(yùn)維監(jiān)控一般都是自下而上的監(jiān)控,關(guān)注點(diǎn)在系統(tǒng)和服務(wù)層面惹想,通過對(duì)基礎(chǔ)架構(gòu)问词、系統(tǒng)、服務(wù)勺馆、應(yīng)用的監(jiān)控來保證服務(wù)的高可用和應(yīng)用的體驗(yàn)效果戏售。而APM是自上而下的監(jiān)控,關(guān)注點(diǎn)在最終用戶的體驗(yàn)層面草穆,通過對(duì)用戶體驗(yàn)灌灾、網(wǎng)絡(luò)、應(yīng)用以及服務(wù)的監(jiān)控來保證應(yīng)用的高可用和體驗(yàn)效果悲柱。

  • 應(yīng)用程序發(fā)現(xiàn)锋喜、跟蹤和診斷(ADTD)

應(yīng)用程序發(fā)現(xiàn)、跟蹤和診斷是一套流程豌鸡,旨在了解應(yīng)用服務(wù)器之間的關(guān)系嘿般,跨這些節(jié)點(diǎn)描述事務(wù),并且能夠深入檢查方法及其他主機(jī)資源涯冠。它把三個(gè)之前不同的方面(應(yīng)用程序拓?fù)浣Y(jié)構(gòu)的發(fā)現(xiàn)及可視化炉奴、用戶定義的事務(wù)剖析和應(yīng)用程序組件的深入探究)統(tǒng)一起來。所有三個(gè)方面主要專注于解決問題蛇更,相互關(guān)聯(lián)瞻赶。

應(yīng)用拓?fù)溥壿嫲l(fā)現(xiàn)和可視化

能自動(dòng)識(shí)別應(yīng)用在執(zhí)行的過程中涉及的軟硬件架構(gòu)和組件,并且可以描繪出應(yīng)用交付鏈中相互通訊的各種組件的訪問路徑派任,通過調(diào)用鏈的實(shí)現(xiàn)砸逊,形成拓?fù)鋱D并進(jìn)行可視化,直觀地展示應(yīng)用的拓?fù)溥壿嫛?/p>

用戶定義的事務(wù)剖析

從用戶請(qǐng)求的角度來對(duì)事務(wù)中的用戶定義的事件進(jìn)行追蹤掌逛∈σ荩可以根據(jù)要求對(duì)特定的用戶訪問特定的事務(wù)請(qǐng)求進(jìn)行完整的追蹤,包括在整個(gè)請(qǐng)求過程中涉及到的所以服務(wù)和組件豆混。

應(yīng)用組件深度鉆取

對(duì)發(fā)現(xiàn)的服務(wù)和組件的資源消耗和事件提供足夠細(xì)粒度的監(jiān)控篓像。例如對(duì)應(yīng)用訪問的數(shù)據(jù)庫服務(wù)动知,MQ服務(wù)等提供深度的監(jiān)控,當(dāng)發(fā)現(xiàn)有數(shù)據(jù)庫服務(wù)查詢性能問題的時(shí)候员辩,可以提供包括完整的SQL語句拍柒,執(zhí)行計(jì)劃,數(shù)據(jù)庫狀態(tài)等在內(nèi)的詳細(xì)監(jiān)控?cái)?shù)據(jù)屈暗。

  • 面向應(yīng)用程序的IT運(yùn)維AI(AIOps)

面向應(yīng)用程序的AIOps能夠自動(dòng)發(fā)現(xiàn)性能和事件模式拆讯,支持發(fā)現(xiàn)Java和.NET應(yīng)用服務(wù)器支持的HTTP/S事務(wù)出現(xiàn)的性能異常的根本原因。這是通過機(jī)器學(xué)習(xí)养叛、統(tǒng)計(jì)推理及/或其他方法來實(shí)現(xiàn)的种呐。 2016 年,面向應(yīng)用程序的AIOps被稱為“應(yīng)用分析”弃甥,后來被稱為“算法IT運(yùn)維”爽室,最后在2017年年中改為“AIOps”。

其實(shí)就是運(yùn)維數(shù)據(jù)分析淆攻,要求使用以下技術(shù)的組合來進(jìn)行運(yùn)維數(shù)據(jù)分析:復(fù)雜事件處理阔墩,統(tǒng)計(jì)模式發(fā)現(xiàn)與識(shí)別,非結(jié)構(gòu)化數(shù)據(jù)索引瓶珊、查詢和推斷啸箫,拓?fù)溥壿嫹治觯嗑S數(shù)據(jù)庫檢索和分析伞芹。這里的數(shù)據(jù)分析技術(shù)都是為了對(duì)APM采集到的大量的各維度性能數(shù)據(jù)進(jìn)行實(shí)時(shí)的運(yùn)算和處理忘苛,從而對(duì)應(yīng)用的運(yùn)維和優(yōu)化起到輔助決策和驅(qū)動(dòng)。例如通過實(shí)時(shí)的智能基線和異常監(jiān)測來驅(qū)動(dòng)警報(bào)系統(tǒng)唱较。

思考

在統(tǒng)一監(jiān)控體系中扎唾,APM套件將承擔(dān)著最重要的角色,同時(shí)也需要將傳統(tǒng)的基礎(chǔ)設(shè)施監(jiān)控Grafana南缓,動(dòng)環(huán)監(jiān)控胸遇,網(wǎng)絡(luò)性能監(jiān)控,日志監(jiān)控ELK等等整合起來汉形,當(dāng)然理想條件是可以根據(jù)AI來完成智能監(jiān)控報(bào)警和處理纸镊,通過大數(shù)據(jù),機(jī)器學(xué)習(xí)获雕,云薄腻,容器等技術(shù)的融合收捣,來提供更智能的性能管理届案,例如應(yīng)用基線的智能學(xué)習(xí)和計(jì)算,無需用戶設(shè)置閾值罢艾,并且在探測到性能問題和異常的時(shí)候可以根據(jù)用戶設(shè)定的策略自動(dòng)調(diào)整系統(tǒng)的負(fù)載調(diào)度和資源的伸縮楣颠,而不只是僅僅通知用戶尽纽。

后續(xù)發(fā)現(xiàn)有前輩和我觀點(diǎn)差不多,寫的更加清晰明了童漩。有興趣可以看看這篇文章弄贿。
這么多監(jiān)控組件,總有一款適合你

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末矫膨,一起剝皮案震驚了整個(gè)濱河市差凹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌侧馅,老刑警劉巖危尿,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異馁痴,居然都是意外死亡谊娇,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門罗晕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來济欢,“玉大人,你說我怎么就攤上這事小渊》ㄈ欤” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵酬屉,是天一觀的道長挖胃。 經(jīng)常有香客問我,道長梆惯,這世上最難降的妖魔是什么酱鸭? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮垛吗,結(jié)果婚禮上凹髓,老公的妹妹穿的比我還像新娘。我一直安慰自己怯屉,他們只是感情好蔚舀,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锨络,像睡著了一般赌躺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上羡儿,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天礼患,我揣著相機(jī)與錄音,去河邊找鬼。 笑死缅叠,一個(gè)胖子當(dāng)著我的面吹牛悄泥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肤粱,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼弹囚,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了领曼?” 一聲冷哼從身側(cè)響起鸥鹉,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎庶骄,沒想到半個(gè)月后宋舷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瓢姻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年祝蝠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幻碱。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绎狭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出褥傍,到底是詐尸還是另有隱情儡嘶,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布恍风,位于F島的核電站蹦狂,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏朋贬。R本人自食惡果不足惜凯楔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锦募。 院中可真熱鬧摆屯,春花似錦、人聲如沸糠亩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赎线。三九已至廷没,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間垂寥,已是汗流浹背颠黎。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國打工另锋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盏缤。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像蓖扑,于是被迫代替她去往敵國和親唉铜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

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