金融行業(yè)如何基于開源軟件自主開發(fā)自動化運(yùn)維系統(tǒng)?

搭建自動化運(yùn)維系統(tǒng)、自動化批量調(diào)度、自動化投產(chǎn)上線三個維度的自動化體系,結(jié)合上層可集成整合化的自動化運(yùn)維平臺,滿足生產(chǎn)系統(tǒng)端到端自動化運(yùn)維的需求。加速端到端運(yùn)維交付的質(zhì)量和規(guī)范性,減輕運(yùn)維工作成本,釋放運(yùn)維動能。

一、背景與痛點(diǎn)

隨著我行業(yè)務(wù)的迅猛發(fā)展,金融科技引領(lǐng)的效果不斷增強(qiáng),業(yè)務(wù)系統(tǒng)數(shù)量不斷攀升,對應(yīng)的軟硬件基礎(chǔ)架構(gòu)也越來越龐大,各系統(tǒng)相應(yīng)的運(yùn)行與維護(hù)工作的難度和復(fù)雜度也與日劇增,規(guī)范化、精細(xì)化運(yùn)維得不到有效施展,越來越多的運(yùn)維痛點(diǎn)問題開始不斷涌現(xiàn),與此同時帶來各種運(yùn)維風(fēng)險(xiǎn),影響業(yè)務(wù)連續(xù)性。其痛點(diǎn)主要體現(xiàn)在以下六個方面:

1、信息資源數(shù)據(jù)難管理、難使用、準(zhǔn)確性低的痛點(diǎn)。

(1)運(yùn)用多張EXCEL表格維護(hù)幾千臺服務(wù)器和100余個應(yīng)用系統(tǒng)的軟硬件資源信息,信息無法共享和及時同步更新,數(shù)據(jù)錯誤率高,容易造成運(yùn)維工作誤判。

(2)為保證EXCEL表格數(shù)據(jù)準(zhǔn)確性,需經(jīng)常進(jìn)行信息資產(chǎn)盤點(diǎn),耗時耗力。

(3)數(shù)據(jù)間的關(guān)聯(lián)無法得到體現(xiàn),數(shù)據(jù)用不活,更無法被信息系統(tǒng)利用。

2、基礎(chǔ)監(jiān)控盲點(diǎn)多,覆蓋面不全,信息系統(tǒng)故障得不到及時響應(yīng),告警信息無法正確匹配軟硬件資源而產(chǎn)生誤告的痛點(diǎn)。

(1)信息資產(chǎn)多,信息更新快,監(jiān)控部署和清除跟不上變化,需經(jīng)常查漏補(bǔ)缺,未及時被監(jiān)控的系統(tǒng)風(fēng)險(xiǎn)極大。

(2)未被自動化運(yùn)維系統(tǒng)管控的計(jì)算實(shí)例,無法自動采集信息、批量查詢、操作和巡檢等,需要人工梳理和發(fā)現(xiàn)。

(3)未被監(jiān)控和自動化運(yùn)維的計(jì)算實(shí)例無法通過有效地手段告知運(yùn)維人員。

3、運(yùn)維人員忙亂于繁雜的軟硬件與運(yùn)行環(huán)境的部署、安裝、創(chuàng)建與配置,整體運(yùn)維效率低下,精細(xì)化水平不高。

(1)運(yùn)維人員的大部分精力耗費(fèi)在運(yùn)維環(huán)境部署上,尤其體現(xiàn)在新系統(tǒng)上線頻度高,上線量和環(huán)境部署量大時,因時間不足,得不到更高運(yùn)維價(jià)值的鍛煉,運(yùn)維眼界和思路得不到開拓。

(2)單個系統(tǒng)逐個手動部署、安裝、創(chuàng)建和配置,容易遺漏、錯配,或者配置需保持一致的多臺計(jì)算實(shí)例產(chǎn)生差異化。

(3)監(jiān)控、備份等運(yùn)維服務(wù)得不到重視,運(yùn)維人員在大量完成應(yīng)用環(huán)境準(zhǔn)備后,無精力去部署監(jiān)控和備份,造成系統(tǒng)上線后無有效監(jiān)控的問題。

4、存在直接運(yùn)維操作風(fēng)險(xiǎn),運(yùn)維人員水平參差不齊,無法調(diào)動更多的運(yùn)維人力參與運(yùn)維工作,釋放更多操作員的主觀能動性,團(tuán)體運(yùn)維的價(jià)值和力量體現(xiàn)嚴(yán)重欠缺。

(1)運(yùn)維人員少,工作壓力大,操作員多,但工作范疇相對單一,但介于運(yùn)維技術(shù)的專業(yè)性,無法將操作員更好融入運(yùn)維團(tuán)隊(duì)。

