企業(yè)應(yīng)用級(jí)自動(dòng)化運(yùn)維建設(shè)知識(shí)和經(jīng)驗(yàn)總結(jié)

所謂自動(dòng)化運(yùn)維是指通過(guò)將日常IT運(yùn)維中大量的重復(fù)性工作(小到簡(jiǎn)單的日常檢查、配置變更和軟件安裝,大到整個(gè)變更流程的組織調(diào)度)由過(guò)去的手工執(zhí)行轉(zhuǎn)為標(biāo)準(zhǔn)化、流程化和自動(dòng)化操作。

1.前言

銀行等信息化程度高的行業(yè),隨著業(yè)務(wù)的持續(xù)發(fā)展和不斷創(chuàng)新,IT系統(tǒng)不斷壯大,IT運(yùn)維已經(jīng)成為IT服務(wù)內(nèi)涵中重要的組成部分。面對(duì)越來(lái)越復(fù)雜的業(yè)務(wù),面對(duì)越來(lái)越多樣化的用戶需求,數(shù)據(jù)中心基礎(chǔ)設(shè)施規(guī)模隨之不斷擴(kuò)大,服務(wù)器、存儲(chǔ)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)資源等需求愈加旺盛,系統(tǒng)架構(gòu)日趨復(fù)雜;在互聯(lián)網(wǎng)和智慧化建設(shè)背景下,包括智能營(yíng)銷(xiāo)和精準(zhǔn)獲客在內(nèi)的新需求大量涌現(xiàn),促使應(yīng)用架構(gòu)呈現(xiàn)多元化發(fā)展趨勢(shì);監(jiān)管要求日趨嚴(yán)格,現(xiàn)場(chǎng)監(jiān)管和非現(xiàn)場(chǎng)監(jiān)管、內(nèi)部審計(jì)和外部審計(jì)相結(jié)合的方式,對(duì)運(yùn)維標(biāo)準(zhǔn)化、規(guī)范化、合規(guī)性提出了更高的要求。

不斷擴(kuò)展的IT應(yīng)用需要越來(lái)越合理的模式來(lái)保障IT服務(wù)能靈活便捷、安全穩(wěn)定地持續(xù)保障,這種模式中的保障因素之一就是IT運(yùn)維。從初期的幾臺(tái)服務(wù)器發(fā)展到龐大的數(shù)據(jù)中心,單靠人工已經(jīng)無(wú)法滿足在技術(shù)、業(yè)務(wù)、管理等方面的要求,那么標(biāo)準(zhǔn)化、自動(dòng)化、架構(gòu)優(yōu)化、過(guò)程優(yōu)化等降低IT服務(wù)成本的因素越來(lái)越被人們所重視。其中,自動(dòng)化最開(kāi)始作為代替人工操作為出發(fā)點(diǎn)的訴求被廣泛研究和應(yīng)用。

所謂自動(dòng)化運(yùn)維是指通過(guò)將日常IT運(yùn)維中大量的重復(fù)性工作(小到簡(jiǎn)單的日常檢查、配置變更和軟件安裝,大到整個(gè)變更流程的組織調(diào)度)由過(guò)去的手工執(zhí)行轉(zhuǎn)為標(biāo)準(zhǔn)化、流程化和自動(dòng)化操作。

自動(dòng)化運(yùn)維通過(guò)制定IT運(yùn)維工作的規(guī)范規(guī)則,輔助技術(shù)手段,促進(jìn)IT運(yùn)維工作尤其是應(yīng)用運(yùn)維的規(guī)范化、流程化和自動(dòng)化,提高工作效率,降低運(yùn)行風(fēng)險(xiǎn)。宏觀能通過(guò)圖表流程等直觀友好方式向普通運(yùn)維人員和管理人員展示運(yùn)維進(jìn)程和運(yùn)維成果,微觀能給后臺(tái)技術(shù)人員提供盡量詳細(xì)實(shí)時(shí)的運(yùn)行情況和事后分析記錄。

目前,自動(dòng)化運(yùn)維基本上都是以計(jì)算機(jī)主機(jī)、操作系統(tǒng)為對(duì)象的系統(tǒng)層面的操作,我稱(chēng)為基于系統(tǒng)層面的自動(dòng)化運(yùn)維。本文試圖從應(yīng)用層面探討自動(dòng)化運(yùn)維的實(shí)現(xiàn)思路,系統(tǒng)運(yùn)維實(shí)質(zhì)性是對(duì)操作系統(tǒng)本身運(yùn)行維護(hù)的一種特殊應(yīng)用運(yùn)維,業(yè)務(wù)作為一種或者多種應(yīng)用系統(tǒng)的功能,通過(guò)業(yè)務(wù)--應(yīng)用關(guān)聯(lián)實(shí)現(xiàn)業(yè)務(wù)的應(yīng)用遍歷查詢,通過(guò)與流程審批管理、服務(wù)管理等系統(tǒng)對(duì)接實(shí)現(xiàn)業(yè)務(wù)維護(hù)的自動(dòng)化,從而實(shí)現(xiàn)全方位多角度的自動(dòng)化運(yùn)維平臺(tái)。

