1. 程式人生 > >自動化運維之後,你還在人工巡檢?

自動化運維之後,你還在人工巡檢?

作者|雲新肖
來源|網際網路運維雜談

運維管理工具自動化之後,仍有很多問題讓底層物理資源運維工作無法實現完全自動化,如何讓運維工作不再是眼前的苟且,還有詩和遠方?

自動化運維監控工具誕生

初期階段IT基礎設施通常處在小規模狀態。幾臺至幾十臺機器的規模,足以滿足業務需求。很多公司都不一定配有專門的運維人員或者部門,業務開發人員完成自己業務工作的同時,也一併完成所負責管理相關業務的裝置。隨著雲時代到來了,IT基礎設施迅速發展成幾百上千伺服器。更多的業務系統上線,業務人員也無暇再顧及運維工作。此時,運維人員開始專業化,獨立成部門。各類孤島式的運維管理工具上線,提升運維效率。
可是在各類運維工具上線之後,大家發現運維人員仍然時常要充當“救火隊員”,收警告、修機器,哪裡宕機去哪裡。雖然有了運維管理工具自動化收集監控資料之後,但還是有很多問題,讓底層物理資源運維工作無法實現完全自動化。

逃不開的人工巡檢

目前,多數客戶所選擇的運維監控方式都是在作業系統上安裝Agent訪問裝置驅動,讀取硬體狀態資料。所有監控狀態的資料抓取都受限於驅動程式。而驅動程式的編寫人員所關注的重點在於裝置的正常執行,而不在於裝置的狀態監控。因此,通過驅動程式所抓取的硬體狀態引數始終有限。這也就能解釋,為什麼很多客戶在上線了運維監控軟體之後,還是需要人工巡檢。我們來看幾個大家經常遇到的問題:

事例1:
某客戶資料庫系統上線,3塊900G 硬碟做raid5。當出現一塊壞盤之後,監控軟體看不到有壞盤,因為系統還在正常執行。人工巡檢之後,發現裝置上有硬碟告警燈。監控軟體下又無法檢視到系統是JBOD還是做了raid。巡檢中,資料庫伺服器出現硬碟告警,監控軟體在這種時候卻幫不上忙。如果不是人工巡檢,甚至可能都沒有發現這個嚴重告警。

事例2:
某客戶的核心業務伺服器配置雙電源,卻在一次電源故障中出現了伺服器掉電問題。嚴重事故之後,追查責任,才發現原來雙電源中的備用電源一直處於離線狀態。系統下的agent無法監控到冗餘電源離線,因為一直有一個電源線上,供電沒有出現任何問題,因而沒有告警資訊出現。最終客戶發現,監控系統上線了,還是得巡檢。

事例3:
某客戶想要擴容舊系統上記憶體容量,監控軟體顯示記憶體容量為256G。還有多少記憶體槽位呢?機器上是16G*16,還是32G*8呢?監控軟體獲取不到!很崩潰,只能去機房拆機器驗記憶體……
日常工作量大,加班是常態。還要經常面臨裝置問題而帶來了業務中斷風險。監控系統上線了,一切都沒有開始好轉。

帶外解帶內之困,遠離人工巡檢

從專業的角度來看,網路管理可分為帶外管理(out-of-band)和帶內管理(in-band)兩種管理模式。上述在系統下,也就是客戶的生產環境下抓取資料,通過生產網路讀取監控資料屬於帶內管理。這種管理方式,最大的問題就在於當系統出現故障時,機器就無法管理。而且如上所述,獲取的監控資料有限。而幾乎所有的it裝置廠商都為客戶提供帶外管理口,也就是與生產系統相隔離的管理口。管理口下,裝置廠商本身就提供了詳細的硬體引數。這些硬體引數直接來自於伺服器上百多個sensor,直接從硬體層面獲取的狀態引數。資料更為細節、全面和直觀。