(2)人工巡檢直接登陸系統(tǒng),通過超級用戶巡檢,風(fēng)險(xiǎn)隱患極大,巡檢人員素質(zhì)參差不齊,需要靠運(yùn)維人員實(shí)時跟蹤其巡檢,耗費(fèi)精力,其他事情擱置。

(3)每次人工巡檢的結(jié)果未歸檔和保留,更無法查詢,造成運(yùn)維巡檢數(shù)據(jù)丟失,得不到有效積累,更無法通過歷史運(yùn)維數(shù)據(jù)挖掘深層次信息。

5、日常運(yùn)維巡檢過程可能因巡檢誤操作帶來衍生風(fēng)險(xiǎn),需巡檢的軟硬件設(shè)備與日俱增,巡檢效率低下,遺檢漏檢等現(xiàn)象嚴(yán)重。

(1)巡檢點(diǎn)多,類別多,涵蓋面廣,依靠人工單個巡檢無法面面俱到。

(2)人工巡檢直接登陸系統(tǒng),通過超級用戶巡檢,風(fēng)險(xiǎn)隱患極大,巡檢人員素質(zhì)參差不齊,需要靠運(yùn)維人員實(shí)時跟蹤其巡檢,耗費(fèi)精力,其他事情擱置。

(3)每次人工巡檢的結(jié)果未歸檔和保留,更無法查詢,造成運(yùn)維巡檢數(shù)據(jù)丟失,得不到有效積累,更無法通過歷史運(yùn)維數(shù)據(jù)挖掘深層次信息。

6、應(yīng)用的資源和環(huán)境申請?jiān)丛床粩?,?dǎo)致了運(yùn)維人員大量時間花費(fèi)在環(huán)境部署和復(fù)核方面,未及時復(fù)核的、不滿足配置與基線規(guī)范的系統(tǒng)往往存在較大的系統(tǒng)、數(shù)據(jù)庫、中間件、高可用等安全風(fēng)險(xiǎn)隱患,隨著系統(tǒng)運(yùn)行和業(yè)務(wù)激增,業(yè)務(wù)故障后,方才發(fā)現(xiàn)配置的不合規(guī)性。

(1)基礎(chǔ)架構(gòu)的標(biāo)準(zhǔn)規(guī)范無法得到有效落地,形成一紙空文。

(2)系統(tǒng)上線前基礎(chǔ)環(huán)境的配置與基線誤配、錯配和漏配導(dǎo)致的運(yùn)行風(fēng)險(xiǎn)陡增。

(3)依靠人工的檢查和上線前基礎(chǔ)環(huán)境復(fù)核的點(diǎn)過多,難以面面俱到,同時復(fù)核到位程度也跟運(yùn)維人員的能力有關(guān),隱藏配置不合規(guī)風(fēng)險(xiǎn)問題依舊存在。

二、總體規(guī)劃

為有效解決我行現(xiàn)有痛點(diǎn),對照我行固本強(qiáng)基、提質(zhì)增效的工作總要求,我科堅(jiān)決革故鼎新,在運(yùn)維領(lǐng)域堅(jiān)持自主運(yùn)維與科技創(chuàng)新齊進(jìn),推動運(yùn)維領(lǐng)域工作邁向信息化、數(shù)字化、自動化、智能化、場景化轉(zhuǎn)型。因此在我行現(xiàn)有基礎(chǔ)監(jiān)控、動力環(huán)境監(jiān)控、網(wǎng)絡(luò)監(jiān)控、硬件監(jiān)控、業(yè)務(wù)性能監(jiān)控等監(jiān)控子系統(tǒng),和集中監(jiān)控平臺、運(yùn)維大數(shù)據(jù)平臺、運(yùn)維流程平臺等統(tǒng)一平臺的基礎(chǔ)之上,進(jìn)一步拓展、擴(kuò)大運(yùn)維體系架構(gòu)和覆蓋范圍,例如終端性能監(jiān)控、應(yīng)用性能監(jiān)控和網(wǎng)絡(luò)性能監(jiān)控等監(jiān)控子系統(tǒng),統(tǒng)一CMDB平臺、自動化運(yùn)維平臺和IT可視化平臺等統(tǒng)一平臺。整體規(guī)劃架構(gòu)圖如下所示:

1、監(jiān)控體系架構(gòu)簡介:滿足業(yè)務(wù)系統(tǒng)端到端監(jiān)控的需求。建立用戶APP、WEB、客戶端等終端的終端性能和體驗(yàn)監(jiān)控系統(tǒng),通過不同的方式收集各類終端的行為或體驗(yàn)數(shù)據(jù),接入后端運(yùn)維大數(shù)據(jù),為不同的用戶的行為進(jìn)行畫像,供精準(zhǔn)營銷或者風(fēng)控項(xiàng)目消費(fèi),進(jìn)一步指導(dǎo)業(yè)務(wù)的運(yùn)營和管理;建立從業(yè)務(wù)層、網(wǎng)絡(luò)層和應(yīng)用層三個層面和角度的專業(yè)監(jiān)控系統(tǒng),輸出各個層面的監(jiān)控和統(tǒng)計(jì)指標(biāo),滿足故障排查和定位根因提供不同角度的監(jiān)控支持,而非傳統(tǒng)監(jiān)控的只發(fā)現(xiàn)現(xiàn)象而無法定位根源點(diǎn)和原因;結(jié)合現(xiàn)有各項(xiàng)基礎(chǔ)監(jiān)控子系統(tǒng),全面實(shí)時掌控業(yè)務(wù)系統(tǒng)各個層面的指標(biāo)狀態(tài),及時定位故障根因,提升業(yè)務(wù)系統(tǒng)連續(xù)性。

2、自動化運(yùn)維體系架構(gòu)簡介:搭建自動化運(yùn)維系統(tǒng)、自動化批量調(diào)度、自動化投產(chǎn)上線三個維度的自動化體系,結(jié)合上層可集成整合化的自動化運(yùn)維平臺,滿足生產(chǎn)系統(tǒng)端到端自動化運(yùn)維的需求。加速端到端運(yùn)維交付的質(zhì)量和規(guī)范性,減輕運(yùn)維工作成本,釋放運(yùn)維動能。

3、智能運(yùn)維體系架構(gòu)簡介:智能運(yùn)維需要數(shù)據(jù)才能有產(chǎn)出,基礎(chǔ)配置數(shù)據(jù)來源于CMDB,分析數(shù)據(jù)來源于各不同角度的監(jiān)控子系統(tǒng),通過建立運(yùn)維大數(shù)據(jù)平臺,來整合所有的基礎(chǔ)性能數(shù)據(jù)、用戶終端性能數(shù)據(jù)、網(wǎng)絡(luò)性能數(shù)據(jù)、業(yè)務(wù)性能數(shù)據(jù)和應(yīng)用程序性能數(shù)據(jù)等指標(biāo)型數(shù)據(jù),事件告警數(shù)據(jù)、應(yīng)用日志數(shù)據(jù)和系統(tǒng)日志數(shù)據(jù)等日志型數(shù)據(jù),甚至網(wǎng)絡(luò)報(bào)文數(shù)據(jù)等,產(chǎn)出例如告警事件與指標(biāo)性數(shù)據(jù)的關(guān)聯(lián),進(jìn)行智能分析,得出可能的原因,定位告警源。運(yùn)維大數(shù)據(jù)不僅僅是簡單的數(shù)據(jù)集中化和展示,更深層次的目標(biāo)是多數(shù)據(jù)源的挖掘和分析,需結(jié)合人工智能技術(shù)深入探索運(yùn)維智能化的落地與見效。

4、多系統(tǒng)、平臺間聯(lián)動體系簡介:統(tǒng)一CMDB為所有系統(tǒng)和平臺提供統(tǒng)一的配置基準(zhǔn)數(shù)據(jù),提升聯(lián)動的數(shù)據(jù)質(zhì)量和效果;自動化運(yùn)維平臺自動采集和發(fā)現(xiàn)價(jià)值數(shù)據(jù)和數(shù)據(jù)關(guān)聯(lián),供其他系統(tǒng)和平臺使用,和各項(xiàng)資源建立自動化關(guān)聯(lián)關(guān)系,提供不同自動化運(yùn)維場景調(diào)用API,供其他系統(tǒng)和平臺調(diào)用;集中監(jiān)控平臺對接所有監(jiān)控系統(tǒng)和平臺,實(shí)時收集所有事件和告警,結(jié)合CMDB配置數(shù)據(jù),第一時間匹配和豐富事件告警內(nèi)容,以豐富的通知手段和詳盡真實(shí)的告警詳情告知相關(guān)負(fù)責(zé)人;運(yùn)維大數(shù)據(jù)通過多樣化、不同通道的方式,集成各系統(tǒng)和平臺的實(shí)時或歷史的結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù),并進(jìn)行過濾、清洗、加工、整合、分析、輸出和數(shù)據(jù)持久化;IT架構(gòu)可視化系統(tǒng)通過業(yè)務(wù)系統(tǒng)部署架構(gòu)圖、業(yè)務(wù)邏輯架構(gòu)圖、業(yè)務(wù)網(wǎng)絡(luò)拓?fù)鋱D三類架構(gòu)圖的方式,結(jié)合運(yùn)維大數(shù)據(jù)中,不同數(shù)據(jù)源的數(shù)據(jù),包括智能運(yùn)維產(chǎn)出的建議,進(jìn)行實(shí)時的展示,讓數(shù)據(jù)和圖聯(lián)動,更為直觀的展示業(yè)務(wù)系統(tǒng)整體運(yùn)行狀況。運(yùn)維以IT架構(gòu)可視化為主,智能運(yùn)維為輔,強(qiáng)調(diào)人在運(yùn)維中不可替代性。