應(yīng)用層面的自動(dòng)化運(yùn)維已在某銀行做了很多落地實(shí)踐,效果很理想。由于是探索式開(kāi)發(fā),有些方面還有待完善,本文既是對(duì)以往工作的總結(jié),也想從理論上做更深入全面的研究,供自動(dòng)化運(yùn)維平臺(tái)建設(shè)和開(kāi)發(fā)的專(zhuān)家們參考。

2.概述

2.1相關(guān)名詞

業(yè)務(wù):

指各行業(yè)中需要處理的事務(wù),但是通常偏向指銷(xiāo)售的事務(wù)。在IT中,指按某一共同的目標(biāo),通過(guò)信息交換實(shí)現(xiàn)的一系列過(guò)程。在銀行IT系統(tǒng)中,業(yè)務(wù)大多不是獨(dú)立的系統(tǒng),或多或少在有多個(gè)應(yīng)用系統(tǒng)中交流。

IT運(yùn)維的最終目的為各式各樣的業(yè)務(wù)服務(wù),很多IT運(yùn)維事件也是源于業(yè)務(wù)問(wèn)題。業(yè)務(wù)問(wèn)題實(shí)質(zhì)上是應(yīng)用系統(tǒng)功能不完善或者程序?qū)崿F(xiàn)缺陷,業(yè)務(wù)問(wèn)題的運(yùn)維操作實(shí)質(zhì)上是對(duì)應(yīng)用系統(tǒng)的功能修補(bǔ)或者是一種特殊的業(yè)務(wù)交易,原則上都可通過(guò)應(yīng)用系統(tǒng)的優(yōu)化升級(jí)根除該類(lèi)操作。

系統(tǒng)軟件:

指控制和協(xié)調(diào)計(jì)算機(jī)及其外部設(shè)備,支持應(yīng)用軟件開(kāi)發(fā)和運(yùn)行的系統(tǒng),是無(wú)需要用戶干預(yù)的各種程序的集合。我們一般指操作系統(tǒng)、數(shù)據(jù)庫(kù)以及中間件等輔助的成熟的軟件。

應(yīng)用系統(tǒng):

指專(zhuān)門(mén)為滿足不同領(lǐng)域、不同問(wèn)題的應(yīng)用需求而編制的軟件,分為應(yīng)用軟件包和用戶程序。譬如:銀行的核心系統(tǒng)、前置系統(tǒng)、中間業(yè)務(wù)系統(tǒng)、財(cái)務(wù)系統(tǒng)等等。

運(yùn)維:

運(yùn)維是一個(gè)非常廣泛的定義,在不同的公司不同的階段有著不同的職責(zé)與定位,最基本的職責(zé)是保證業(yè)務(wù)穩(wěn)定運(yùn)行。大型的公司對(duì)于運(yùn)維工作要求越來(lái)越高,分工也越來(lái)越細(xì),從大的方向可分為網(wǎng)站運(yùn)維、系統(tǒng)運(yùn)維、應(yīng)用運(yùn)維、網(wǎng)絡(luò)運(yùn)維、數(shù)據(jù)庫(kù)運(yùn)維、安全運(yùn)維等等。

CMDB:

CMDB——Configuration Management Database配置管理數(shù)據(jù)庫(kù)。

CMDB存儲(chǔ)與管理企業(yè)IT架構(gòu)中設(shè)備的各種配置信息,它與所有服務(wù)支持和服務(wù)交付流程都緊密相聯(lián),支持這些流程的運(yùn)轉(zhuǎn)、發(fā)揮配置信息的價(jià)值,同時(shí)依賴(lài)于相關(guān)流程保證數(shù)據(jù)的準(zhǔn)確性。

2.2相互關(guān)系

業(yè)務(wù)、應(yīng)用、系統(tǒng)、數(shù)據(jù)、運(yùn)維等之間從定義和目標(biāo)方面是各有側(cè)重點(diǎn)又緊密聯(lián)系的,大致關(guān)系如下圖:

從上圖中分析,業(yè)務(wù)、應(yīng)用、服務(wù)器之間都存在一對(duì)多的關(guān)系,自動(dòng)化運(yùn)維控制的基本單位是應(yīng)用系統(tǒng)所需的各服務(wù)器。服務(wù)器及其網(wǎng)絡(luò)等系統(tǒng)運(yùn)維方面的管理要素相對(duì)統(tǒng)一簡(jiǎn)單,因此自動(dòng)化運(yùn)維基于服務(wù)器資源的系統(tǒng)運(yùn)維是比較成熟廣泛的。

