發布時(shí)間(jiān):2020-09-03
随著(zhe)運維能(néng)力的(de)不(bù)斷增強,主觀判斷的(de)不(bù)确定性随之放(fàng)大(dà),給運維能(né≠ng)力輸出的(de)穩定性保障帶來(lái)了(le)極大(dà)的(de)挑戰,同時(shí)也(yě)讓我們認識 到(dào),面向過程與操作(zuò)的(de)運維能(néng)力輸出模型将難以為(wèi)續,這(zhè)一(yī)特性在 DevOps 和(hé) AIOps 的(de)建設上(shàng)表現(xiàn)的(de)尤為(wèi)突出。在本篇中,我們将通(tōng)過監控平台來(lái)系統的(de)闡述“面向終态”,來(lái)解決運維數(shù)據運營中的(de)一(yī)系列問(wèn)題。
一(yī)、什(shén)麽是(shì)面向終态
需要(yào)明(míng)确的(de)是(shì),面向終态是(shì)一(yī)種設計(jì)方法,在運維領域,有(yǒu)核心的(d¶e)四個(gè)能(néng)力域,分(fēn)别是(shì)安全、穩定、高(gāo)效、低(dī)成本。這(zhè)四個(gè)能α(néng)力域也(yě)匹配著(zhe)運維能(néng)力輸出的(de)四個(gè)階段,分(fēn)别是(shì)手工(gōng)運維、自(zì)動化(huà)運維、DevOps、AIOps。在這(zhè)四個(gè)階段中,運維的(de)對(duì)象始終貫穿了(le)系統、用(yòng)戶、業(yè)務、業(yè)态±,因此面向終态重點在于終态的(de)對(duì)象和(hé)範圍。
以系統為(wèi)例,面向終态描述了(le)系統的(de)最終形态,用(yòng)戶隻需要(yào)描述自(zì)己需要(yào)什(s↕hén)麽,不(bù)需要(yào)詳細規劃執行(xíng)路(lù)徑,系統會(huì)根據線上(shàng)的(de)實時(shí)狀況以及運維知(zhī)識庫來(lái)∑動态調整,來(lái)達到(dào)系統安全穩定的(de)目的(de)。舉個(gè)通(tōng)俗♦易懂(dǒng)的(de)例子(zǐ),在灰度過程中,會(huì)根據灰度的(de)需求來(lái)自(zì)動執行(xíπng)灰度策略來(lái)動态分(fēn)配流量。
以用(yòng)戶為(wèi)例,面向終态描述了(le)用(yòng)戶的(de)最終需求,重點在于系統內λ(nèi)部的(de)控制(zhì)邏輯,主要(yào)核心在于聲明(míng)式API,用(yòng)戶隻需要(yào)描述最終需求,不(bù)需要(yào)提供詳細的(de)邏輯設計(jì),系統會(huì)根據需求通(tōng)過聲明(míng)後提交給系統,最終完成用(yòng)戶期望的(de)結果,和(hé)面向系統的(de)終态不(bù)同的φ(de)是(shì),面向用(yòng)戶的(de)終态主要(yào)是(shì)暴露給用(yòng)戶的(de)使用(yòng)方式。
二、監控平台的(de)意義
随著(zhe)科(kē)技(jì)的(de)不(bù)斷發展,線上(shàng)業(yè)務占比不(bù)斷攀升,信息科(kē)技(jì)越來(lái)越成為(wèi)核心生(shēng)産力,因此一(yī)些(xiē)非功能(néng)性的(de)需求逐步上(shàng)升到(dào)→一(yī)個(gè)比較高(gāo)的(de)程度,可(kě)用(yòng)性、可(kě)靠性、業(yè)務連續性的(de)兜底都•(dōu)需要(yào)監控來(lái)完成。另一(yī)個(gè)方面,數(shù)據存儲成本、數(shù)據價值輸出、數(shù)據衍生(shēng)能(néng)力也(yě)♥需要(yào)将核心業(yè)務數(shù)據擴展到(dào)一(yī)個(gè)較寬泛的(de)範圍,這(zhè)也(yě)是(s&hì)面向終态的(de)監控平台。
在運維領域來(lái)說(shuō),業(yè)務保障域是(shì)監控平台的(de)核心功能(néng),具備全方δ位無死角的(de)監控覆蓋範圍,以業(yè)務為(wèi)頂層視(shì)角,系統為(wèi)主體(tǐ)數(shù)據輸出模式,對(duì)故障進行(xíng)檢測、診斷$、恢複、預測,其中故障預測是(shì)基于運維經驗沉澱和(hé)積累的(de)結果,對(duì)數(shù)據的(de)分(fēn)析來(lái)總結出故障的(de)模式,從(cóng)而進行(xíng)預測。在IT數(shù)字化(huà)方面,監控數(shù)據是(shì)重要(yào)的(de)數(shù)據資産,因此監控平台需要(yào)承擔核心數(shù)據集散地(dì)σ的(de)作(zuò)用(yòng),為(wèi)業(yè)務數(shù)據提供補全,為(wèi)技(jì)術(shù)✔數(shù)據提供支撐。在成本預測方面,容量管理(lǐ)和(hé)采購(gòu)管理(lǐ)需要(yào→)相(xiàng)應的(de)資源利用(yòng)率提供數(shù)據支撐,還(hái)包括投入産出比來(lái)進行(xíng)優化(huà)©建議(yì)。
因此,基于系統的(de)面向終态,監控平台應該包括以下(xià)幾種特性。①基于業(yè)務的(de)實時(shí)鏈路(lù)監控;②基于平台的(de)應用(yòng)異常實時(shí)監控;③基于用(yòng)戶的(de)子(zǐ)域數(shù)據彙聚;④基于數(shù)據交換的(de)實時(shí)輸出;⑤基于預警的(de)統一(yī)集中收斂。
基于用(yòng)戶的(de)面向終态,用(yòng)戶的(de)最終需求涵蓋了(le)故障處理(lǐ)的(de)事(shì)前、事(shì)中、事(shì)後的(de)全流程,在事 (shì)前階段,用(yòng)戶關心有(yǒu)沒有(yǒu)做(zuò)監控,在事(shì)中階段,用(yòng)戶關心÷監控是(shì)否及時(shí),相(xiàng)關指标的(de)準确率高(gāo)不(bù)高(gāo),事(shì)後階段,用(yòng)♠戶關心故障複盤是(shì)否能(néng)夠達到(dào)既定的(de)目的(de)。因此監控平台應該應該包括以下(xià)幾種特性。①以服務目錄的(de)方式對(duì)監控對(duì)象進行(xíng)解讀(dú);②能(néng)夠以自(zì)動化(huà)的(de)方式對(duì)監控對(duì)象進行(xíng)全覆蓋;③能(néng)夠智能(néng)的(de)對(duì)報(bào)警阈值和(hé)等級進行(xíng)定義;④對(duì)故障處理(lǐ)流程進行(xíng)學習(xí),并形成知(zhī)識庫。
從(cóng)輸出能(néng)力來(lái)羅列,面向終态的(de)監控平台應該對(duì)監控數(shù)據進行(xíng)全生(shē×ng)命周期管理(lǐ),以達到(dào)運行(xíng)态監控、安全審計(jì)、業(yè)務分(fēn)析和(hé)數(shù)據輸出 的(de)功能(néng),并以數(shù)據集散地(dì)的(de)形态來(lái)提供第三方數(✔shù)據的(de)接入和(hé)接出。
從(cóng)監控平台的(de)目标來(lái)看(kàn),需要(yào)發揮的(de)作(zuò)用(yòng≥)主要(yào)有(yǒu)以下(xià),①能(néng)夠實時(shí)的(de)采集數(shù)據;②能(néng)夠實時(shí)的(de)反饋業(yè)務的(de)運行(xíng)态狀态;③能(néng)夠智能(néng)的(de)預知(zhī)故障和(hé)告警;④能(néng)夠支撐能(néng)力子(zǐ)域進行(xíng)輔助故障定位;⑤能(néng)夠支撐研發人(rén)員(yuán)對(duì)系統進行(xíng)針對(duì)性的(de≤)優化(huà);⑥能(néng)夠對(duì)容量規劃進行(xíng)輔助分(fēn)析。
從(cóng)監控平台的(de)數(shù)據覆蓋度來(lái)看(kàn),橫向需要(yào)進行(xíng&)數(shù)據寬度的(de)延展,從(cóng)網絡、服務器(qì)存儲、系統、應用(yòng)到(dào)最終的(de)業(yè)務層進行(xí∑ng)數(shù)據的(de)采集和(hé)彙聚。縱向需要(yào)進行(xíng)打通(tōng)用(yòng)戶終端、流量出入口、系統集群、産品運營進行(xíng)端對(duì)端的(de)λ數(shù)據多(duō)維度關聯。