三、自動化運(yùn)維系統(tǒng)實(shí)踐

在以上的總體規(guī)劃基礎(chǔ)之上,我科全面展開了自動化運(yùn)維系統(tǒng)、批量調(diào)度自動化、自動化投產(chǎn)三位一體的自動化運(yùn)維平臺建設(shè)工作,通過以上項(xiàng)目的建設(shè),可以很好的滿足端到端運(yùn)維自動化的工作任務(wù)。

由于整體文章篇幅的問題,筆者下面將重點(diǎn)介紹其中之一的,基于開源Ansible軟件和CMDBuild軟件,自主部署的自動化運(yùn)維系統(tǒng)。我科通過Shell腳本,成功開發(fā)了若干實(shí)用功能的自動化、批量運(yùn)維的友好窗口界面,并自主搭建了CMDB(配置管理數(shù)據(jù)庫),便于軟硬件資源集中管控。該系統(tǒng)大幅提升了運(yùn)維工作的效率,進(jìn)一步減輕了運(yùn)維人員的工作壓力,并標(biāo)準(zhǔn)規(guī)范化了運(yùn)維操作,同時規(guī)避了人工直接運(yùn)維帶來的操作風(fēng)險(xiǎn);該系統(tǒng)涵蓋了生產(chǎn)交易類與管理類系統(tǒng)近2000余個計(jì)算實(shí)例的批量運(yùn)維工作。自動化運(yùn)維系統(tǒng)整體架構(gòu)如下圖所示:

用戶通過窗口界面調(diào)用Ansible,來向受管控的主機(jī)執(zhí)行各種命令,實(shí)現(xiàn)各類功能場景,包括監(jiān)控批量部署、備份批量部署、日常批量運(yùn)維、軟件批量安裝、批量巡檢、配置基線批量核查等等;

Ansible所在服務(wù)器定期執(zhí)行任務(wù)計(jì)劃,自動收集受管控主機(jī)的各類軟硬件配置信息,并同步至CMDB中;

Ansible所在服務(wù)器定期執(zhí)行任務(wù)計(jì)劃,將CMDB中的軟硬件配置信息同步至集中監(jiān)控平臺,監(jiān)控平臺的告警事件的信息更精準(zhǔn);

Ansible所在服務(wù)器定期執(zhí)行任務(wù)計(jì)劃,將集中監(jiān)控平臺中的監(jiān)控點(diǎn)與CMDB中的軟硬件配置信息進(jìn)行比對,發(fā)現(xiàn)尚未部署的監(jiān)控點(diǎn),將該信息上送給CMDB,便于運(yùn)維人員查看;

Ansible所在服務(wù)器定期執(zhí)行任務(wù)計(jì)劃,同步CMDB中需要自動化運(yùn)維的主機(jī)信息,并檢測是否都已具備自動化運(yùn)維條件(互信、Python安裝等),并將尚不能進(jìn)行自動化運(yùn)維的主機(jī)信息上送給CMDB,便于運(yùn)維人員查看;

Ansible所在服務(wù)器定期執(zhí)行任務(wù)計(jì)劃,比對集中監(jiān)控平臺中的監(jiān)控分組信息與CMDB中軟硬件配置信息,發(fā)現(xiàn)尚未納入監(jiān)控分組中的主機(jī),將該信息上送給CMDB,便于運(yùn)維人員查看;

Ansible所在服務(wù)器定期執(zhí)行任務(wù)計(jì)劃,將一體化流程平臺中的軟硬件資源申請相關(guān)信息同步至CMDB中,減輕人工錄入的工作量。

下面對其主要功能、實(shí)踐方案和實(shí)踐效果詳細(xì)說明。

1、理順雙數(shù)據(jù)中心軟硬件資源及關(guān)聯(lián)關(guān)系,將數(shù)據(jù)納入自主開發(fā)的信息系統(tǒng)管理(CMDB),結(jié)合自動化運(yùn)維平臺對計(jì)算實(shí)例中軟硬件資源及軟件版本的自動化采集和對接將來的RFID射頻定位數(shù)據(jù),自動化地精準(zhǔn)軟硬件資源的信息數(shù)據(jù)。消除目前的信息資源數(shù)據(jù)難管理、難使用、準(zhǔn)確性低的痛點(diǎn)。

實(shí)踐方案:

(1)CMDB與Ansible環(huán)境搭建:通過開源CMDBuild搭建CMDB配置管理系統(tǒng),建立自上而下的數(shù)據(jù)表和表間關(guān)聯(lián)關(guān)系,導(dǎo)入和梳理現(xiàn)有軟硬件資源及配置數(shù)據(jù);Ansible環(huán)境搭建可參考筆者另一篇文章:Ansible自動化運(yùn)維體系在生產(chǎn)環(huán)境下實(shí)踐(11步極快速搭建)