應(yīng)用層面處于整個(gè)運(yùn)維環(huán)節(jié)的中心位置,與業(yè)務(wù)和資源關(guān)系最密切,因此,基于應(yīng)用層面建設(shè)自動(dòng)化運(yùn)維將大大擴(kuò)展自動(dòng)化運(yùn)維的使用范圍和使用效果。

CMDB,幾乎是每個(gè)運(yùn)維人都繞不過(guò)去的字眼,但又是很多運(yùn)維人的痛,因?yàn)镃MDB很少有成功的,因此我也把它稱(chēng)之為運(yùn)維人的恥辱。其中失敗原因大都可歸結(jié)到CMDB很難做到與實(shí)際工作同步變更,造成信息的過(guò)時(shí)或錯(cuò)誤,最終失去使用價(jià)值。

如果從應(yīng)用層面建設(shè)自動(dòng)化運(yùn)維系統(tǒng),再豐富服務(wù)器網(wǎng)絡(luò)等底層資源信息和管理控制,豐富業(yè)務(wù)層次的關(guān)聯(lián)信息,這些實(shí)際上已極大地滿足了CMDB的信息要求,只要增加同步CMDB數(shù)據(jù)庫(kù)機(jī)制,或者按照CMDB數(shù)據(jù)規(guī)范直接查找自動(dòng)化運(yùn)維數(shù)據(jù)庫(kù)展示各種配置信息,就可以同步建設(shè)好CMDB。

面向應(yīng)用的運(yùn)維能力才是真正直接作用于用戶的。面向用戶的價(jià)值流梳理對(duì)應(yīng)的就是應(yīng)用交付流的識(shí)別。里面有幾個(gè)核心的場(chǎng)景:應(yīng)用上線場(chǎng)景、應(yīng)用維護(hù)升級(jí)場(chǎng)景、應(yīng)用遷移場(chǎng)景、應(yīng)用下線場(chǎng)景等等,貫穿了整個(gè)應(yīng)用交付的生命周期管理。

3.應(yīng)用運(yùn)維的模型研究

應(yīng)用系統(tǒng)規(guī)模大小不一,支撐的基礎(chǔ)軟件與硬件也不定相同,隨著互聯(lián)網(wǎng)與通信技術(shù)的發(fā)展,單純的前后臺(tái)一體的應(yīng)用系統(tǒng)很少,大都是基于前臺(tái)瀏覽器或微信等手機(jī)app的瘦客戶端,控制管理和數(shù)據(jù)都在后臺(tái)服務(wù)器。本文研究系統(tǒng)也都默認(rèn)是后臺(tái)系統(tǒng)。應(yīng)用系統(tǒng)總的拓?fù)浼軜?gòu)如下:

應(yīng)用指一個(gè)應(yīng)用系統(tǒng),主要記錄其管理屬性,譬如分類(lèi)碼、開(kāi)發(fā)公司、負(fù)責(zé)人、維護(hù)AB角等。

子應(yīng)用指應(yīng)用系統(tǒng)中相對(duì)獨(dú)立的有其共同操作屬性的子系統(tǒng),主要記錄其操作屬性,譬如:部署的操作系統(tǒng)用戶名、主工作目錄等。

一個(gè)應(yīng)用可能包括多個(gè)子應(yīng)用,每個(gè)子應(yīng)用可能部署在多臺(tái)服務(wù)器中,多個(gè)應(yīng)用或者子應(yīng)用也可能部署在同一個(gè)服務(wù)器中。為了模型的統(tǒng)一,我們將沒(méi)有明顯的多個(gè)子應(yīng)用也規(guī)定一個(gè)子應(yīng)用,對(duì)于復(fù)雜的多子應(yīng)用的劃分,尤其是使用廣泛的unix類(lèi)后臺(tái)應(yīng)用,我們?cè)瓌t上以應(yīng)用部署的操作系統(tǒng)用戶作為劃分子應(yīng)用的標(biāo)準(zhǔn)。建議應(yīng)用系統(tǒng)不要以操作系統(tǒng)的超級(jí)用戶部署,將超級(jí)用戶留給系統(tǒng)運(yùn)維。我們?cè)趯?shí)際工作中發(fā)現(xiàn)少數(shù)以超級(jí)用戶部署的應(yīng)用系統(tǒng),實(shí)際并不需要這么高的權(quán)限。

有些(子)應(yīng)用存在雙機(jī)或多機(jī)負(fù)載均衡或備機(jī)情況,這就是一個(gè)子應(yīng)用對(duì)應(yīng)多服務(wù)器情況。我們也可將不同維護(hù)人不同系統(tǒng)類(lèi)型的系統(tǒng)運(yùn)維以子應(yīng)用方式將多服務(wù)器歸屬管理維護(hù)。我們?cè)诜?wù)器中記錄其包括地點(diǎn)等資源屬性。