通(tōng)過一(yī)張圖進行(xíng)簡單的(de)理(lǐ)解。
三、現(xiàn)有(yǒu)監控方案的(de)一(yī)些(xiē)問(wèn)題
現(xiàn)實中,企業(yè)已經采取各種各樣的(de)監控軟件(jiàn)來(lái)達到(dào)業(yè)務λ域保障的(de)目的(de),比較典型的(de)是(shì)以為(wèi)Zabbix、ELK為(wèi)代表的(de)開(kāi)源軟件(jiàn),在實際使用(yòng)中都(dōu)取得(de)了(le)很(hěn)好(hǎoγ)的(de)效果。但(dàn)從(cóng)面向終态的(de)方法來(lái)看(kàn),還(hái)α存在一(yī)些(xiē)需要(yào)改進的(de)點。主要(yào)有(yǒu)以下(xià),
四、面向終态的(de)監控設計(jì)
在面向終态的(de)監控設計(jì)過程中,需要(yào)更加友(yǒu)好(hǎo)的(de)面對(duì)監控對(duì)象和(hé)監控使用(yòng)者,因此和(hé↔)普通(tōng)監控所不(bù)一(yī)樣的(de),第三方的(de)數(shù)據接入需要(yào)在服務目錄的(de)範疇。↑在面向終态的(de)服務目錄設計(jì)中,包括如(rú)下(xià)特性。
監控平台用(yòng)戶可(kě)自(zì)定義的(de)接入可(kě)用(yòng)的(de)服務↓對(duì)象。
在數(shù)據的(de)處理(lǐ)方面,更偏重于清洗和(hé)指标分(fēn)層計(jì)算(suàn),在此之前,需要(yào)數(shù)據源的(de)多(duō)樣化(huà)匹配±,支持kafka、clickhouse或victoriaMetrics等多(duō)數(shù)據源的(de)接入,最終需實現(xiàn)實時(shí)消息、文(wén)件(jiàn)的(de)接入和(hé)數(shù)據的(de)實時(sδhí)聚合。在數(shù)據聚合的(de)需求梳理(lǐ)中,需達到(dào)多(duō)個(gè)維度和(hé)™指标對(duì)數(shù)據進行(xíng)聚合。數(shù)據衍生(shēng)是(shì)面向終态的(de)最直接表現(xiàn),需支持根據不(bù)同的(de)指标進行(xíng)運算(s uàn),得(de)到(dào)用(yòng)戶想要(yào)的(de)多(duō)維複合數(shù)據。
其中,在清洗階段,需要(yào)實時(shí)的(de)接收數(shù)據,進行(xíng)數(shù)據的(de)處理(lǐ)、轉換、清洗,任務一(yī)般基于storm或flink實現(xiàn),經過清洗任務處理(lǐ)後的(de)結構化(huà)數(shù)據通(tōng)過消息隊列進行(xíng)↓數(shù)據流轉或回流。在指标計(jì)算(suàn)階段,對(duì)結構化(huà)數(shù)據進行(xíng)&相(xiàng)關指标的(de)計(jì)算(suàn),需達到(dào)高(gāo)吞吐量,标準SQL等特性,還(hái)需要(yào)加強時(shí)間(jiān)窗(chuāng)口、去(qù)重等能(néng)力的(de)匹配。根據标簽數(shù)據和(hé)标簽用(yòng)戶↔的(de)不(bù)同特性,動态的(de)對(duì)數(shù)據進行(xíng)實時(shí)處理(lǐ)和(hé)離(lí)線更新。
在數(shù)據的(de)回流輸出方面,面向終态的(de)監控平台,需要(yào)根據監控的(de)目标不(bù)斷的(de)去(qù)回檢當前系統狀态,從(cóng)而為(wèi)面向終态執行(™xíng)決策的(de)時(shí)候,提供部分(fēn)的(de)依據,因此模型管道(dào)的(d'e)構建必不(bù)可(kě)少(shǎo),這(zhè)也(yě)是(shì)我們常說(shuō)的(de)異常檢測的(de)功能($néng),下(xià)圖為(wèi)數(shù)據反饋圖。
在異常檢測方面,可(kě)以從(cóng)告警分(fēn)析和(hé)根因分(fēn)析來(lái)落地(dì)。在告警分(fēn)析方面,基于系統的(de)面向終态需要(yà₽o)實現(xiàn),①對(duì)告警的(de)時(shí)間(jiān)順序進行(xíng)趨勢分(fēn)析;②對(duì)指标對(duì)比進行(xíng)分(fēn)析,降低(dī)指标預警的(de)召回率;③對(duì)已知(zhī)的(de)告警進行(xíng)标記,輔助優化(huà)模型,間(jiān)接提升指标預警的(de)準确率。在根因分(fēn)析方面,通(tōng)σ過數(shù)據的(de)下(xià)鑽和(hé)關聯數(shù)據的(de)收斂,根據最終的(de)影(yǐng)響因素來(lái)對(duì)算(suàn)法分(fēn)析出的(de↓)主因進行(xíng)判斷标記,通(tōng)過主因判斷的(de)結果符合度指标來(lái)進行(xíng)算→(suàn)法調優。
在基于面向終态的(de)監控平台設計(jì)中,平台應有(yǒu)如(rú)下(xià)分(fēn)層。①用(yòng)戶體(tǐ)驗層;②服務能(néng)力層;③數(shù)據分(fēn)析層;④數(shù)據加工(gōng)層;⑤後台管理(lǐ)層。
五、寫在最後
面向終态繼承了(le)AIOps的(de)理(lǐ)念,通(tōng)過運用(yòng)大(dà)量的(de)聲明(míng)式api來(lái)提高(gāo)“無條件(jiàn)”的(de)極緻用(yòng)戶體(tǐ)驗,同時(shí)運用(yòng)機(jī)器(qì)學習(xí)來(lái)加強了(★le)數(shù)據的(de)輸出和(hé)變現(xiàn)能(néng)力,這(zhè)種設計(jì®)方式将技(jì)術(shù)進行(xíng)反向解耦,在服務能(néng)力的(de)範圍之內(nèi),将數(shù)據納入到(dào)用(yòng)戶體(tǐ)驗中,提升數(shù≈)據的(de)反饋能(néng)力,拓展了(le)監控平台的(de)用(yòng)戶範圍,更安全、穩定、高(gāo)效、低(d↓ī)成本的(de)踐行(xíng)高(gāo)效運維理(lǐ)念,也(yě)解決了(le)運維數(shù)據運營中的(de)一(yī)•系列問(wèn)題。
——作(zuò)者:顧黃(huáng)亮(liàng)