(2)CPU和內(nèi)存大小自動獲取:通過Ansible setup模塊獲取各主機(jī)facts數(shù)據(jù),通過Filter過濾出CPU顆數(shù)和內(nèi)存總大??;編輯Ansible-cmdb的TPL模板,利用Ansible-cmdb模塊輸出主機(jī)IP、CPU顆數(shù)與內(nèi)存大小列表,并對該列表的格式進(jìn)行加工、轉(zhuǎn)換成適合進(jìn)一步加工成SQL語句的csv格式文件,最終運(yùn)行SQL語句更新CPU和內(nèi)存數(shù)據(jù)至對應(yīng)的CMDB表中。方案邏輯流程如下圖所示:

(3)硬盤容量、操作系統(tǒng)版本自動獲?。和ㄟ^Ansible setup模塊獲取各主機(jī)facts數(shù)據(jù),通過Filter過濾出各硬盤容量大小和操作系統(tǒng)類型。編輯Ansible-cmdb的TPL模板,通過對操作系統(tǒng)類型進(jìn)行判斷(AIX或者Linux),當(dāng)為AIX操作系統(tǒng)時,調(diào)用Ansible Script模塊,將腳本注入各主機(jī)執(zhí)行,獲取所有VG的總大小,或者通過調(diào)用Ansible Command模塊獲取AIX操作系統(tǒng)詳細(xì)版本,其后再通過計(jì)算并按照模板格式輸出;當(dāng)為Linux操作系統(tǒng)時,直接采用setup過濾后的值。這些指標(biāo)最終統(tǒng)一通過Ansible-cmdb模塊輸出為主機(jī)IP、硬盤總?cè)萘?、操作系統(tǒng)版本列表,并對該列表的格式進(jìn)行加工、轉(zhuǎn)換成適合進(jìn)一步加工成SQL語句的csv格式文件,最終運(yùn)行SQL語句更新硬盤容量、操作系統(tǒng)版本數(shù)據(jù)至對應(yīng)的CMDB表中。方案邏輯流程如下圖所示:

(4)軟件組合和版本自動獲?。赫{(diào)用Ansible Script模塊,將腳本注入各主機(jī)執(zhí)行,獲取該主機(jī)上安裝的標(biāo)準(zhǔn)軟件和對應(yīng)版本等數(shù)據(jù);編輯Ansible-cmdb的TPL模板,按照模板格式輸出軟件組合和版本;通過Ansible-cmdb模塊輸出主機(jī)IP、軟件組合和版本信息列表,并對該列表的格式進(jìn)行加工、轉(zhuǎn)換成適合進(jìn)一步加工成SQL語句的csv格式文件,最終運(yùn)行SQL語句更新軟件組合和版本數(shù)據(jù)至對應(yīng)的CMDB數(shù)據(jù)表。方案邏輯流程如下圖所示:

(5)同步流程平臺數(shù)據(jù):調(diào)用Ansible Script模塊獲取流程平臺的軟硬件資源申請、應(yīng)用系統(tǒng)上線等工單數(shù)據(jù),涉及對新增的應(yīng)用系統(tǒng)、計(jì)算實(shí)例和硬件等數(shù)據(jù)記錄的自動同步;編輯Ansible-cmdb的TPL模板,按照模板格式輸出新增數(shù)據(jù)記錄列表,并經(jīng)過數(shù)據(jù)格式加工、轉(zhuǎn)換成適合進(jìn)一步加工成SQL語句的csv格式文件,最終運(yùn)行SQL語句插入相關(guān)數(shù)據(jù)至對應(yīng)的CMDB數(shù)據(jù)表。方案邏輯流程如下圖所示:

實(shí)踐效果:

(1)搭建CMDB,將數(shù)據(jù)信息納入信息系統(tǒng)中管理,統(tǒng)一數(shù)據(jù)查詢與更新界面,實(shí)現(xiàn)數(shù)據(jù)共享,在同一數(shù)據(jù)使用界面,統(tǒng)一運(yùn)維,保證運(yùn)維的同一數(shù)據(jù)基礎(chǔ)。

(2)無需經(jīng)常進(jìn)行數(shù)據(jù)資產(chǎn)盤點(diǎn),數(shù)據(jù)信息通過自動化手段采集+同步資源申請單中的數(shù)據(jù)+枚舉數(shù)據(jù)來確保數(shù)據(jù)的準(zhǔn)確性。

(3)與監(jiān)控、自動化運(yùn)維平臺自動聯(lián)動,加上人工經(jīng)常查詢使用,數(shù)據(jù)用活了,進(jìn)一步確保了數(shù)據(jù)的準(zhǔn)確性。

2、自主實(shí)現(xiàn)監(jiān)控點(diǎn)的自動發(fā)現(xiàn)、自動化運(yùn)維節(jié)點(diǎn)自動發(fā)現(xiàn),并與CMDB實(shí)現(xiàn)聯(lián)動,可視化展現(xiàn)尚未監(jiān)控和納入自動化運(yùn)維體系的計(jì)算實(shí)例。消除目前基礎(chǔ)監(jiān)控盲點(diǎn)多,覆蓋面不全,信息系統(tǒng)故障得不到及時響應(yīng),告警信息無法正確匹配軟硬件資源而產(chǎn)生誤告的痛點(diǎn)。

實(shí)踐方案:

(1)監(jiān)控自動發(fā)現(xiàn):調(diào)用Ansible Script模塊分別獲取監(jiān)控平臺所有監(jiān)控點(diǎn)的數(shù)據(jù)信息,包括操作系統(tǒng)、數(shù)據(jù)庫、中間件、日志、PING、關(guān)鍵端口等,并抽取CMDB數(shù)據(jù)表的記錄;通過判斷CMDB中的軟件組合和操作系統(tǒng)類型,來檢測該主機(jī)的監(jiān)控點(diǎn)是否全覆蓋,其中CMDB中的軟件組合信息還需結(jié)合各軟件的運(yùn)行狀態(tài)來判斷該監(jiān)控點(diǎn)是否是真實(shí)需要的;最后通過進(jìn)一步的數(shù)據(jù)加工、生成SQL語句、運(yùn)行SQL語句更新相關(guān)數(shù)據(jù)至對應(yīng)的CMDB數(shù)據(jù)表,完成監(jiān)控自動發(fā)現(xiàn)功能邏輯。其邏輯流程如下圖所示:

(2)自動化運(yùn)維發(fā)現(xiàn):調(diào)用Ansible Script模塊獲取CMDB中所有需自動化運(yùn)維的主機(jī)信息;調(diào)用Ansible Command模塊驗(yàn)證主機(jī)是否符合自動化運(yùn)維條件,例如SSH互信、Python及版本;如果符合,通過驗(yàn)證,如果不符合,并行執(zhí)行兩種邏輯,一是對主機(jī)IP和驗(yàn)證結(jié)果中的狀態(tài)值進(jìn)行記錄,進(jìn)一步加工成可運(yùn)行的SQL語句,更新CMDB中相應(yīng)的數(shù)據(jù)表;二是配置主機(jī)互信、驗(yàn)證互信,并通過Ansible Command模塊獲取操作系統(tǒng)類型,如果為AIX操作系統(tǒng),還需額外通過Ansible Raw模塊安裝Python環(huán)境(標(biāo)準(zhǔn)Linux自帶Python)。其邏輯流程如下圖所示:

實(shí)踐效果:

(1)CMDB中錄入的所有信息資產(chǎn),均能夠及時發(fā)現(xiàn)尚未監(jiān)控的點(diǎn),自動化的將相關(guān)信息列舉。

(2)未被自動化運(yùn)維系統(tǒng)識別的計(jì)算實(shí)例,能夠自動地發(fā)現(xiàn),運(yùn)維人員可及時將其納入自動化運(yùn)維體系。

(3)自動發(fā)現(xiàn)監(jiān)控點(diǎn)和自動化運(yùn)維節(jié)點(diǎn)后,直接將信息同步至CMDB,并產(chǎn)生告警事件,提醒運(yùn)維人員。

3、自主實(shí)現(xiàn)批量自動化運(yùn)維一鍵式部署、批量監(jiān)控一鍵式部署、批量備份一鍵式部署、批量用戶一鍵式創(chuàng)建、批量常用軟件安裝和配置。將運(yùn)維人員從原來繁雜的部署、安裝、創(chuàng)建、配置中解放出來,更高效地完成既定的工作任務(wù),將重心轉(zhuǎn)向更深入、更精細(xì)化的運(yùn)維當(dāng)中去,運(yùn)維人員忙而不亂。

實(shí)踐方案:

軟件及運(yùn)行環(huán)境自動化運(yùn)維部署是我行PaaS云平臺的補(bǔ)充,首先由資源申請人員通過流程平臺對軟硬件資源進(jìn)行申請,并填寫資源需求,架構(gòu)人員根據(jù)資源需求,將需求格式化成可落地的標(biāo)準(zhǔn)信息,經(jīng)過層層審批之后,最終落實(shí)到運(yùn)維人員實(shí)施階段;通過PaaS級云平臺,自動編排需部署的資源和軟件平臺,并檢查是否需自動化運(yùn)維平臺補(bǔ)充安裝軟件運(yùn)行環(huán)境,如監(jiān)控、備份、用戶、其他標(biāo)準(zhǔn)化的數(shù)據(jù)庫、中間件等軟件;如果需要補(bǔ)充,則由運(yùn)維人員登錄自動化運(yùn)維界面選擇相應(yīng)菜單,并批量輸入IP地址,后續(xù)批量部署工作將由自動化運(yùn)維平臺自動完成,包括自動化運(yùn)維檢查,未通過后的自動化運(yùn)維部署,和軟件及運(yùn)行環(huán)境的安裝配置等;其他額外無法通過PaaS云平臺和自動化運(yùn)維平臺實(shí)現(xiàn)的軟硬件安裝配置工作均手動由運(yùn)維人員實(shí)施;最后由專門基線配置復(fù)核人員,通過自動化運(yùn)維菜單,選擇進(jìn)行相應(yīng)的基線配置自動化復(fù)核。其邏輯流程如下圖所示:

實(shí)踐效果:

(1)通過菜單式的一鍵式部署界面,運(yùn)維人員只需批量輸入IP地址既可完成部署,釋放運(yùn)維人員壓力,減輕工作任務(wù)。騰出更多的時間精細(xì)化運(yùn)維工作。

(2)批量部署、自動化安裝和配置相關(guān)運(yùn)維環(huán)境,配置一致化。

(3)部署僅僅是簡單的菜單操作,凡是新上線系統(tǒng)均能及時部署運(yùn)維環(huán)境,未部署運(yùn)維環(huán)境的系統(tǒng)也能及時被發(fā)現(xiàn)。

4、將常用運(yùn)維批量查詢及常用批量操作菜單化,簡便運(yùn)維操作,同時通過菜單背后的標(biāo)準(zhǔn)化運(yùn)維命令,降低直接運(yùn)維操作風(fēng)險(xiǎn),調(diào)動更多的運(yùn)維人力參與運(yùn)維工作,釋放更多操作員的主觀能動性,體現(xiàn)團(tuán)體運(yùn)維的價(jià)值和力量。

實(shí)踐方案:

我行將運(yùn)維人員分為一線、二線,一線運(yùn)維人員在收到告警或者流程工單時,結(jié)合告警事件中自動匹配(匹配告警關(guān)鍵字或情景)的告警處理方法,和知識庫記錄,判斷自身能力是否能夠自行處理或者輔助二線人員遠(yuǎn)程處理,如果不能,通過流程平臺對事件進(jìn)行升級,交由二線運(yùn)維人員處理;如果能,則登錄自動化運(yùn)維界面,在不直接登錄需維護(hù)的主機(jī)的情況下,通過在界面中選擇20余種常用運(yùn)維操作,并批量輸入IP地址的方式,自動調(diào)用Ansible Script、Command、Raw、Shell等模塊在主機(jī)上執(zhí)行該運(yùn)維操作,執(zhí)行的結(jié)果和文件直接在界面上反饋,處理完成并確認(rèn)無誤后,可關(guān)閉告警事件和流程。其邏輯流程如下圖所示:

實(shí)踐效果:

(1)通過將簡單的運(yùn)維查詢和操作菜單化,交由一線操作員完成,使其融入運(yùn)維團(tuán)隊(duì),更好地體現(xiàn)個人價(jià)值。

(2)批量查詢和批量主機(jī)操作,簡單快捷。

(3)無需登陸的菜單化運(yùn)維杜絕操作風(fēng)險(xiǎn)。

5、自主實(shí)現(xiàn)故障日志一鍵式收集、運(yùn)維一鍵式巡檢及巡檢報(bào)告生成、集中歸檔與查詢功能。巡檢人員無需登陸每個系統(tǒng)逐個巡檢,通過自動化運(yùn)維平臺的操作菜單,批量輸入IP地址,即刻開始自動巡檢其上可能存在的數(shù)據(jù)庫、中間件、操作系統(tǒng)和高可用架構(gòu)軟件等,并生成巡檢報(bào)告。巡檢報(bào)告可通過該平臺集中歸檔和查詢。通過該功能降低了可能因直接登陸巡檢誤操作帶來的衍生風(fēng)險(xiǎn),同時提高了巡檢效率,避免了巡檢遺漏等現(xiàn)象。

實(shí)踐方案:

目前我行需人工巡檢的主機(jī)數(shù)和軟硬件運(yùn)行環(huán)境越來越多,已經(jīng)嚴(yán)重占用了大量維保方和行方運(yùn)維人員的寶貴時間,無法集中精力運(yùn)維更有價(jià)值的工作任務(wù),因此,我行通過將自動化巡檢納入到自動化運(yùn)維平臺。首先通過Ansible Script模塊獲取CMDB中所有需巡檢的主機(jī)信息,并結(jié)合自動采集到的軟件組合和版本、操作系統(tǒng)等進(jìn)行分類的;其次再通過定時自動調(diào)用Ansible Script模塊,將各類巡檢腳本注入至不同批次的主機(jī)中執(zhí)行,獲取巡檢結(jié)果并存檔、歸檔;最后自動將巡檢結(jié)果進(jìn)行指標(biāo)格式化處理,通過進(jìn)一步加工成可執(zhí)行的SQL語句,插入數(shù)據(jù)至CMDB相應(yīng)的數(shù)據(jù)表,運(yùn)維人員可直接查看該數(shù)據(jù)表,更好的了解該指標(biāo)的實(shí)際值和標(biāo)準(zhǔn)基線值/范圍間的差異;為更精細(xì)化的了解巡檢結(jié)果,專家運(yùn)維人員可直接登錄自動化運(yùn)維界面,查看、下載、追溯各主機(jī)的巡檢歷史詳細(xì)結(jié)果。其邏輯流程如下圖所示:

實(shí)踐效果:

(1)自動化地發(fā)現(xiàn)其上的各類數(shù)據(jù)庫、中間件、操作系統(tǒng)和高可用架構(gòu)等,自動化地巡檢,無法人工干預(yù),巡檢結(jié)果面面俱到。

(2)通過運(yùn)維一鍵式菜單,和人工批量輸入IP地址開始巡檢,無需人工跟蹤,無需逐個通過超級用戶登陸系統(tǒng),規(guī)避人為誤操作風(fēng)險(xiǎn)。

(3)巡檢結(jié)果可直接下載,供各領(lǐng)域?qū)<也殚啠部芍苯油ㄟ^CMDB查看。巡檢結(jié)果集中保存和歸檔,便于以后調(diào)閱,甚至對接運(yùn)維大數(shù)據(jù),供數(shù)據(jù)挖掘和分析。