運(yùn)維即運(yùn)行維護(hù),包括運(yùn)行和維護(hù)兩個(gè)方面。軟件工程的理論和各種論壇文章大都是站在開(kāi)發(fā)角度的開(kāi)發(fā)維護(hù)論述。實(shí)際中作為運(yùn)維主角的甲方,不一定能很好掌握應(yīng)用的開(kāi)發(fā)文檔和代碼。下面我將從甲方角度詳述運(yùn)行和維護(hù)的相關(guān)內(nèi)容,即使不懂開(kāi)發(fā),我們也能較好地做應(yīng)用運(yùn)維,管控所需應(yīng)用軟件,當(dāng)然懂開(kāi)發(fā)我們就能做得更好,甚至能比只懂開(kāi)發(fā)的開(kāi)發(fā)人員更好。

3.1應(yīng)用的運(yùn)行工作要點(diǎn)

這里的應(yīng)用實(shí)際上是上述的關(guān)注操作屬性的子應(yīng)用。我們將應(yīng)用系統(tǒng)的各種開(kāi)發(fā)特性剔除,當(dāng)作一個(gè)黑盒,根據(jù)我多年的開(kāi)發(fā)維護(hù)經(jīng)驗(yàn),應(yīng)用系統(tǒng)實(shí)際上有著很多一致的運(yùn)行關(guān)注要點(diǎn),并開(kāi)發(fā)了一些相應(yīng)的通用運(yùn)維操作程序,豐富和簡(jiǎn)化了日常運(yùn)維,也能輕易地使用到應(yīng)用層面的自動(dòng)化運(yùn)維中。

①資源狀況:包括CPU、內(nèi)存、存儲(chǔ)空間、數(shù)據(jù)空間等常規(guī)資源狀態(tài)。這也是很多系統(tǒng)層面自動(dòng)化運(yùn)維的主要內(nèi)容,這方面很容易通用化。但應(yīng)用層面可做得更精準(zhǔn)些。

②服務(wù)進(jìn)程:每個(gè)應(yīng)用或子應(yīng)用都有一個(gè)或多個(gè)服務(wù)進(jìn)程和子進(jìn)程,該進(jìn)程應(yīng)與其部署的操作系統(tǒng)用戶相關(guān)。常見(jiàn)的機(jī)房監(jiān)控系統(tǒng)很多也可監(jiān)控各服務(wù)器中進(jìn)程,但大都未考慮用戶與應(yīng)用的相關(guān)問(wèn)題,對(duì)于服務(wù)器存在多個(gè)應(yīng)用的相似進(jìn)程名不能區(qū)分,導(dǎo)致漏報(bào)或誤報(bào)。

③文件清理:應(yīng)用的長(zhǎng)久運(yùn)行,為了開(kāi)發(fā)維護(hù)的追蹤查找,必然產(chǎn)生大量日志和臨時(shí)文件,如果長(zhǎng)期不清理,必然會(huì)導(dǎo)致磁盤(pán)空間緊張,運(yùn)行緩慢甚至失敗。因在開(kāi)發(fā)測(cè)試基本不存在該問(wèn)題,導(dǎo)致文件清理常常被開(kāi)發(fā)忽視或者清理不徹底。文件清理可分為兩種模式:第一種:備份后清理;第二種:直接清理。運(yùn)維人員要根據(jù)文件的保存必要性加以區(qū)別,最好做成定時(shí)任務(wù)自動(dòng)定時(shí)清理,防患于未然,也是主動(dòng)運(yùn)維的核心所在。

④數(shù)據(jù)清理:數(shù)據(jù)即數(shù)據(jù)庫(kù)記錄表也存在與上述的文件同樣的問(wèn)題。數(shù)據(jù)清理可分二種方式:第一種:當(dāng)前表轉(zhuǎn)移至歷史表;第二種:當(dāng)前表或歷史表導(dǎo)出備份后清理。

⑤通信狀態(tài):通信狀態(tài)包括本應(yīng)用的服務(wù)端口、外聯(lián)的IP地址和端口,出于安全運(yùn)行考慮很多外聯(lián)IP只能在本應(yīng)用部署的服務(wù)器才能訪問(wèn),有些甚至未開(kāi)放ping只開(kāi)放了指定端口。這些情況,常規(guī)的集中式的數(shù)據(jù)中心監(jiān)控是不能做的,通過(guò)面向應(yīng)用的自動(dòng)化運(yùn)維讓該應(yīng)用狀態(tài)的監(jiān)控成為現(xiàn)實(shí)。

⑥服務(wù)啟停等常用維護(hù)操作:該操作也是很多自動(dòng)化運(yùn)維提到的操作,這對(duì)于應(yīng)用層面的自動(dòng)化運(yùn)維是很自然的操作。