帶外監控通過sensor監視伺服器狀態,就像在裝置上安裝了上百個攝像頭一樣,時刻巡視裝置執行狀態。冗餘電源離線、機器上任一條記憶體容量、記憶體頻率、記憶體槽位資訊、HBA卡槽位資訊等等,這些帶內軟體無法捕捉的資訊,都可以通過帶外監控獲取。這就等同於人工巡視,拆機驗選件。並且,輪訓所有機器的時間週期要遠遠大於人工巡視的時間週期。帶外監控的輪訓週期可以達到秒級,而人工巡檢的工作量大,以日為週期已經是相當大的巡檢密度了。通過帶內監控來彌補帶外監控的部分空缺,可以極大的提升運維效率,真正意義上實現無需人工巡檢。

揚帶外之長,建資料中心作業系統

帶外管理最大的好處就在於與生產系統相隔離,直接實現與機器對話。這樣效率更高,同時可以有效減少對生產系統的影響。現在的資料中心,通常對所有裝置都已經建立了比較完善的帶外管理網路。這一日益完善的架構,不僅僅可以用來做帶外管理,還可以利用其優勢構建一個完整的底層DCOS(Data Center Operating System)。揚帶外之長,實施建造一套完整的底層運維架構。

什麼是DCOS?

DCOS是為資料中心所有裝置全生命週期服務的一套管理平臺。簡單的說,是為資料中心的裝置進行全生命週期的管理,從採購到安裝使用,再到維修、報廢的整個過程服務。

通過DCOS的全生命週期自動化平臺管理,實現部署、監控、分析、管理全自動,資料中心的無人值守。儘可能的保證服務過程的標準化,減少其中的人為管理。我們梳理一下DCOS需要完成哪些部分的自動化運維工作。

部署

當裝置進入資料中心,首先通過DCOS進行業務流程審批,包含上架申請等過程。然後,DCOS對資產進行自動化的驗收,主要檢驗配置是否符合規範,對各個選件(CPU/記憶體/硬碟等)做自動化的壓力測試。可以實現選件級別的資產驗證,所有資訊都為自動更新採集。如記憶體資訊,可以自動收集所有記憶體的插槽資訊、容量、頻率等。
裝置驗收可以實現選件級裝置驗收:如記憶體,可以驗收記憶體總容量,同時可以驗證型號、容量和數量資訊。當裝置通過驗收之後,可以通過帶外網路自動化發現裝置,可以自動化獲取裝置上帶有的資產資訊,並將裝置自動化列入資產管理。

然後從模板庫當中,選擇對應的自動化安裝模板進行全自動化的安裝,包括自動化的陣列卡配置、OS配置,配置標準化的基礎設施給上層資源運維使用。

完成整個過程後,在裝置狀態列表中將裝置狀態更新為已上線的可用狀態。整個過程只有上架申請和模板庫選擇模板操作需要人為干預,其它過程均為標準化的自動化流程,可以大大提高部署效率,並減少人為操作帶來的上線質量不合格問題。

監控/分析

監控分析是DCOS最核心的功能。為了更好的與上層資源運維做隔離,DCOS採用帶外管理的方式儘量與上層業務做隔離。這種方式,可以在裝置無論上層系統是否正常執行的情況下,都可以對裝置進行監控分析。且帶外的管理方式,可以保障帶外的管理工作可以不影響正常的業務執行效率,同時也在一定程度上保證了業務資料的安全性。
DCOS主要可以從資源、機房、業務、裝置等多種不同的檢視監控資料中心的各種資源。不同檢視下,可以隨時檢視裝置的健康狀態、效能狀態,可以用列表以及多種圖示形式更加自動化的直觀展現。對於裝置異常狀態可以實現多途徑的告警,包括郵件、簡訊、微信等形式。