6、自主實(shí)現(xiàn)系統(tǒng)上線配置與基線自動化、批量核查。應(yīng)用的資源和環(huán)境申請?jiān)丛床粩?,?dǎo)致了運(yùn)維人員大量時間花費(fèi)在環(huán)境部署和復(fù)核方面,未及時復(fù)核的、不滿足配置與基線規(guī)范的系統(tǒng)往往存在較大的系統(tǒng)、數(shù)據(jù)庫、中間件、高可用等安全風(fēng)險(xiǎn)隱患,隨著系統(tǒng)運(yùn)行和業(yè)務(wù)激增,業(yè)務(wù)故障后,方才發(fā)現(xiàn)配置的不合規(guī)性。通過該功能能夠在系統(tǒng)上線前,自動化比對標(biāo)準(zhǔn)規(guī)范與實(shí)際落地的配置參數(shù)間的差異性,即刻進(jìn)行整改,完成標(biāo)準(zhǔn)的應(yīng)用環(huán)境交付。

實(shí)踐方案:

將標(biāo)準(zhǔn)規(guī)范進(jìn)行表數(shù)據(jù)格式化,人工梳理各類規(guī)范化配置參數(shù),如AIX、Linux操作系統(tǒng)規(guī)范,VIOS配置規(guī)范,HACMP、TSA、GPFS高可用規(guī)范,雙活規(guī)范,WAS、MQ中間件規(guī)范,DB2、ORACLE、MYSQL數(shù)據(jù)庫配置規(guī)范等等;用戶通過自動化運(yùn)維菜單選擇12類基線比對中的某項(xiàng)比對功能,并批量輸入需比對的IP地址信息;自動化運(yùn)維平臺通過Ansible Script模塊,注入相應(yīng)腳本至CMDB服務(wù)器,抽取CMDB中的規(guī)范指標(biāo)和對應(yīng)基線值;通過Ansible Script模塊,注入相應(yīng)腳本至各主機(jī),抽取相關(guān)指標(biāo)值和文件等信息;自動化運(yùn)維平臺結(jié)合基線值和實(shí)際值,根據(jù)是否是范圍基線,來分類比對,若是范圍基線,則進(jìn)行相應(yīng)數(shù)值計(jì)算和比較,若不是范圍基線,則直接比對基線值和實(shí)際值是否一致;最終判定配置通過基線比對,或者羅列哪些規(guī)范指標(biāo)未通過,及時告知復(fù)核人員。

實(shí)踐效果:

(1)標(biāo)準(zhǔn)規(guī)范由文字轉(zhuǎn)為數(shù)字信息,更容易更新和保存,更容易得到自動化運(yùn)維系統(tǒng)利用,實(shí)現(xiàn)落地。

(2)通過自動化運(yùn)維系統(tǒng)的配置核查,一鍵式檢查出與標(biāo)準(zhǔn)規(guī)范不符的地方,將風(fēng)險(xiǎn)扼殺在系統(tǒng)上線前。

(3)標(biāo)準(zhǔn)規(guī)范與高水平運(yùn)維人員的經(jīng)驗(yàn)相結(jié)合,轉(zhuǎn)為數(shù)字信息,復(fù)核不存在死角,覆蓋面廣、全、自動化實(shí)現(xiàn)。

THEEND

最新評論(評論僅代表用戶觀點(diǎn))

更多
暫無評論