⑦服務(wù)日志:應(yīng)用日志在銀行等單位的很多應(yīng)用系統(tǒng)中很豐富和龐大,尤其是一些交易量大的交易服務(wù)日志。采用打包在自動(dòng)化運(yùn)維平臺(tái)中下載查看是不現(xiàn)實(shí)的,這就需要采用實(shí)時(shí)的遠(yuǎn)程部分查閱模式或者專(zhuān)門(mén)的日志管理分析系統(tǒng)。

⑧對(duì)賬情況:對(duì)賬只針對(duì)部分應(yīng)用系統(tǒng),一般用于與第三方等其它應(yīng)用系統(tǒng)聯(lián)網(wǎng)交易日終處理場(chǎng)景。有些系統(tǒng)有專(zhuān)用的對(duì)賬平臺(tái)或?qū)~交易,但原理上應(yīng)該都可用腳本查詢到,并通過(guò)較通用模式展示。

⑨服務(wù)交易情況:交易情況分為統(tǒng)計(jì)情況和明細(xì)情況,統(tǒng)計(jì)情況可用圖示展示。服務(wù)交易查詢大致有以下幾種方式:

<1>數(shù)據(jù)庫(kù)流水表記錄型:通過(guò)交易流水?dāng)?shù)據(jù)庫(kù)記錄查詢統(tǒng)計(jì),優(yōu)點(diǎn)是查詢統(tǒng)計(jì)方便靈活;缺點(diǎn)是因?yàn)椴皇顷P(guān)鍵交易無(wú)相應(yīng)流水表或數(shù)據(jù)庫(kù)事務(wù)機(jī)制等原因?qū)е驴赡苡胁糠纸灰孜磳?xiě)記錄或?qū)懭胧〉挠涗洝?/p>

<2>監(jiān)控記錄文件型:部分功能較完善的應(yīng)用系統(tǒng)可能存在該類(lèi)文件,文件記錄可解決無(wú)相應(yīng)流水表或事務(wù)失敗回滾的記錄問(wèn)題,能更全面地記錄各類(lèi)交易狀態(tài)。缺點(diǎn)是很難直接進(jìn)行較復(fù)雜靈活的查詢統(tǒng)計(jì)。

<3>日志信息抽取型:分析日志信息生成各類(lèi)交易記錄。該類(lèi)型適用于日志較豐富但無(wú)交易數(shù)據(jù)記錄或交易監(jiān)控文件記錄情況,可更全面地記錄各類(lèi)服務(wù)交易。缺點(diǎn)是依賴(lài)于日志記錄的豐富,且分析抽取困難并可能不準(zhǔn)確。

3.2應(yīng)用的維護(hù)工作要點(diǎn)

維護(hù)可分開(kāi)發(fā)方維護(hù)和使用方維護(hù)。下面主要論述使用方維護(hù)工作技術(shù)要點(diǎn),不討論維護(hù)工作的合規(guī)性等管理要求。

①相關(guān)文擋資料:我們要盡量掌握了解應(yīng)用的設(shè)計(jì)架構(gòu)、數(shù)據(jù)庫(kù)結(jié)構(gòu)、維護(hù)手冊(cè)等維護(hù)文檔,如能進(jìn)一步了解源代碼會(huì)更好。這無(wú)疑是最快最好地進(jìn)行維護(hù)的方式,但現(xiàn)實(shí)是很多應(yīng)用這方面文檔不全甚至沒(méi)有,即使有,也不易全部深入掌握。

②相關(guān)目錄結(jié)構(gòu):主要目錄包括啟停腳本或服務(wù)命令的可執(zhí)行程序目錄、日志目錄、配置信息目錄和臨時(shí)文件目錄等。

③相關(guān)日志結(jié)構(gòu):運(yùn)行中出現(xiàn)的問(wèn)題,我們往往需要在相關(guān)日志中查找問(wèn)題點(diǎn),然后據(jù)此分析找到優(yōu)化修正方法。

④相關(guān)表索引:索引使用不當(dāng),能顯著地影響執(zhí)行效率,是導(dǎo)致很多交易超時(shí)的主要因素之一,這方面因開(kāi)發(fā)測(cè)試數(shù)據(jù)量不多,不容易發(fā)現(xiàn),往往運(yùn)行數(shù)月甚至數(shù)年后才能呈現(xiàn)。查看常用表尤其是記錄數(shù)多的表是否有主鍵、索引,有關(guān)日期的流水記錄類(lèi)表是否有以日期為首關(guān)鍵字的索引或主鍵,最好還能了解分析數(shù)據(jù)庫(kù)運(yùn)行記錄或開(kāi)發(fā)代碼中的相關(guān)大表查詢條件是否有效地使用了索引。多年的維護(hù)工作中發(fā)現(xiàn):大表沒(méi)索引、索引關(guān)鍵字順序不當(dāng)、索引過(guò)多存在重復(fù)性的無(wú)效索引等問(wèn)題是很常見(jiàn)的。