DCOS實行多級告警制度,根據告警的嚴重性分成不同等級。對於部分嚴重警告,可以設定告警升級規則,將告警自動化上報高層,實現問題的自動化升級。為了避免出現單一故障(如交換機故障)導致的與交換機連線的伺服器同時報警所產生的告警風暴,DCOS可以實現對告警進行自動化的收斂,減少批量告警所帶來的不必要的恐慌。通過這種方式,實現百分之百的硬體狀態檢視。

DCOS提供所有伺服器遠端虛擬KVM功能,不佔用系統資源和網路資源、不需要安裝代理程式(Agent)。同時,可以節省大量購買物理KVM費用等裝置的採購費用。DCOS通過帶外方式自動化獲取各個裝置的主要效能引數,以圖形化介面展示,或者生成報表,實現裝置資產的大資料化,幫助分析裝置資產資源利用率,更加合理利用、擴充的配備裝置資產。

通過DCOS的監控、分析功能,可以有效的替代對於小型機、X86伺服器、儲存裝置、備份帶庫、光纖交換機等裝置的人工機房巡檢。這種方式大大節省了人工巡檢所需的人力,也提高了巡檢的效率。整個監控、分析都有DCOS後臺自動化執行,只需要人為干預去處理部分裝置故障。調查顯示,多數運維事故都是因為人為誤操作而導致。相信大家還記得前不久發生的Gitlab運維人員誤刪庫,導致Gitlab網站丟失了6小時資料。因此人為干預操作的減少,可以避免更多的運維事故。

管理

管理部分包括對於資料中心資產(伺服器、儲存、網路、UPS、精密空調等)的資產資訊進行管理,其中包含對裝置位置的追蹤。以及裝置維保情況、工作狀態等實時狀態的自動化更新提醒。幫助形成it資產的全域性化統一檢視。
除了自動化生成裝置資料列表,還能通過過濾資訊,自動化靈活生成資產報表。同時,可以根據資料中心裝置之間的互聯狀態,生成裝置的邏輯檢視,以及資料中心機架的位置檢視。除了資產管理之外,還需要進行知識庫管理,形成運維人員之間,以及運維人員和維保商/廠商之間更快的自動化溝通渠道,讓維保商可以更快的將裝置韌體更新等資訊自動化推送給使用者,減少原有的繁瑣溝通渠道。

DCOS的知識庫也可以幫助運維人員之間實現一個長期的技術知識累計,可以實現技術文件的快速自動化檢索,讓平臺不僅僅是一個自動化的管理平臺,還是一個很好的技術積累平臺。

部署、監控分析和管理三大自動化功能板塊看似互相獨立,實際上實現了資料的互聯互通,為彼此的業務提供資料支撐,形成統一的自動化管理檢視。

未來:“簡生態”運維繫統

資料中心運維包含很多的內容,從底層往上,包含物理資源、虛擬資源、系統、應用、業務的運維。複雜度往上逐層遞增。而重要性卻是以底層運維為基礎。

眾所周知,運維部門的多數的運維工作80%集中在底層物理資源、系統資源運維。這正符合二八定律,我們在花80%的時間做20%的工作內容。如果是這樣,我們需要將運維工作做剝離。將這20%的工作從整個運維體系剝離開來,通過帶外網路架構來進行統一管理,建立一個底層運維的“簡生態”。用更直觀、更標準化的檢視來簡化這一部分的管理,提升基礎工作的管理效率,實實在在的提升日常運維管理工作的質量。

這就好像物理裝置是水杯,而裝置上承載的萬千業務是水杯裡的可樂或者檸檬茶,無論水杯裡裝的是什麼,帶外管理的任務只負責保障水杯的完整,不會有水杯裡的內容流失。最最重要的任務,用最簡化的方式來保駕護航,反而能贏得最佳的效果。

未來的理想是通過帶外來彌補帶內裝置管理的空缺,真正意義上實現最佳的物理裝置管理,24小時不間斷保障物理裝置的正常執行。可以點選滑鼠,就能完成成千上萬伺服器的運營管理,讓生活不再是眼前的苟且,還有詩和遠方。

原文來自微信公眾號:網際網路運維雜談