萬丈高樓平地起,高樓穩(wěn)不穩(wěn)取決于地基是否扎實?;A(chǔ)數(shù)據(jù)便是運維管理這座高樓的地基。
首先介紹一下我們在運維管理中所涉及到的基礎(chǔ)數(shù)據(jù)有哪一些。請看下圖:
基礎(chǔ)數(shù)據(jù)大致分為CMDB、日志、生產(chǎn)DB、知識庫四個模塊。
一、基礎(chǔ)數(shù)據(jù)概況
CMDB中文是配置管理數(shù)據(jù)庫,存儲與管理企業(yè)IT架構(gòu)中設(shè)備的各種配置信息,與未來的IT運維管理標(biāo)準(zhǔn)化和流程化緊密關(guān)聯(lián),并且支持流程的運轉(zhuǎn)。運維管理平臺創(chuàng)建初期或初版中的CMDB更多是偏向IT資產(chǎn)管理,我們在這里定義的IT資產(chǎn)管理,暫時拋除公司個人使用的普通PC機。
日志主要存儲CMDB中涉及到服務(wù)器或是其它設(shè)備的日志信息。
DB主要是所有IT系統(tǒng)的數(shù)據(jù)庫信息,包括運維管理系統(tǒng)本身的數(shù)據(jù)庫。由于數(shù)據(jù)庫的重要性,所以在基礎(chǔ)數(shù)據(jù)中單獨一個模塊管理數(shù)據(jù)庫,包括生產(chǎn)數(shù)據(jù)庫、測試數(shù)據(jù)庫、開發(fā)數(shù)據(jù)庫。數(shù)據(jù)庫的日志放在日志模塊進行統(tǒng)一管理,監(jiān)控和備份。
知識庫主要存儲日常運維管理中發(fā)生的事件、問題以及一些經(jīng)典問題的解決和常用的解決方案,主要起到運維管理輔助的功能。
二、基礎(chǔ)數(shù)據(jù)三要素
基礎(chǔ)數(shù)據(jù)要求完整、準(zhǔn)確、實時,這三個特性缺一不可。
1.完整性
完整性,要求在數(shù)據(jù)采集整理階段,要一一梳理,不能有遺漏。任何一個設(shè)備的疏漏都將會導(dǎo)致未來出現(xiàn)問題。例如最近的勒索病毒在防范上需要給服務(wù)器升級打補丁,這個時候就是根據(jù)服務(wù)器清單一一對照,升級。如果有遺漏落下的服務(wù)器未及時打補丁而導(dǎo)致病毒入侵,后果將很嚴(yán)重。那么,如何做到完整性呢?大致可以分為以下幾步:
首先數(shù)據(jù)采集階段多人(推薦三人以上)同時對IT資產(chǎn)進行采集,那么在數(shù)據(jù)采集完成后,將會有三份或以上的IT資產(chǎn)清單。
接下來就是相互確認階段。相互check對比兩方的清單和自己梳理的清單,找到不一樣的地方,大家在一起開會進行討論。經(jīng)過這個階段,會產(chǎn)生一份相對完整且三方(或以上)認可的IT資產(chǎn)清單。
最后就是三方(或以上)一同針對認可的IT資產(chǎn)清單進行最終check,確保最后的清單,是經(jīng)過多方討論確認,并最終又check過的IT資產(chǎn)清單。此時這份IT資產(chǎn)清單,相對比較完整。另外在梳理、討論和check的過程中,針對新增、變更、刪除的IT資產(chǎn)一定要及時更新我們的IT資產(chǎn)清單。
2.準(zhǔn)確性
準(zhǔn)確性要求IT資產(chǎn)清單或是CMDB中存儲的數(shù)據(jù)不能與實際情況有任何差異。要做到基礎(chǔ)數(shù)據(jù)的準(zhǔn)確性除了在數(shù)據(jù)采集階段要下功夫外,要在運維管理的每一個階段定期對基礎(chǔ)數(shù)據(jù)進行審計,確?;A(chǔ)數(shù)據(jù)中的數(shù)據(jù)無誤。一般月度一小審,半年一大審,具體情況根據(jù)企業(yè)的IT規(guī)模而定。
3.實時性
基礎(chǔ)數(shù)據(jù)的實時性可以確保數(shù)據(jù)的準(zhǔn)確性。即基礎(chǔ)數(shù)據(jù)的每一次變動,包括增加、刪除、修改,不論大小,只要有變動(在運維流程完結(jié)階段,執(zhí)行運維操作成功后,就要及時更新基礎(chǔ)數(shù)據(jù)。忽略基礎(chǔ)數(shù)據(jù)的實時性,必將導(dǎo)致準(zhǔn)確性大打折扣,在以后的月審、年審中必將導(dǎo)致額外的工作量。一般在審計的過程中,當(dāng)數(shù)據(jù)的錯誤率達到一定程度后,需要重新梳理全部數(shù)據(jù),以確保最終的準(zhǔn)確和完整。
CMDB
CMDB總的來說分為:產(chǎn)品線、資產(chǎn)管理、供應(yīng)商管理三個部分。
總的思路是:通過產(chǎn)品線管理IT資產(chǎn),通過IT資產(chǎn)信息管理硬件或服務(wù)提供者,供應(yīng)商管理。
1.產(chǎn)品線
產(chǎn)品線是指整個公司所有IT系統(tǒng)、產(chǎn)品按照屬性進行歸類劃分。這有一個前提,就是梳理整個公司的IT項目和IT服務(wù)。這里項目也可以理解為每一套IT系統(tǒng),例如OA、CRM、訂單系統(tǒng)、支付系統(tǒng)等等。
IT服務(wù)主要是指:應(yīng)用服務(wù)(Tomcat、WebLogic、數(shù)據(jù)庫服務(wù)等),基礎(chǔ)IT服務(wù)如Nginx、Varnish、Redis等。通過項目和服務(wù)兩個維度來管理IT資產(chǎn),尤其是虛擬機。因為一般系統(tǒng)和服務(wù)都是部署在虛擬機上,虛擬機的宿主機則是一臺臺物理主機。
產(chǎn)品線的劃分一般除了根據(jù)業(yè)務(wù)分類劃分幾個大的產(chǎn)品線外,還需要劃分一些基礎(chǔ)產(chǎn)品線,如:信息安全產(chǎn)品線,主要管理信息安全、網(wǎng)絡(luò)安全等系統(tǒng)和設(shè)備等;基礎(chǔ)服務(wù)產(chǎn)品線,如Nginx反向代理大部分系統(tǒng),Varnish緩存Web靜態(tài)資源等。
在這里單獨說一下產(chǎn)品線和項目包括的服務(wù)必須制定運維優(yōu)先級等級。運維等級的制定不能簡單定義為多少級,而應(yīng)該是為每一套系統(tǒng)進行運維優(yōu)先級打分,分值不能一樣。這樣保證在大面積故障的時候,可以根據(jù)優(yōu)先級解決問題。
2.資產(chǎn)管理
資產(chǎn)管理主要有以下幾個方面。
首先是比較大的機房管理。有的企業(yè)可能會有多個機房,每個機房的基礎(chǔ)信息,如帶寬、位置、值班電話等都需要加以整理存儲用來管理機房信息。機房中的機架、機柜、交換機、路由器等硬件信息,機房的空調(diào)、UPS電源、環(huán)境監(jiān)測系統(tǒng)等都屬于機房管理的范疇。
安全設(shè)備管理。安全設(shè)備管理這里主要包含防火墻、IPS、WAF、VPN等網(wǎng)絡(luò)設(shè)施。企業(yè)信息安全非常重要,在運維管理中也把安全作為一個單獨的模塊進行管理。通過購買安全硬件設(shè)備和安全服務(wù),不斷學(xué)習(xí)和研究,從而保護好企業(yè)數(shù)據(jù)信息。
服務(wù)器管理。這里假定企業(yè)實現(xiàn)了虛擬化,大部分系統(tǒng)和服務(wù)都部署在虛擬機,而虛擬機是部署在物理機上。服務(wù)器管理分物理機和虛擬機分開管理,同時又密切關(guān)聯(lián)。虛擬機在哪一臺或幾臺物理機需記錄清楚。
根據(jù)產(chǎn)品線中定義的運維優(yōu)先度等級,在資產(chǎn)管理中的每一個節(jié)點標(biāo)注上相應(yīng)的等級分值,以便出現(xiàn)大規(guī)模故障,有選擇、有重點、有順序地逐一解決問題。
3.供應(yīng)商管理
供應(yīng)商管理主要是管理由第三方企業(yè)提供的IT系統(tǒng)或設(shè)備的服務(wù)信息。記錄供應(yīng)商的具體信息、值班電話、硬件備件庫等信息。
以上幾個模塊單獨管理,但是又密切相連。如產(chǎn)品線包含哪些項目,包含哪些服務(wù),這些項目和服務(wù)部署在哪些虛擬機上,虛擬機又在哪一些物理機上,物理機分布在哪些機房和在機房中的具體位置,物理機在機房中的網(wǎng)絡(luò)位置和網(wǎng)絡(luò)架構(gòu)如何,經(jīng)過哪些安全設(shè)備等等。
反過來需要知道某一些機房有哪一些物理機,物理機位置,安全設(shè)備,以及安全設(shè)備與物理機的網(wǎng)絡(luò)架構(gòu)等,物理機上又有哪些虛擬機上部署了哪一些項目和服務(wù)等。系統(tǒng)和服務(wù)屬于哪些供應(yīng)商提供,供應(yīng)商又提供了哪些系統(tǒng)、設(shè)備或服務(wù)器等。都要多維度進行管理。要求做到某一環(huán)節(jié)的故障,一查就知道所有受影響的系統(tǒng)和服務(wù)。CMDB中的信息相互交織,多維度查詢和管理,構(gòu)建出一張完整的總體架構(gòu)圖,通過總體架構(gòu)圖除了展現(xiàn)出各個部分的基礎(chǔ)信息外,還描述了所有的依賴關(guān)系,做到壞一點而知全面。
日志
通過日志可以比較準(zhǔn)確全面地知道系統(tǒng)或是設(shè)備的運行情況,可以返查問題產(chǎn)生的原因,還原問題發(fā)生的整個過程。通過日志也可以提前預(yù)測系統(tǒng)可能要發(fā)生的問題或是故障,如系統(tǒng)安全日志,如果網(wǎng)絡(luò)攻擊會在系統(tǒng)安全日志中有一定的體現(xiàn)。
1.系統(tǒng)日志
系統(tǒng)日志主要指的是操作系統(tǒng)的日志,主要在/var/log下的各種日志信息。包含系統(tǒng)操作日志、系統(tǒng)安全日志、定時任務(wù)日志等。系統(tǒng)日志是運維管理安全模塊中審計的重要依據(jù)。一般默認的操作系統(tǒng)日志不能滿足要求,需要對系統(tǒng)的參數(shù)進行修改,如為history命令加上時間戳、IP,并且長久保留歷史等功能。并且對日志文件進行處理,不允許用戶進行清空命令,只能append。
2.應(yīng)用日志
應(yīng)用日志主要記錄應(yīng)用服務(wù)的健康運行情況以及業(yè)務(wù)操作的具體日志兩部分。應(yīng)用監(jiān)控運行情況反應(yīng)應(yīng)用服務(wù)的健康狀態(tài),如果應(yīng)用占用CPU或是內(nèi)存過高或是忽高忽低不定,都可以通過分析應(yīng)用日志結(jié)合業(yè)務(wù)操作日志得出結(jié)論。業(yè)務(wù)操作日志可以為業(yè)務(wù)審計提供主要依據(jù)。有一些系統(tǒng)喜歡把業(yè)務(wù)操作日志寫到數(shù)據(jù)庫中,這個也是需要注意的。不過不管在哪個地方,要求是不可缺少的,它為以后業(yè)務(wù)審計和問題返查提供依據(jù)。
3.數(shù)據(jù)庫日志
數(shù)據(jù)庫日志主要反饋數(shù)據(jù)庫的運行情況。通過監(jiān)控和管理數(shù)據(jù)庫的日志,及時了解數(shù)據(jù)庫的運行情況,遇到問題及時解決等??梢酝ㄟ^數(shù)據(jù)庫日志結(jié)合數(shù)據(jù)庫系統(tǒng)自帶的數(shù)據(jù)庫如Oracle的系統(tǒng)視圖v$開頭,MySQL的performance_schema等。雖然數(shù)據(jù)庫的一些信息不是存在日志中而是在數(shù)據(jù)庫里面,但是也可以作為數(shù)據(jù)庫日志的一部分進行管理和監(jiān)控,已便我們及時知道數(shù)據(jù)庫的監(jiān)控狀況,從而預(yù)防可能出現(xiàn)的問題。
4.設(shè)備日志
設(shè)備日志一般是一個比較容易忽略的地方,但設(shè)備日志往往可以反映設(shè)備的運行情況。交換機故障,防火墻故障等設(shè)備故障都可能引起大面積的系統(tǒng)和服務(wù)故障。所以設(shè)備日志一定要收集,分析和監(jiān)控預(yù)警。常用的設(shè)備日志有交換機日志、防火墻日志、網(wǎng)絡(luò)安全設(shè)備日志等。
在CMDB中梳理的IT基礎(chǔ)設(shè)施的基礎(chǔ)上,對日志進行分類收集、管理、分析和監(jiān)控,配著監(jiān)控管理模塊的系統(tǒng),就已經(jīng)可以達到多方位監(jiān)控IT系統(tǒng),保障IT系統(tǒng)的安全穩(wěn)定。
DB
由于數(shù)據(jù)和數(shù)據(jù)庫的重要性,在基礎(chǔ)數(shù)據(jù)中,數(shù)據(jù)庫作為單獨的模塊存在,根據(jù)環(huán)境劃分為:生產(chǎn)數(shù)據(jù)庫、測試數(shù)據(jù)庫、開發(fā)數(shù)據(jù)庫。嚴(yán)格區(qū)分三種環(huán)境的數(shù)據(jù)庫,避免測試數(shù)據(jù)到生產(chǎn)環(huán)境,生產(chǎn)數(shù)據(jù)到測試環(huán)境等。另外數(shù)據(jù)庫中數(shù)據(jù)也為業(yè)務(wù)監(jiān)控提供數(shù)據(jù)依據(jù)。通過查詢數(shù)據(jù)庫中的數(shù)據(jù),依據(jù)業(yè)務(wù)邏輯進行判斷是否有錯誤或是遺漏的數(shù)據(jù)。
知識庫
知識庫在整個運維管理中是一個輔助功能,主要為運維提供事件管理、問題管理。很多朋友可能會疑惑為什么把事件庫和問題庫放在知識庫這里,這些不是應(yīng)該在CMDB中嗎?這里稍微解釋一下,其實本人也并不太清楚這種辦法是否可行。在CMDB模塊中更多是偏向IT資產(chǎn)管理,為以后的運維操作提供運維范圍和運維目標(biāo)。而事件(主要指運維過程中遇到的所有的運維事件)和問題(需要進行變更發(fā)布才能解決的事件升級)更多是在IT資產(chǎn)之上,是解決IT資產(chǎn)的過程中遇到的事件和問題。如果把CMDB作為IT運維的基礎(chǔ)管理對象和范圍目標(biāo)的話,事件和問題應(yīng)該單獨出來。也許在后面的運維管理中,逐漸強化CMDB的功能,會把事件庫和問題庫回歸到CMDB模塊中。
知識庫中還包含經(jīng)典案例庫,主要是解決一些常遇故障、經(jīng)典問題的解決方法的整理和歸檔。
解決方案庫只要是一些常用的或是探索中的解決方案,例如:Nginx+Tomcat+Redis部署方案,F(xiàn)astDFS分布式文件服務(wù)器方案等。
文檔庫主要用來存儲運維管理過程中執(zhí)行的運維標(biāo)準(zhǔn)和規(guī)范以及運維的流程規(guī)范,常用的一些規(guī)范舉例:
文檔庫也包括一些企業(yè)或是部門的規(guī)章制度,與供應(yīng)商的合同條文等。主要是涉及到IT系統(tǒng)文檔的一個存放和查閱的地方。
運維標(biāo)準(zhǔn)和運維流程的文檔一定是必不可少的。因為運維自動化的前提就是運維的標(biāo)準(zhǔn)化和流程化。如果沒有明確的標(biāo)準(zhǔn)和規(guī)范的流程,運維自動化就只能一直停留在測試環(huán)境的假想空間中。
總結(jié)
基礎(chǔ)數(shù)據(jù)在整個運維管理中起到基礎(chǔ)、奠基的重要作用,也是做運維管理平臺的第一步和以后每一步的重要依據(jù)。一定要舍得投入時間、人力等來建立起完整、準(zhǔn)確、實時的基礎(chǔ)數(shù)據(jù)。打好地基,以后運維的每一步都將有條不紊地循序漸進,終將建設(shè)成屬于運維的高樓大廈。
評論
查看更多