嚴代彪
本文針對數據中心的特點,以智能化運維管理為目標,提出了數據中心智能運維管理方案,設計了運維門戶及展示管理、運維資產配置管理、運維服務管理、運維監控監測告警管理、運維自動化管理及開放接口管理等主要內容,為數據中心智能運維管理系統建設提供指導。
云計算、大數據、物聯網及人工智能等新一代信息技術蓬勃發展,數據中心的規劃、設計、建設和運維呈現出綠色節能、向資本效率轉型、智能化和智能運維管理等特點。隨著信息化進程的日漸深化,智能化運維在數據中心的作用已經不僅限于基礎設施的建設、應用及工具的維護,數據中心業務對智能化運維的依賴程度越來越大,這決定了智能化運維已經成為數據中心價值鏈中不可或缺的重要一環。本文針對數據中心的發展趨勢和特點,以智能化運維管理為目標,提出了數據中心智能運維管理方案,設計了智能運維門戶及展示管理、運維資產配置管理、運維服務管理、運維監控監測告警管理、運維自動化管理及開放接口管理等主要內容,為數據中心智能運維管理系統建設提供指導。
數據中心面臨的挑戰
管理角度
首先就是經濟性,包括網絡資源、空間資源和動環資源如何有效地利用,以及縮減能源和維護人員的運行費用;其次是靈活性方面,包括如何識別和降低過度部署和冗余、靈活擴展空間、制冷和供電容量,及更快地響應業務;第三就是可用性方面,如何實現精細化管理、及時排除隱患、處理復雜故障以及實現動態資源管理;第四就是管理性方面,如何進行有效地數據分析支撐決策和規劃、實現系統一體化、系統統一協作和快速響應、滿足大客戶服務等級協議(SLA)和自服務管理等。
技術角度
首先面臨的挑戰就是運維海量數據的存儲、分析和處理問題。運維人員必須隨時掌握服務器的運行狀況,除了常規的服務器配置、資源占用情況等信息外,業務在運行時會產生大量的日志、異常、告警和狀態報告等事件。通常每臺服務器每個時刻都會產生大量這樣的事件,在有數萬臺服務器的場合下,每天產生的事件數量是數億萬計,存儲量在TB級別的。數據中心的服務器規模往往比較大,如何統一、自動化處理這些事件的需求很強烈,畢竟登錄查看日志這種方式效率很低,而當前的監控軟件只能收集和處理眾多事件中的一部分,當服務器數量多了以后,其擴展能力、二次開發能力非常有限。
其次面臨的挑戰是多維度、多數據源的復雜性問題。多維度數據不僅包括常用的時間、地點(哪個服務器或組件)、內容(錯誤碼或狀態值),還應當包括地區、機房、服務池、業務線、服務和接口等,而數據分析人員則需要使用各種維度、組合各種指標來生成報告、告警規章及Dashboard等。如何從異構的數據源獲取數據,還要考慮當其中某個數據源失效、服務延遲時,能否不影響整個系統的穩定性。多數據源還有一個關鍵問題就是如何做到數據和展現分離,如果展現和數據的契合度太高,那么隨便一點變更就會導致前端界面展現部分的更改,帶來的工作量會非常大。
第三個技術挑戰就是復雜業務模型下的故障定位。業務模型(或系統部署結構)復雜帶來的最直接影響就是定位故障很困難,發現根源問題成本較高,需要多部門合作,開發、運維人員相互配合分析(現在的大規模系統很難找到一個能掌控全局的人),即使這樣有時得出的結論也不見得各方都認可。在復雜、異構和各種技術混雜的業務系統中,如果想發現問題并定位故障,在各個系統中就必須有一個可追蹤、有共性的東西。然而,在現實中若想用某個體系來“一統天下”基本不可能,因為各種非技術因素可能會讓這種努力一直停留在規劃階段,尤其是大公司,部門之間的鴻溝是技術人員無法跨越的。
因此,面對以上挑戰,數據中心應建設“集中化運維、一體化管理、智能化分析、流程化控制”的智能運維管理系統,才能實現智能化運維的管理目標,減少運維人員和維護成本,優化資源管理,從整體上提高智能化運維系統運行協調性、安全性和資源共享性,發揮信息化建設的最大效益。
總體設計
總體原則
智能運維管理方案立足體系建設的角度進行設計,總體原則遵循以下4個方面:
以完善的運維服務制度、流程為基礎
為保障運行維護工作的質量和效率,應制定相對完善、切實可行的運行維護管理制度和規范,確定各項運維活動的標準流程和相關崗位設置等,使運維人員在制度與流程的規范和約束下協同操作。
以先進、成熟的運維管理平臺為手段
通過建立統一、集成、開放并可擴展的運維管理平臺,實現對各類運維事件的全面采集、及時處理與合理分析,實現運行維護工作的智能化和高效化。
以高素質的運維服務隊伍為保障
運維服務的順利實施離不開高素質的運維服務人員,因此必須不斷提高運維服務隊伍的專業化水平,才能有效利用技術手段和工具,做好各項運維工作。
以智能化運維管理為目的
智能化運維管理需要實現智能監控、智能檢測配置變更以及智能提示3個主要功能,自動提示報警信息,自動觸發智能運維變更流程,方便運維管理人員及時采取應對措施。
2.總體架構
數據中心運行智能運維管理系統由基礎設施運維、支撐服務運維、應用系統運維和安全防護系統運維4部分組成,針對數據中心建立的網絡設備、計算設備、存儲設備和安全防護設備等進行設備管控,同時對操作系統、數據庫和中間件等基礎軟件,以及一體化探測網絡應用軟件、數據傳輸系統應用軟件、信息處理與服務系統應用軟件等提供軟件運行實時監測,智能運維管理系統總體架構如圖1所示。
資源層
是數據中心中所有的IT資源,是運維服務的主要對象,包括基礎動力環境、網絡通信資源、計算存儲資源、云資源和應用業務系統資源。
服務層
包括資源接入服務、數據資源及數據支撐服務和共用的支撐服務。資源接入服務提供各種類型資源的接入功能,負責對資源的運行數據進行采集、控制等。數據資源及數據支撐服務負責對資源的基礎信息、資源狀態、性能和容量等數據進行采集、存儲、管理和分析等。共用服務的基礎支撐軟件是構建系統所需基礎軟件運行支撐、規范信息交換流程、提升系統間數據互聯互通互操作的能力,提供系統運行、集成手段的基礎軟件系統,為運行管理保障系統各業務應用軟件的研制與綜合集成提供共性基礎支撐。
監控監測告警
主要通過各種管理協議和管理接口適配,實現各類管理對象的管理信息采集和運行狀態感知,收集高質量、可信和準確及時的信息,提供對上層運維服務的支撐,保障業務流程的有效運行,所管理的對象包括:網絡、服務器、存儲、安全、機房動力環境及應用服務系統等。
運維服務管理
是為使服務達到其質量目標而以確定的方式實施的一系列規范化管理服務。運維服務管理流程從流程的目標和范圍、流程的觸發、流程的輸入和輸出、流程與其他流程的關系、流程的活動、流程的參考設計、流程中的角色和職責以及流程的關鍵度量指標等方面對流程進行定義。
資源配置管理
主要包括資產管理和CMDB配置管理,資產管理服務是提供資源基礎信息、配置信息等管理;
運維自動化管理
為管理人員提供運維自動化能力,提供批量調度執行運維任務,簡化運維工作,應對大量簡單重復運維動作,比如系統批量補丁升級。
統一門戶及展現管理
提供統一的綜合運維平臺入口,使運維人員能夠基于統一的整合管理界面,進行運維管理的信息查詢和相關操作。
組成功能
通過對運維體系的分析,依托業界現有運維相關的小工具小系統,本文提出了一體化數據中心智能運維管理系統的方案,主要包括綜合門戶系統、資產配置管理系統、健康監測系統、運維自動化系統、運維服務管理系統和運維對外開放接口系統。這些系統可進行單獨部署運行,也可組合形成大系統。系統組成功能如圖2所示。
綜合門戶系統
提供統一的綜合運維平臺入口,使運維人員能夠基于統一的整合管理界面,進行運維管理的信息查看和相關操作。
資源配置管理系統
提供整合數據中心及項目資產基本信息、資產關聯信息、資產生命周期的管理功能,同時對系統運行的配置信息進行管理。
健康監測告警管理系統
系統通過自動化的健康監測手段,對數據中心的動力環境、IT基礎設施、應用系統進行全方位的監測,同時從狀態、性能、容量多個維度判斷系統的運行情況,一旦出現問題則通過聲光電、短信和郵件等多種方式進行告警通知。
運維服務管理系統
服務流程管理產品遵循ITIL/ITSS等IT服務管理標準,建立以客戶為中心的運維模式,將人、技術與流程進行有效地融合,通過流程管理平臺,制定內部運維流程,將運維團隊的服務產品化、標準化,提供了服務過程的設計、過程記錄、監督與考核等事務的管理能力,同時提供了對IT的各項服務、能力進行整合的職能。服務流程管理產品以高效的自主框架為流程處理引擎,并自主研發圖形化的自定義流程、流程狀態監控、流程定制工具,方便用戶按照實際需求進行定制流程與編制對應的工單。
運維自動化管理
通過自動化的方式批量完成運維任務,降低運維工作量,規范運維操作,同時支持故障與處理腳本關聯,實現故障自愈等功能。
部署架構
一個典型的數據中心網絡架構中分為業務網絡、存儲網絡和管理網絡等子網絡,運維系統需要與各個子網進行對接,以接收各個子網的數據。在監控過程中采集器部署到與被監控網絡互通的網絡域,采集器采集數據后,發送給傳輸消息隊列,這要求采集器與消息隊列的網絡能夠互通。智能運維管理系統部署架構,如圖3所示。
當前云計算IaaS平臺的部署,經常將網絡劃分成不同的子網,不同的子網傳輸不同的流量,既方便運維管理,也方便租戶使用,既安全又互不干涉。
管理網:適用于進行運維管理,傳輸運行數據、管理數據。
業務網:適用于業務系統的流量,適用于業務系統使用,比如OA系統等。
存儲網:適用于部署了基于x86架構的分布式存儲、虛擬存儲或者大數據存儲平臺,需要獨立的存儲網絡支撐存儲流量。
SAN網:用于采取集中存儲的數據存儲環境,此網絡屬于光纖網絡,監控系統不會接入到光纖網絡。
工控網:使用于機房環境監控。
如果網絡進行了管理、業務子網的劃分,那么要求部署監控系統采集器的服務器或者虛擬機具備至少3個網卡、3個網址,分別屬于不同的子網。
監控系統實現了對機房環境、網絡設備、安全設備、服務器硬件、操作系統、中間件、數據庫、業務系統以及日志等數據的監控,不同的監控對象,監控數據需要在不同的網絡中獲取。應用服務器采用雙機冗余,部署資源管理、策略管理、系統管理、告警模塊和報表模塊等管理模塊,部署消息隊列、緩存、數據解析分析、外部接口等基礎軟件模塊。
技術路徑
微服務架構設計
隨著微服務等新興架構的提出,在框架輕量解耦、需求敏捷響應、結構自動演化、資源彈性伸縮等方面有了長足進步,但也會帶來性能損耗、整體資源要求高以及運維復雜等缺點。在數據中心智能運維管理系統建設過程中,需要充分結合現有信息系統特點和現狀要求,考慮機動環境快速構建、服務運行自動擴容等場景,借鑒并兼容微服務中基于容器技術的服務持續集成、動態遷移、彈性擴展及監控治理等技術,實現服務持續集成、部署遷移和監控治理等能力,提供更精準敏捷的信息服務能力。
基于跨平臺監控管理功能的設計及應用
隨著計算機技術、網絡技術、通信技術和安全技術的飛速發展以及經濟全球化的加速,以網絡、主機、存儲、數據庫和中間件作為主要信息化組成部件來說,擁有著交換、傳輸數據等各種業務網絡,其設備數量也非常龐大。運行管理技術是業務系統正常、經濟效益和安全運行的重要保證。對于在復雜的多技術應用的場景下,如何使監控管理功能適配多種技術,并且能夠運行在多種技術平臺,是必須要考慮的技術選擇問題。基于跨平臺的監控管理就是通過一個管理平臺對互連的多個不同專業的IT運行環境進行全面的集中管理,對所提供的業務進行端到端的管理,實施跨專業的故障定位和故障排除。它具有以下要求:管理所有IT資源、將各個系統的告警和性能信息統一到一個平臺、實現故障的跨專業綜合分析以及使用統一的用戶界面(GUI),使網絡管理和維護人員簡便易學。
基于分布式架構監控管理功能的設計及應用
分布式架構設計,天然就有多個節點,很容易通過主備、冗余、哈希等手段實現計算和存儲冗余備份,從而實現高可用。當然分布式架構多個節點的設計也帶來了保持一致性和高可靠性上的巨大挑戰,分布式系統的存儲往往會設計成多份冗余,并盡可能在機架、機房甚至城市維度將冗余的數據分散在多處,以保障系統的高可用和業務連續性。隨著分布式架構等新興架構的提出,在框架輕量解耦、需求敏捷響應、結構自動演化、資源彈性伸縮等方面有了長足進步。考慮提高系統高穩定性及可連續性等業務使用場景,借鑒分布式架構等技術,采集層、分析處理器、應用層、數據庫存儲層實現多節點集群實現,實現服務高效穩定運行、可持續擴展等能力。
基于有代理和無代理相結合的數據采集技術
有代理Agent監控方式是國外一些大廠產品普遍采用的方式,作為整個管理系統的組成部分,Agent的主要功能是用來采集監控的基礎數據。Agent監控方式的最大問題就是需要在每個被監控的系統終端安裝一個代理軟件,這樣整個系統的部署及維護難度較大。而且運行在每個被監控端的代理一旦出現問題,還需要登錄到系統上去維護。Agentless監控方式,是指在被監控應用所在的主機上面,不安裝代理軟件采集相應的信息,而是通過一些標準的協議,包括主機使用的SNMP,Telnet,SSH,WMI等,以及應用使用的JMX,JDBC,ODBC等實現監控。對比Agent的監控方式,Agentless在易用性、可維護性和性能損耗上的優勢明顯。同時,數據采集是整個管理平臺的基礎,負責采集平臺運行需要的數據,在被監測對象上部署Agent的方式,可能對業務系統產生沖突帶來不安全因素。Agent監控方式的優勢包括在監控資源端采集的數據經過壓縮處理后傳輸給監控服務器、對網絡帶寬占用比較低、支持二次開發等。鑒于Agentless和Agent的各自優缺點,綜合2種方式的特性,支持2種方式的監控采集,盡量做到揚長避短。
基于ITIL以服務為中心的運維服務管理
ITIL即信息技術基礎架構庫,主要適用于IT服務管理(ITSM),ITIL為IT服務管理實踐提供了一個客觀、嚴謹和可量化的標準與規范。結合業界運維過程管理標準,本系統以ITIL和ISO20000為信息化服務流程規范,統一制定信息化服務流程,并由運維流程子系統進行統一管理,對服務流程實行統一集中監控,提供直觀、美觀且圖形化的監控視圖,動態實時反映各項服務流程的執行情況和效率。通過規范化的流程梳理,定義完善的服務臺統一接入、服務請求和事件處理流程、以及其他信息化運維必須的流程。系統提供豐富多樣的統計分析工具和圖表展示,以報表形式形成信息化運維管理周報及月報,用于分析和統計各項服務管理流程的執行情況及效率,為不斷優化服務流程、提高運維服務效率和用戶滿意度提供依據。
基于自動化技術的配置管理數據庫搜集維護過程管理
配置管理數據庫(Configuration Management Database,CMDB)存儲與IT架構中設備的各種配置信息,它與所有服務支持和服務交付流程都緊密相聯,支持這些流程的運轉、發揮配置信息的價值,同時依賴于相關流程保證數據的準確性。過程管理主要是完成資產和配置的數據增刪改查操作,微軟的.net架構和J2EE架構是比較成熟的2類技術。采用自動化的技術對CMDB的配置信息進行自動維護,可極大地降低人工維護的工作量、提高數據的準確性,充分發揮CMDB在運維中的基礎作用。本系統模塊的側重點在配置和管理系統的狀態上,無需安裝Agent,主機通過SSH協議與監控對象進行通信,從運維成本和維護性上來說,只需關注主機的運行狀態,不會增加額外的運維成本。由于在運維服務管理選擇了J2EE技術,因此本系統的基礎技術路線也選擇J2EE體系。保證底層技術的一致性。在CMDB數據的維護中,部分數據采用人工和基于SSH協議的自動化結合的方式進行。
數據中心的智能運維管理的實現,不僅減少了傳統人工運維管理下的時間延遲,將運維管理人員從重復性工作中解放出來,提高了工作效率,而且,基于一體化運維管理平臺的智能運維管理系統還可以實現自我狀態監控,對運維管理中的各種風險進行預估,減少因為智能運風險導致的成本支出,在今后,特別是大型數據中心的運維管理中,將發揮越來越重要的作用。但是對于基于數據中心運行的業務系統的運維管理,還需要針對不同業務系統,開發定制具體功能模塊,這也是智能運維管理系統的短板。