DevOps之運維平台構建

2021-10-22 06:35:19 字數 2291 閱讀 4219

如今很多人認為devops將徹底取代傳統運維,我不這麼認為,在我看來devops只是很大程度上的代替了傳統運維的手工操作,運維人員只需寫好自動化運維指令碼,利用自動化工具(zabbix,elk,ansible等)就可以實現自動發布和監控,省去了很多人力。因此devops能否順利落地,運維平台的建設將會很重要。本文主要簡單介紹下我司的三大運維平台。

運維職責

運維平台

當前我司運維平台主要有3個:

持續整合和交付

①基於jenkins持續構建

②支援容器化打包和部署

③發布平台,支援灰度發布,異常快速回滾

監控告警平台

①完善的監控體系:覆蓋機器、網路、服務和客戶裝置維度

②快速的異常發現和告警

問題定位平台

①基於elk實現日誌採集、上報、告警

②採集軟體平台所有元件的執行日誌

③通過呼叫鏈分析和定位裝置問題

平台運營情況

持續整合和交付

持續整合(ci),微服務元件全部改造成容器化部署,並通過k8s實現編排。

持續交付(cd),做乙個版本發布平台:支援灰度、藍綠發布、版本回滾。

監控平台

公司之前一直使用的是zabbix+grafana的監控方式,隨著我們的微服務推行容器化後,k8s應用的監控需求增加,prometheus會更適合容器的監控。另外,prometheus用的就是自研的 tsdb,zabbix 則用的是 mysql 或 postgresql,在高併發的情況下,時序型資料庫讀寫效能是遠高於關係型資料庫的,同時還提供了很多內建的基於時間的處理函式,簡化資料聚合的難度。因此我們現在也逐步將zabbix遷移到prometheus。目前監控平台採集覆蓋基礎資源38項,102個元件、9項業務監控。

問題定位平台

背景:線上使用者反饋裝置使用異常,研發或qa介入排查,經常出現問題定位時間太長,問題反饋不及時,客戶體驗較差。因此需要開發乙個問題定位平台,聚合一些裝置日誌和監控資料進行分析,縮短研發定位時間。

模組涉及到主要概念

•flow:表示處理問題的流程

•action:表示flow中需要執行的操作,是有序的,是在程式中封裝好的對資料來源的小粒度操作

•situation:使用者定義的問題場景,用於描述該問題場景下日誌的分析規則

situation由使用者建立,在查詢時需要指定該引數,會根據situation中的規則分析出請求日誌之間的順序。

平台演示

後記

這三大運維平台用的都是開源系統,總共有12個系統,sonar、jenkins、ranche、consul、elk、admin-service、zabbix、prometheus、smokeping、grafana、skywalking、jumpserver。後續會基於jenkins開發乙個devops整合平台,將這些系統進行整合,以便更好地支援前端業務交付。

如何構建智慧型運維平台?

隨著技術的發展,運維支撐必須逐漸擺脫對人力的單純依賴,走向平台化。如何才能構建具有一定智慧型的運維平台?軟體即服務 software as a service 需要以軟體服務為基礎,實現運維的it能力和業務能力的對接。生活中,幾乎我們每一天都在接觸saas雲服務,比如 我們平時使用的蘋果手機雲服務,...

運維平台系列 關於DevOps平台架構思考

現在很多公司都在推行devops平台。為了能夠提公升研發運維效率。這一章節主要寫點關於偏ops層面的東西,dev層面的東西主要涉及到研發域的內容包括 管理 編譯與發布管理 研發流程專案管理及bug管理等。乙個大的產品與技術架構圖 後續會將各個子產品域的設計大圖整理出來.1.關於決策層的思考 基於運維...

實戰 阿里巴巴 DevOps 轉型後的運維平台建設

摘要 阿里巴巴devops轉型之後,運維平台是如何建設的?阿里巴巴高階技術專家陳喻結合運維自身的理解,業務場景的分析和業界方 的一些思考,得出來一些最佳實踐分享給大家。前言 我是這個應用的 owner 是阿里巴巴devops轉型的重要策略,運維有了這個策略以後,pe大量的日常工作就可以釋放出來,會有...