應(yīng)用層面自動(dòng)化運(yùn)維也可以在這方面作一些記錄和管理分析工作。

3.3發(fā)版流程控制:

系統(tǒng)層面的自動(dòng)化運(yùn)維中大都只有靜默方式的軟件安裝升級(jí)功能,這適應(yīng)于需要大批量更新較單純軟件或者應(yīng)用,如互聯(lián)網(wǎng)應(yīng)用的多服務(wù)負(fù)載均衡部署。對(duì)于很多單機(jī)或者少量機(jī)運(yùn)行的應(yīng)用系統(tǒng),安裝升級(jí)過(guò)程不完善又需要經(jīng)常版本發(fā)布并不適用。因此,我們將軟件一步式的靜默安裝升級(jí)方式,通過(guò)規(guī)范引導(dǎo),設(shè)計(jì)成多步的發(fā)版流程,以便實(shí)時(shí)監(jiān)控發(fā)版進(jìn)程和運(yùn)行日志。規(guī)范化流程化發(fā)版已在我行推廣至二十多個(gè)應(yīng)用系統(tǒng),取得了很好的效果。

該模式也能根據(jù)需要改為靜默大批量軟件安裝升級(jí)模式。

通用的發(fā)版流程如下:

發(fā)版大屏監(jiān)視:

3.4應(yīng)用運(yùn)維與系統(tǒng)運(yùn)維的區(qū)別

4.自動(dòng)化運(yùn)維平臺(tái)的開(kāi)發(fā)設(shè)計(jì)

自動(dòng)化運(yùn)維平臺(tái)作為管理眾多應(yīng)用系統(tǒng)和服務(wù)器等的數(shù)據(jù)中心的主要的運(yùn)維管理平臺(tái),我認(rèn)為要優(yōu)先致力于各類(lèi)運(yùn)維規(guī)范標(biāo)準(zhǔn)的建設(shè)、根據(jù)規(guī)范標(biāo)準(zhǔn)建設(shè)完善平臺(tái)自身功能和標(biāo)準(zhǔn)的推廣應(yīng)用。平臺(tái)要讓要應(yīng)用運(yùn)維人員或者普遍服務(wù)臺(tái)人員操作,除了平臺(tái)本身權(quán)限控制外,還要在服務(wù)器的操作系統(tǒng)用戶層面針對(duì)不同的功能作操作安全權(quán)限控制,總之操作記錄跟蹤和安全權(quán)限要作為建設(shè)重點(diǎn),以便控制風(fēng)險(xiǎn)并有據(jù)可查,滿足嚴(yán)格的監(jiān)管要求。

制造自動(dòng)化、辦公自動(dòng)化除了技術(shù)升級(jí)改造外還有關(guān)鍵的規(guī)范化標(biāo)準(zhǔn)化工序或元件,要實(shí)現(xiàn)自動(dòng)化運(yùn)維也同樣離不開(kāi)運(yùn)維操作和流程的規(guī)范化標(biāo)準(zhǔn)化,自動(dòng)化運(yùn)維平臺(tái)建設(shè)必須與運(yùn)維規(guī)范標(biāo)準(zhǔn)化相輔相成。

4.1體系架構(gòu)

應(yīng)用層面的自動(dòng)化運(yùn)維功能首選操作對(duì)象是應(yīng)用,然后通過(guò)應(yīng)用自動(dòng)選擇其最終操作的服務(wù)器和對(duì)應(yīng)的基本操作設(shè)定,從而達(dá)到應(yīng)用層面的運(yùn)維目的。

4.2代理選型和接口的設(shè)計(jì)

自動(dòng)化運(yùn)維的實(shí)現(xiàn)原理是通過(guò)自動(dòng)化運(yùn)維服務(wù)器控制數(shù)據(jù)中心的其它服務(wù)器等應(yīng)用系統(tǒng)資源設(shè)備。要控制服務(wù)器有2種模式:代理模式和非代理模式。非代理模式如果不遠(yuǎn)程登錄則只能做測(cè)試通信等有限的功能,如登錄,則需要記錄用戶密碼,在修改用戶密碼后需要同步,或者使用ssh的互信免密設(shè)置(ssh實(shí)際也類(lèi)似于代理程序),同時(shí)登錄也會(huì)耗時(shí)影響效率。因此,目前基本都是采用代理模式。代理一旦選定推廣,不易修改。

