Devops之運(yùn)維平臺(tái)構(gòu)建

寫(xiě)在前面的話(huà)

如今很多人認(rèn)為devops將徹底取代傳統(tǒng)運(yùn)維,我不這么認(rèn)為,在我看來(lái)devops只是很大程度上的代替了傳統(tǒng)運(yùn)維的手工操作,運(yùn)維人員只需寫(xiě)好自動(dòng)化運(yùn)維腳本,利用自動(dòng)化工具(zabbix,elk,ansible等)就可以實(shí)現(xiàn)自動(dòng)發(fā)布和監(jiān)控,省去了很多人力。因此Devops能否順利落地,運(yùn)維平臺(tái)的建設(shè)將會(huì)很重要。本文主要簡(jiǎn)單介紹下我司的三大運(yùn)維平臺(tái)。

運(yùn)維職責(zé)

運(yùn)維平臺(tái)

當(dāng)前我司運(yùn)維平臺(tái)主要有3個(gè):

持續(xù)集成和交付

①基于Jenkins持續(xù)構(gòu)建

②支持容器化打包和部署

③發(fā)布平臺(tái),支持灰度發(fā)布,異??焖倩貪L

監(jiān)控告警平臺(tái)

①完善的監(jiān)控體系:覆蓋機(jī)器、網(wǎng)絡(luò)、服務(wù)和客戶(hù)設(shè)備維度

②快速的異常發(fā)現(xiàn)和告警

③靈活的告警通知方式:LCP、郵件、微信、電話(huà)

問(wèn)題定位平臺(tái)

①基于ELK實(shí)現(xiàn)日志采集、上報(bào)、告警

②采集軟件平臺(tái)所有組件的運(yùn)行日志

③通過(guò)調(diào)用鏈分析和定位設(shè)備問(wèn)題

平臺(tái)運(yùn)營(yíng)情況

持續(xù)集成和交付

持續(xù)集成(CI),微服務(wù)組件全部改造成容器化部署,并通過(guò)K8S實(shí)現(xiàn)編排。

持續(xù)交付(CD),做一個(gè)版本發(fā)布平臺(tái):支持灰度、藍(lán)綠發(fā)布、版本回滾。

監(jiān)控平臺(tái)

公司之前一直使用的是zabbix+grafana的監(jiān)控方式,隨著我們的微服務(wù)推行容器化后,k8s應(yīng)用的監(jiān)控需求增加,Prometheus會(huì)更適合容器的監(jiān)控。另外,Prometheus用的就是自研的 TSDB,Zabbix 則用的是 MySQL 或 PostgreSQL,在高并發(fā)的情況下,時(shí)序型數(shù)據(jù)庫(kù)讀寫(xiě)性能是遠(yuǎn)高于關(guān)系型數(shù)據(jù)庫(kù)的,同時(shí)還提供了很多內(nèi)置的基于時(shí)間的處理函數(shù),簡(jiǎn)化數(shù)據(jù)聚合的難度。因此我們現(xiàn)在也逐步將Zabbix遷移到Prometheus。目前監(jiān)控平臺(tái)采集覆蓋基礎(chǔ)資源38項(xiàng),102個(gè)組件、9項(xiàng)業(yè)務(wù)監(jiān)控。

問(wèn)題定位平臺(tái)

背景:線(xiàn)上用戶(hù)反饋設(shè)備使用異常,研發(fā)或QA介入排查,經(jīng)常出現(xiàn)問(wèn)題定位時(shí)間太長(zhǎng),問(wèn)題反饋不及時(shí),客戶(hù)體驗(yàn)較差。因此需要開(kāi)發(fā)一個(gè)問(wèn)題定位平臺(tái),聚合一些設(shè)備日志和監(jiān)控?cái)?shù)據(jù)進(jìn)行分析,縮短研發(fā)定位時(shí)間。

模塊涉及到主要概念

?Flow:表示處理問(wèn)題的流程

?Action:表示Flow中需要執(zhí)行的操作,是有序的,是在程序中封裝好的對(duì)數(shù)據(jù)源的小粒度操作

?Situation:用戶(hù)定義的問(wèn)題場(chǎng)景,用于描述該問(wèn)題場(chǎng)景下日志的分析規(guī)則

situation由用戶(hù)創(chuàng)建,在查詢(xún)時(shí)需要指定該參數(shù),會(huì)根據(jù)situation中的規(guī)則分析出請(qǐng)求日志之間的順序。

平臺(tái)演示

后記

這三大運(yùn)維平臺(tái)用的都是開(kāi)源系統(tǒng),總共有12個(gè)系統(tǒng),Sonar、Jenkins、Ranche、Consul、ELK、Admin-Service、Zabbix、Prometheus、Smokeping、Grafana、Skywalking、Jumpserver。后續(xù)會(huì)基于Jenkins開(kāi)發(fā)一個(gè)Devops集成平臺(tái),將這些系統(tǒng)進(jìn)行整合,以便更好地支持前端業(yè)務(wù)交付。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容