加入收藏 設(shè)為首頁 聯(lián)系我們 歡迎光臨本網(wǎng)站!
郵箱:support@zcecs.com
地址:北京市西城區(qū)南濱河路27號(hào)貴都國際中心A座1111室
我們在數(shù)據(jù)可視化方面,我們通過采集器采集信息,通過同步器同步其它平臺(tái)信息,存儲(chǔ)在核心數(shù)據(jù)庫,通過閾值庫產(chǎn)生進(jìn)行對(duì)比告警,通過分析函數(shù)庫進(jìn)行性能分析,并產(chǎn)生一些我們運(yùn)維需要的報(bào)表進(jìn)行可視化管理。
作者簡介
魯逸丁 中國銀行卡組織運(yùn)維架構(gòu)師
長期從事金融信息系統(tǒng)運(yùn)維工作,專注于運(yùn)維體系建設(shè),對(duì)金融企業(yè)云計(jì)算運(yùn)維具有深刻理解,銀行卡組織云運(yùn)維平臺(tái)負(fù)責(zé)人。
前言
大家做運(yùn)維普遍經(jīng)歷這樣的過程:
首先我們會(huì)把操作做一個(gè)標(biāo)準(zhǔn)化,這個(gè)階段是運(yùn)維質(zhì)量的提升的階段。
在標(biāo)準(zhǔn)化實(shí)施完以后,由于數(shù)目的增加,或者是一些運(yùn)維場景的增多,我們會(huì)逐步的進(jìn)行一些工具化和自動(dòng)化,這個(gè)階段我們的運(yùn)維的效率得到提升。
但是眾多的工具以及自動(dòng)化腳本,會(huì)讓我們的管理過程中比較困難,隨著人員的變動(dòng)或者是一些工具維護(hù)過程中的差錯(cuò),我們的自動(dòng)化運(yùn)維工具的受眾群體不太穩(wěn)定。
這個(gè)時(shí)候我們就需要一個(gè)平臺(tái)將我們的運(yùn)維工具以及運(yùn)維過程中的一些經(jīng)驗(yàn)進(jìn)行沉淀,借助這個(gè)平臺(tái)實(shí)現(xiàn)我們的智能化運(yùn)維,于是我們從運(yùn)維人員的需求和體驗(yàn)出發(fā)出發(fā)進(jìn)行了一個(gè)運(yùn)維平臺(tái)產(chǎn)品化的構(gòu)建。
銀行卡組織云運(yùn)維平臺(tái)的概況
我給大家介紹一下我們IT體系建設(shè)的情況,差不多十年前我們以ITIL為基礎(chǔ)構(gòu)建了流程平臺(tái),變更、事件、問題、服務(wù)等流程通過這個(gè)平臺(tái)進(jìn)行流轉(zhuǎn)。
在五年前我們從開放平臺(tái)轉(zhuǎn)化為云運(yùn)維平臺(tái),在這個(gè)過程中,我也建立了IaaS虛擬化資源平臺(tái),同時(shí)我們也跟業(yè)界一樣構(gòu)建了CMDB,用于同意管理運(yùn)維數(shù)據(jù)。
但是在運(yùn)轉(zhuǎn)下來以后,我們發(fā)現(xiàn)還有很多需求需要實(shí)現(xiàn),主要三個(gè)方面:
軟硬件節(jié)點(diǎn)數(shù)目不斷增加,日常運(yùn)維迫切需要一個(gè)適應(yīng)各種運(yùn)維場景的高效自動(dòng)化平臺(tái),減少重復(fù)勞動(dòng)。
需求是將運(yùn)維人員的經(jīng)驗(yàn)需要在一個(gè)平臺(tái)沉淀,形成一個(gè)智能化場景庫,將運(yùn)維服務(wù)或能力的復(fù)用,從而提高整體運(yùn)維質(zhì)量和運(yùn)維效率。
第三個(gè)需求是在傳統(tǒng)的流程化運(yùn)維的基礎(chǔ)上,注入智能化場景,將運(yùn)維工作從依靠人工判斷、流程決策,逐步轉(zhuǎn)為依靠機(jī)器智能分析判斷。
所以基于這三方面需要,我們建設(shè)了一個(gè)云計(jì)算環(huán)境下面向規(guī)模化運(yùn)維的平臺(tái)。
云運(yùn)維平臺(tái)主要解決的是以下幾個(gè)痛點(diǎn):
互聯(lián)網(wǎng)業(yè)務(wù)在我所在的公司開展特別快,還會(huì)有一些營銷活動(dòng),這樣就需要運(yùn)維有一個(gè)快速的響應(yīng)。
我們的硬件數(shù)目有了一個(gè)幾何級(jí)的增長。
最近幾年頻繁的使用一些開源架構(gòu)新興技術(shù),對(duì)運(yùn)維技術(shù)增加了要求。
運(yùn)維工具散亂,缺乏同同一管理。
我們運(yùn)維數(shù)據(jù)沒有一個(gè)同一的的展示
第六個(gè)是我們的人力增長目前比較緩慢,我們在審計(jì)過程中會(huì)有一些人工安全性方面的問題。
出于這些方面考慮,我們運(yùn)維平臺(tái)的愿景,是運(yùn)維的質(zhì)量以及可運(yùn)維設(shè)備的數(shù)量不因我們的運(yùn)維人員的數(shù)量或者是技能的變化改變,從而實(shí)現(xiàn)我們的運(yùn)維的數(shù)量和質(zhì)量都達(dá)到一個(gè)可控的。
銀行卡組織的云運(yùn)維平臺(tái)是個(gè)怎樣的產(chǎn)品
接下來給大家介紹一下我們運(yùn)維平臺(tái)這個(gè)產(chǎn)品,主要四個(gè)方面:
第一是資源統(tǒng)一調(diào)度,我們可以將資源整合,我們通過資源平臺(tái)提供的API包括,包括Openstack、數(shù)據(jù)庫管理平臺(tái)、容器管理平臺(tái)、分布式存儲(chǔ)管理平臺(tái)、網(wǎng)絡(luò)管理平臺(tái)、安全管理平臺(tái),將我們所常用的運(yùn)維操作,都整合在我們這個(gè)運(yùn)維平臺(tái)中,將我們的運(yùn)維流程盡量的簡化,實(shí)現(xiàn)自助化運(yùn)維。
第二,我們希望借助我們運(yùn)維平臺(tái)盡量實(shí)現(xiàn)自動(dòng)化管理,減少我們手工操作,實(shí)現(xiàn)自動(dòng)的數(shù)據(jù)收集、自動(dòng)應(yīng)用安裝、自動(dòng)配置和更新、自動(dòng)數(shù)據(jù)分析、自動(dòng)擴(kuò)展、自動(dòng)備份恢復(fù)、自動(dòng)鼓掌處理等。
第三是多維為可視化,讓各個(gè)角色有一個(gè)在平臺(tái)上都有一個(gè)獨(dú)立的視角,以角色重定義運(yùn)維。如網(wǎng)絡(luò)管理視圖,系統(tǒng)管理視圖、監(jiān)控視圖、報(bào)表視圖等。統(tǒng)一報(bào)表系統(tǒng),統(tǒng)一全局?jǐn)?shù)據(jù)并提供可自定義多維報(bào)表。
最后一個(gè)就是實(shí)現(xiàn)高性能,我們希望我們這個(gè)運(yùn)維平臺(tái)可以滿足萬級(jí)節(jié)點(diǎn)的并發(fā)收集、執(zhí)行。
云運(yùn)維平臺(tái)建設(shè)場景
這個(gè)是我們運(yùn)維平臺(tái)的場景規(guī)劃圖,下面是我們一個(gè)核心的調(diào)動(dòng)模塊。包括執(zhí)行、采集以及和其他流程的對(duì)接,中間是我們這個(gè)運(yùn)維平臺(tái)主要要做的事情,我們把這個(gè)叫做運(yùn)維OS,圖表管理實(shí)現(xiàn)自動(dòng)化拓?fù)浜妥远x報(bào)表,全生命周期管理是實(shí)現(xiàn)應(yīng)用系統(tǒng)從上線到下線通過我們這個(gè)平臺(tái)實(shí)現(xiàn)一個(gè)自動(dòng)化的實(shí)施。
運(yùn)行環(huán)境管理和運(yùn)維工具給實(shí)際的運(yùn)維人員提供一個(gè)比較便利的一個(gè)操作環(huán)境,包括備份比對(duì),作業(yè)編排以及參數(shù)管理等,容量管理我們是希望通過我們這個(gè)平臺(tái)將監(jiān)控的數(shù)據(jù)進(jìn)行一個(gè)匯總,實(shí)現(xiàn)對(duì)容量的管控。
高可用管理對(duì)我們各個(gè)應(yīng)用系統(tǒng),各個(gè)層面的組件的可用性進(jìn)行一個(gè)統(tǒng)一的管理,可用性監(jiān)控,自動(dòng)化可用性演練。
重點(diǎn)場景一:生命周期管理
第一個(gè)是生命周期管理,我們周圍在以前的一個(gè)部署過程中,通常是這樣的,開發(fā)人員寫一個(gè)是需求文檔通過內(nèi)部流程給運(yùn)維接口人,他會(huì)協(xié)調(diào)各資源管理員分配資源,形成部署方案,最后將這個(gè)部署方案通過人工構(gòu)建變更的方式實(shí)施。
這里面有兩個(gè)問題,一是傳遞過程中可能偏差,第是周期比較長,我們希望借助我們的云運(yùn)維平臺(tái)實(shí)現(xiàn)參數(shù)級(jí)別的電子化傳遞,以及自動(dòng)化的部署。也就是用戶在我們平臺(tái)上面選擇需要的組件,以及資源需求,由我們的管理員分配、確認(rèn)實(shí)際的部署資源。
最后由平臺(tái)進(jìn)行一個(gè)自動(dòng)化的部署,并在部署過程中自動(dòng)進(jìn)行各項(xiàng)規(guī)范標(biāo)準(zhǔn)的實(shí)施。
重要場景二:運(yùn)行環(huán)境管理
第二個(gè)場景是我們的運(yùn)行環(huán)境管理,包括資源類的CPU、內(nèi)存、IP、端口、訪問關(guān)系等,以及我們運(yùn)維人員關(guān)注的,定時(shí)任務(wù)、備份策略、自啟動(dòng)項(xiàng)目等。我們通過云運(yùn)維平臺(tái)對(duì)運(yùn)行環(huán)境進(jìn)行管理,替代原有excel表格,并進(jìn)行自動(dòng)化設(shè)置。
重要場景三:持續(xù)部署管理
第三個(gè)場景是持續(xù)部署管理,傳統(tǒng)部署方式我們會(huì)遇到一些問題,包括:應(yīng)用版本通過版本服務(wù)器多次人工傳遞,各應(yīng)用的配置、維護(hù)腳本沒有統(tǒng)一標(biāo)準(zhǔn);通過表格人工維護(hù)各環(huán)境的參數(shù)差異,不同環(huán)境人工修改參數(shù);應(yīng)用的安裝過程視變更人員經(jīng)驗(yàn),異常告警沒有統(tǒng)一標(biāo)準(zhǔn),回退方式不統(tǒng)一等。
為此,我們做了一個(gè)持續(xù)發(fā)布的標(biāo)準(zhǔn),而且將這些標(biāo)準(zhǔn)借助這個(gè)平臺(tái)可以實(shí)施,包括:統(tǒng)一版本傳遞路線,版本標(biāo)準(zhǔn)化;構(gòu)建生產(chǎn)、測試、研發(fā)環(huán)境配置差異庫,平臺(tái)根據(jù)所在環(huán)境自動(dòng)生存對(duì)應(yīng)參數(shù);標(biāo)準(zhǔn)化應(yīng)用部署過程,多節(jié)點(diǎn)安裝順序自由編排,按照編排順序進(jìn)行安裝;標(biāo)準(zhǔn)異常告警;故障時(shí)按照編排順序逆向回退。
重要場景四:運(yùn)行環(huán)境維護(hù)
第四個(gè)場景是是常用運(yùn)維工具集成,包括我們常用的應(yīng)用重啟、健康檢查、隔離、恢復(fù)工具,服務(wù)器的一些物理測試,以及自動(dòng)裝機(jī)后自動(dòng)接入OpenStack或者是其它資源管理平臺(tái)的自動(dòng)對(duì)接,網(wǎng)絡(luò)設(shè)備的健康檢查,還有一些定期的安全檢查,我們把這些工具集成在我們的云運(yùn)維平臺(tái)上。
重要場景五:畫像場景
第五個(gè)場景是我們應(yīng)用為維度的應(yīng)用畫像,通常我們一個(gè)應(yīng)用可能有很多的元素,大家想知道這些元素會(huì)比較困難,例如這個(gè)應(yīng)用的架構(gòu)是什么樣的,可能只有在一些應(yīng)用的開發(fā)設(shè)計(jì)人員,或者是一些骨干的心中才能知道,也不一定特別的準(zhǔn)確。
應(yīng)用的參數(shù)可能有很多要到服務(wù)器查。應(yīng)用版本、參數(shù)變遷、維護(hù)記錄需要翻變更,應(yīng)用各個(gè)層面的容量情況需要找各專業(yè)室查。應(yīng)用的情況普遍說不清,要廢很大的力氣才知道是什么樣。
我們在云運(yùn)維平臺(tái)里面,借助我們之前提到的各種產(chǎn)品管理工具,容量管理和高可用管理,我們放在一個(gè)視圖的畫像里面,根據(jù)變遷維護(hù)歷史以及應(yīng)用的容量、高可用信息,還可以計(jì)算出這個(gè)應(yīng)用他的運(yùn)維方面的成熟度。
云運(yùn)維平臺(tái)技術(shù)方案
在硬件資產(chǎn)層面我們通過一些snmp等工具獲取狀態(tài)及操作,虛擬資源層面我們目前借助openstack及其它管理平臺(tái)提供的接口進(jìn)行管理,操作系統(tǒng)之上我們通過自主開發(fā)的核心調(diào)度系統(tǒng)對(duì)linux及應(yīng)用進(jìn)行管理。
我們整個(gè)平臺(tái)是使用權(quán)的一個(gè)部署,除了下面的緩存和MySQL其他所有的組件都是全容器的部署,前端使用apache、haproxy、keepalived;后端使用jboss、rabbitmq、ansible、zookeeper;數(shù)據(jù)存儲(chǔ)采用mysql、redis、ceph等;另外我們還有一個(gè)安全服務(wù)模塊,檢查是否會(huì)有一些高危操作。
業(yè)務(wù)流技術(shù)
上圖是我們具體的一個(gè)業(yè)務(wù)流程,左邊是我們這個(gè)云運(yùn)維平臺(tái)的界面,一個(gè)運(yùn)維請(qǐng)求會(huì)被封裝為一個(gè)消息會(huì)放到消息隊(duì)列里面,schedule模塊接收到消息后按照調(diào)度算法,自動(dòng)分配給ansible節(jié)點(diǎn),ansible節(jié)點(diǎn)通過ssh到服務(wù)器上執(zhí)行,并將執(zhí)行結(jié)果異步返回給消息隊(duì)列。
schedule的調(diào)度算法與Ansible分布式架構(gòu)
schedule的調(diào)度算法,是我們考慮到我們生產(chǎn)環(huán)境有很多的分區(qū),我們會(huì)根據(jù)他的IP自動(dòng)生成一個(gè)所屬區(qū)域的tag,schedule在發(fā)現(xiàn)這些消息以后,他會(huì)針對(duì)你tag以及目標(biāo)機(jī)器數(shù)據(jù)進(jìn)行拆分,我們把這個(gè)詳細(xì)拆分幾個(gè)消息,ansible去訂閱處理自己的消息。
我們在ansible上進(jìn)行一個(gè)改造,所有任務(wù)均有唯一的id,處理完成后返回消息,從而實(shí)現(xiàn)多任務(wù)的并發(fā)異步執(zhí)行。
數(shù)據(jù)可視化
我們在數(shù)據(jù)可視化方面,我們通過采集器采集信息,通過同步器同步其它平臺(tái)信息,存儲(chǔ)在核心數(shù)據(jù)庫,通過閾值庫產(chǎn)生進(jìn)行對(duì)比告警,通過分析函數(shù)庫進(jìn)行性能分析,并產(chǎn)生一些我們運(yùn)維需要的報(bào)表進(jìn)行可視化管理。
銀行卡組織云運(yùn)維平臺(tái)成果展示
我們平臺(tái)的建設(shè)結(jié)果,我們這個(gè)平臺(tái)上面已經(jīng)完全建設(shè)的一些部分,另外有一些功能我們在開發(fā),這個(gè)是我們在實(shí)際中已經(jīng)上線的平臺(tái),大概有幾千太的虛擬服務(wù)器,我們首先看到這個(gè)信息中心里面有一個(gè)機(jī)房,我們看到一些機(jī)柜,并且配置好每一個(gè)機(jī)柜里面對(duì)應(yīng)的哪些服務(wù)器。
這個(gè)交換機(jī)/F5-物理服務(wù)器-虛擬服務(wù)器自動(dòng)拓?fù)涞捻撁妫俏覀兏鶕?jù)snmp抓取交換機(jī)、F5信息,通過anbible抓取物理機(jī)的信息,通過openstack抓取虛擬機(jī)的信息,根據(jù)上述消息自動(dòng)生成拓?fù)洹?/p>
數(shù)據(jù)同步可以自定義定時(shí)抓數(shù)據(jù)。
這是一個(gè)實(shí)際的備份管理的功能,我們可以用我們的這個(gè)平臺(tái)選取相應(yīng)的服務(wù)器,通過平臺(tái)自助定時(shí)、即時(shí)備份。
自助化啟動(dòng)項(xiàng)管理。
自助化定時(shí)任務(wù)管理。