代理的選型網(wǎng)上有很多文章,這里不加闡述。但是我們應(yīng)該可以通過(guò)編寫(xiě)接口函數(shù)隱藏代理細(xì)節(jié),實(shí)現(xiàn)更靈活的可自由選型的自動(dòng)化運(yùn)維。

綜觀了一些代理的介紹和我們應(yīng)用過(guò)的Puppet+mcollective和Control-M等自動(dòng)化代理軟件。雖然代理工具有很多輔助的控制調(diào)用功能,但是真正能廣泛使用的只是常用的幾種調(diào)用,可能基于自動(dòng)化等考慮,代理軟件都屏蔽了標(biāo)準(zhǔn)輸入,不能實(shí)時(shí)標(biāo)準(zhǔn)輸出必須等命令執(zhí)行完畢才能將得到整個(gè)標(biāo)準(zhǔn)輸出,這就意味著我們與應(yīng)用連最簡(jiǎn)單的交互都不能直接做,對(duì)運(yùn)行長(zhǎng)久的命令不能及時(shí)了解執(zhí)行進(jìn)展。這對(duì)于一些運(yùn)維場(chǎng)景不是很合適或者需要做一些技術(shù)處理。

原理上自動(dòng)化運(yùn)維平臺(tái)可做數(shù)據(jù)中心的全面監(jiān)控,但是基于代理軟件的資源開(kāi)銷(xiāo)比較大,而監(jiān)控尤其是基礎(chǔ)設(shè)備監(jiān)控往往頻繁又要求實(shí)時(shí),建議安裝輕量級(jí)的監(jiān)控專(zhuān)用代理,只使用自動(dòng)化運(yùn)維平臺(tái)中的基本關(guān)系數(shù)據(jù)。

4.3應(yīng)用運(yùn)維的擴(kuò)展

根據(jù)應(yīng)用運(yùn)維的模型設(shè)計(jì),應(yīng)用運(yùn)維如同一個(gè)功能容器,我們可以根據(jù)不同類(lèi)型的用戶在上面作不同的功能整合,擴(kuò)展為系統(tǒng)運(yùn)維、數(shù)據(jù)庫(kù)運(yùn)維、網(wǎng)絡(luò)運(yùn)維和安全運(yùn)維等專(zhuān)家職能運(yùn)維。數(shù)據(jù)庫(kù)運(yùn)維主要指數(shù)據(jù)庫(kù)管理員職能操作,我們可在數(shù)據(jù)庫(kù)服務(wù)器上建立專(zhuān)屬的數(shù)據(jù)庫(kù)應(yīng)用,將常用功能在專(zhuān)屬的應(yīng)用容器封裝。網(wǎng)絡(luò)運(yùn)維指對(duì)路由器等網(wǎng)絡(luò)設(shè)備的運(yùn)維,通常我們都是通過(guò)可訪問(wèn)的電腦聯(lián)網(wǎng)訪問(wèn)維護(hù),我們可在專(zhuān)用服務(wù)器安裝自動(dòng)化代理建立專(zhuān)屬的網(wǎng)絡(luò)應(yīng)用,或者直接在自動(dòng)化平臺(tái)服務(wù)器中虛擬一個(gè)專(zhuān)屬的網(wǎng)絡(luò)應(yīng)用,將常用功能在專(zhuān)屬的應(yīng)用容器中封裝。

應(yīng)用層面的自動(dòng)化運(yùn)維,因與業(yè)務(wù)層面關(guān)系密切,可較容易地與面向業(yè)務(wù)或管理方向的ITIL類(lèi)系統(tǒng)對(duì)接,實(shí)現(xiàn)業(yè)務(wù)層面的自動(dòng)化運(yùn)維。詳見(jiàn)下文的日常維護(hù)。

4.4巡檢監(jiān)控的擴(kuò)展--指標(biāo)監(jiān)控分析

通常監(jiān)控平臺(tái)都是將采集和分析顯示包攬起來(lái),完成納管服務(wù)器等設(shè)備的所有工作。這就造成了監(jiān)控功能的局限性,同時(shí)讓監(jiān)控管理人員疲于應(yīng)付。

我們可以轉(zhuǎn)換思路,將采集數(shù)據(jù)做成開(kāi)放式的,監(jiān)控平臺(tái)主做分析顯示的功能。開(kāi)放的監(jiān)控?cái)?shù)據(jù)我稱(chēng)為指標(biāo),定義各類(lèi)指標(biāo)規(guī)范,讓各應(yīng)用系統(tǒng)各服務(wù)器運(yùn)維人員將想監(jiān)控的指標(biāo)按規(guī)范發(fā)送監(jiān)控服務(wù)器集中分析顯示。如此,充分體現(xiàn)讓專(zhuān)業(yè)人做專(zhuān)業(yè)事以及主動(dòng)運(yùn)維的思想。指標(biāo)監(jiān)控能輕易地實(shí)現(xiàn)網(wǎng)絡(luò)監(jiān)控、應(yīng)用監(jiān)控、業(yè)務(wù)監(jiān)控等。

