日志是帶時間標記的足跡、記錄行為、條件和事件,數據中心里的任何設備都會有日志輸出,對這些日志進行管理是數據中心運維工作的重要組成部分。日志管理不但可以對日常操作進行控制與管理提供依據,還可以在某些故障發生之前通過日志信息就能感知到,也可以在故障發生時打印一些異常記錄,還可以供故障發生后分析使用。作為數據中心的運維人員學會檢查和分析日志數據,是一項必備的技能。然而日志是一把“雙刃劍”,用好它,可以大幅提升數據中心的運維水平,降低數據中心的故障發生概率,節約運維開銷;用不好它,反而會畫蛇添足,增加運維的工作量,加大開銷,所以對于數據中心日志的管理和使用,是一門大學問,如何靈活運用是擺在每個數據中心運維者面前的一道難題。本文拋磚引玉,說一說這里的道道。
數據中心里的設備成千上萬,尤其是大型數據中心,各種服務器、網絡設備、安全與存儲等,擁有數千臺設備的規模很正常,如果這些設備每臺一天報一條日志信息,那么就是數千條日志,這個數據量可想而知。而且最為令人頭疼的是,不同廠家甚至是同一廠家的不同型號設備的日志信息格式完全不同,無法通過通用的日志服務器去采集,有時甚至要一類設備用一種日志服務器,另一類設備用另外一種。一個數據中心為了獲取所有設備的日志信息,要搭建數個日志服務器,分別進行監控,這樣查看和管理起來非常不便,而且不同設備的日志風格不同,有些信息含義并不十分明確,讓人丈二和尚摸不著頭腦,這都讓日志的作用大打折扣。還有很多問題,并不能通過日志提前發現問題。平時可能設備上報了很多日志信息,但是都是一些無關痛癢的無用信息,而真正出現故障了,反而沒有任何日志報出了,采集這樣的日志信息無助于數據中心管理提升,而是給數據中心添亂。還有不少的數據中心為了節省管理費用,管理網與數據網合一,管理網的數據也走業務轉發設備,這樣在真正出現故障時,日志信息經過的網絡路徑也出了故障,就會導致日志信息的丟棄,也錯失了避免嚴重故障的機會,這些都是當前數據中心在日志監控上面臨的問題。
怎樣將數據中心的日志監控有效做起來,是每個數據中心最為關心的問題。首先,日志信息要統一格式。作為甲方,數據中心有權利要求其采購的設備輸出日志符合通用日志服務器采集的格式,無法滿足的設備堅決不再進行后期采購,如此一來就可以在整個數據中心部署一套日志監控設備即可,這樣可大幅節省監控設備的運維支出;其次,日志采集與業務轉發分離,日志數據走單獨的管理網,管理網一般是通過專有設備將所有設備的管理口,服務器的單獨網卡連接起來,這樣業務網絡有中斷,并不影響到日志數據的收集,這樣往往可以給分析問題提供及時、有效的信息,縮短故障定位和恢復的時間;第三,日志信息要簡潔和準確,一個大型數據中心數千臺設備,不能什么日志都向日志主機發送,只有可能影響到轉發業務的日志才會采集,如果設備無法控制,就在日志服務器上進行控制,對不同日志進行等級分類,平時只關注級別高的告警,級別低的忽略不計。此時,設備提供的日志準確性尤為重要,哪些日志可能會影響業務,哪些日志是提示性的,哪些日志是操作類的記錄,這樣分得清楚,這樣在日志服務器上可以調取自己關心的那類日志,不用全部查看,這將大大節省日常運維的檢查時間;第四,很多數據中心已經開始做自動化的運維管理,對日志服務器增加自動化檢查的腳本,通過腳本對日志進行檢查,這樣可大大節省人工成本。這種自動化運維管理是通過TCL腳本,對日志進行檢查,當發現異常關鍵字時,給出自動告警,有些腳本還可以自動執行一些恢復的設備命令,這樣達到發現故障自行恢復的目的。比如:可以在自動化腳本中增加“Fan is fault”的判斷,當發現日志里出現這樣的字樣時就主動給出提示,或者將告警直接發向運維人員的值班手機上,這樣運維人員立即就能知道是哪臺設備的風扇出了問題,日志自動化管理是數據中心提升運維水平的重要手段;第五,與設備商做好交流溝通,要求設備商提供完整的日志信息,包括告警級別的分類,這些日志的準確性將直接決定未來運維的效率,如果設備商的設備在故障時,并沒有從日志中反映出來,就說明這些設備做得還不夠好,要改進。所有的故障都應該通過日志反映出來,這樣才能高效運維。設備可維護性也可作為數據中心未來采購的重要參考標準。操作靈活性差,信息記錄缺失都是可維護性差的表現,對于這類設備應檢查采購或不采購。數據中心出了問題并不可怕,可怕的是出了問題后還不知道怎么回事,沒有歷史記錄可查。
日志監控是未來數據中心管理的重要組成部分,通過日志監控可以避免或者減少業務故障的時間,對于數據中心運維特別有意義。當然,日志監控并不能解決數據中心所有問題,數據中心業務特別復雜,問題表現各異,就算日志監控做得再完整,很多問題也不能通過日志完全反映出來。比如通過FTP下載數據慢,這樣業務層問題,通過日志很難反映出來,就需要借助抓包、統計報文等其它手段再深入分析。總之,日志監控還需要不斷完善,不僅是數據中心,也需要數據中心設備提供商一起努力,將日志監控做好,從而提升數據中心的運維水平。