譬如:定義數(shù)據(jù)模型:指標(biāo)編碼,類(lèi)別,時(shí)間,筆數(shù),數(shù)值,狀態(tài)(成功,失敗),簡(jiǎn)要說(shuō)明。

監(jiān)控平臺(tái)能實(shí)時(shí)選擇類(lèi)別(包括全部),圖示按時(shí)間(時(shí)間段可為分鐘,時(shí)間段可動(dòng)態(tài)調(diào)整)的指標(biāo)筆數(shù),數(shù)值總額,指標(biāo)失敗率,如果連續(xù)一定時(shí)間失敗率超高,報(bào)警(可通過(guò)顏色聲音短信等),并可查詢指定時(shí)間段的明細(xì)數(shù)據(jù).

4.5日常維護(hù)

日常維護(hù)主要是指自定義腳本維護(hù)數(shù)據(jù)表少量記錄、修改某一個(gè)參數(shù),啟停某一個(gè)服務(wù)等一次性的維護(hù)操作,與例行維護(hù)不同的是不需要也不允許多次執(zhí)行。很多自動(dòng)化平臺(tái)缺乏該功能,過(guò)分強(qiáng)調(diào)自動(dòng)化運(yùn)維的批量性和自動(dòng)化。

該功能是與場(chǎng)景化運(yùn)維、業(yè)務(wù)運(yùn)維對(duì)接的關(guān)鍵。前面已提到:業(yè)務(wù)運(yùn)維實(shí)質(zhì)上是交易功能缺陷或者交易程序缺陷的快速解決方案,常規(guī)的人工維護(hù)存在不規(guī)范、監(jiān)管困難等諸多不足,通過(guò)該功能可較完美地解決這些不足,如果進(jìn)一步與面向業(yè)務(wù)的服務(wù)管理系統(tǒng)等ITIL類(lèi)系統(tǒng)對(duì)接,將一些常見(jiàn)的較規(guī)范的業(yè)務(wù)問(wèn)題場(chǎng)景通過(guò)業(yè)務(wù)場(chǎng)景和運(yùn)維操作的模板化流程化實(shí)現(xiàn)規(guī)范化標(biāo)準(zhǔn)化運(yùn)作,從而實(shí)現(xiàn)業(yè)務(wù)層面的自動(dòng)化運(yùn)維。譬如:新增機(jī)構(gòu),由于應(yīng)用系統(tǒng)眾多,有些應(yīng)用系統(tǒng)沒(méi)自維護(hù)功能或難以同步維護(hù),往往需要各自后臺(tái)維護(hù)。通過(guò)將各應(yīng)用系統(tǒng)增加機(jī)構(gòu)做成模板規(guī)范化標(biāo)準(zhǔn)化,然后在增加機(jī)構(gòu)的業(yè)務(wù)場(chǎng)景中流程化,實(shí)現(xiàn)業(yè)務(wù)的審批合規(guī)檢查并自動(dòng)完成整個(gè)的應(yīng)用運(yùn)維的實(shí)例化操作。

4.6查看監(jiān)視

這里的查看監(jiān)視不是指查看自動(dòng)化平臺(tái)本身的文件內(nèi)容,而是其納管的應(yīng)用系統(tǒng)-服務(wù)器中的文件內(nèi)容。由于服務(wù)器所使用字符集的多樣性,應(yīng)該支持多種字符集文件的正確顯示。

該功能可以在統(tǒng)一平臺(tái)查看監(jiān)視各個(gè)應(yīng)用系統(tǒng)的日志等文本文件,分析出現(xiàn)的問(wèn)題,解決日志采集保存需要存儲(chǔ)量大、不易查看、實(shí)時(shí)性差等問(wèn)題。該功能也能在統(tǒng)一界面監(jiān)控業(yè)務(wù)記錄,是對(duì)一些應(yīng)用系統(tǒng)無(wú)業(yè)務(wù)監(jiān)控或者監(jiān)控不友好的解決方案。

5.總結(jié)

應(yīng)用層面的自動(dòng)化運(yùn)維思路,以應(yīng)用為基本運(yùn)維對(duì)象,整合CMDB,為我們打開(kāi)了廣闊的開(kāi)發(fā)思路和應(yīng)用場(chǎng)景,部分功能的探索式落地實(shí)踐也取得了良好的效果。相信深入挖掘,可以很大程度上真正實(shí)現(xiàn)統(tǒng)一的全方位的數(shù)據(jù)中心自動(dòng)化運(yùn)維,并有助于解決各種運(yùn)維系統(tǒng)或者工具彼此獨(dú)立整合困難的問(wèn)題。

THEEND

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

更多
暫無(wú)評(píng)論