本站小編為你精心準備了系統日志搭建運維服務平臺的研究參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要:隨著互聯網的加速發展,我國已逐漸地進入到互聯網+的時代,各行各業中的各類信息、各種系統和設備都并入到了信息網絡中。對于使用者而言,他們需要的是業務高效、安全的應用;對于服務者而言,他們需要的則是高質量技術服務的能力。系統運維能力是高質量技術服務能力中的重中之重,系統日志作為系統運行時的即時產物,可以清楚地反映系統(設備)的運行狀態,也是系統運維能力的直接體現。因此,對如何利用系統日志搭建高質量運維服務平臺進行了分析,主要從日志處理、日志分析、動態展示及系統預警、第三方應用4個方面展開了論述,對于快速發現系統(設備)的問題,提高運維服務能力具有重要的意義。
關鍵詞:系統日志;運維服務平臺;日志處理;日志分析;動態展示及系統預警;第三方應用
引言
系統日志是記錄系統中軟件(設備)和系統問題的信息,同時其還可以監視系統、硬件在運行中發生的事件。維護人員可以通過它來檢查錯誤發生的時間和原因,以便于快速地解決問題。但是,隨著系統(設備)的增加,日志量也日益增加,采用人工的方式逐條檢查已經遠遠滿足不了運維的需求。此時便需要使用一套先進的、高質量的方法對日志進行綜合分析、即時展示和監測預警。因此,本文就如何搭建一套能幫助運維人員快速地發現系統(設備)的問題的運維平臺給出了應用分析,具有十分重要的意義。
1系統日志的概述
系統日志是指操作系統、應用系統及其設備產生的日志信息。專業來講,系統日志也被稱為“Syslog”,是一種工業標準的協議,用來記錄設備的日志,其是美國加州大學伯克利軟件分布研究中心(BSD)在實施TCP/IP系統的過程中開發的。通過對系統的配置,可以實現運行Syslog協議的機器之間的通信。系統日志可以獨立地運行,也可以通過搭建日志服務器來實現集中存儲。為了更好地對日志進行區分管理,在標準協議中我們將日志分為8個級別,分別是1級,Emergency:緊急情況,需要立即通知技術人員;2級,Alert:應該被立即改正的問題;3級,Critical:重要情況;4級,Er-ror:錯誤,不是非常緊急;5級,Warning:警告信息,不是錯誤;6級,Notice:不是錯誤情況,也不需要立即處理;7級,Informational:情報信息,正常的系統消息;8級,Debug:系統調試信息。
2系統日志服務的搭建
本章重點介紹的是如何實現集中搭建日志存儲服務,即利用Syslog協議集中收集日志信息存儲在本地服務器上。這里將日志收集過程的處理分為日志收集服務端、客戶端和日志存儲的過程3個部分,如圖1所示。
2.1搭建系統日志服務端目前市面上已有專用的日志審計系統,可以用于集中收集系統(設備)的日志信息。但這類設備不對外開放數據提取接口服務,也就是不可以對數據進行二次加工處理,我們這里需要對數據進行二次處理和展示,因此就需要自行搭建日志服務端。當然現在也有很多成熟的日志收集服務軟件,例如:KiwiSyslog、Linuxsyslog和SyslogWatcher等,它們都可以很好地支持日志的收集服務。但中國市場上各類系統(設備)廠家眾多,他們的日志發送編碼和格式各不相同,如果使用這類軟件來接收日志,會出現其中有一部分數據格式錯誤、內容亂碼等問題。這樣會造成無法對這部分的數據進行處理分析等問題,因此,需要自行設計日志接收服務端,在接收數據的同時對數據流的格式和編碼進行判斷處理,保障后期數據在使用過程中的有效性。如前所述系統日志也是一種工業標準協議,通常信息都是通過UDP的形式從客戶機發送到接收服務器上的,因而我們只需要建立一個UDP網絡服務,使用514端口,用于接收日志即可。在接收數據后對數據流進行編碼處理,同時初步判斷編碼和內容是否標準;若發現有異,則需要重新對數據流進行編碼直到正常為止。
2.2配置系統日志收集客戶端服務端的數據都是由客戶端發送來的,需要將客戶端進行一一配置。當然日志的產生和發送都需要遵循Syslog標準,這樣才能統一收集和配置發送的日志信息。目前國內系統(設備)研發廠家都遵循這個標準,因此都滿足我們發送配置的需要,只是由于系統(設備)的種類和廠家不一致,因而配置的方式也會有所不同。a)在操作系統層面,Windows系列中需要使用一個轉換工具“Evtsys”來對系統日志進行轉換處理后再發送到指定的服務器上;在Linux系列上可以使用“rsyslog”來配置日志的發送信息。b)在應用系統層面,可以配置應用系統記錄日志的發送信息。c)在網絡設備層面,可以啟動日志記錄機制,配置日志發送信息。d)在安全設備層面,可以通過廠家提供的日志標準服務協議來設置。e)在物聯設備層面,可以通過對物聯設備的基礎配置來進行設置。
2.3系統日志存儲的過程搭建好日志收集服務端和配置好日志發送端后并不是就完成了對日志的收集,只是初步地完成了日志的傳輸過程。為了能對日志進行二次使用,我們必須對日志進行儲存才算是完成了日志服務的搭建,儲存分為即時數據儲存和歷史數據儲存兩個部分內容。即時數據是指當前還未處理的數據。即時數據儲存過程就是指將數據發送給數據處理平臺,處理平臺完成處理后再反饋處理結果,此時即時數據開始轉變為歷史數據。歷史數據是指當前分析完成后的數據。歷史數據可根據業務需求來選擇保存時間(如3年),歷史數據的儲存可以按時間節點進行分量儲存(如年/月/日/時/分),儲存格式為TXT,編碼方式為ANSI。
3高質量運維服務平臺建設分析
通常來講,運維服務是指對運行的服務(軟件、硬件)進行實時的監控,隨時發現運行的異常情況,對服務發生的任何異常進行及時的處理,盡可能地避免問題擴大而終止服務。一般運維都是通過人工對系統(設備)進行巡檢,查看系統(設備)是否處于正常工作狀態。此方法只能檢查出系統(設備)當前的總體運行狀態,不能查出一些潛在內部的錯誤和報警信息。例如:操作系統記錄內存不足、應用系統記錄磁盤空間不夠、網絡設備報告端口供電異常、安全設備報告資源不足和物聯設備報告耗材損耗等,這些異常的信息通過常規的檢查維護都不會體現出來。這時,利用系統日志來搭建一個高質量的運維平臺則能夠很好地解決上述問題,運維者可以從界面中隨時掌握系統(設備)的健康信息,還可以與段信平臺、微信公眾號聯動對接,讓運維人員隨時隨地都可以收到預警信息,達到高質量運維服務的效果。運維服務平臺建設分日志處理、日志分析、動態展示及系統(設備)預警、第三方應用4個部分,基礎架構如圖2所示。
3.1日志處理平臺在接收到日志信息后先要經過初步的處理才可以進入分析階段。在日志處理環節,首先,對日志的格式進行統一,以便在接下來的其他處理環節減少日志處理時間;其次,對數據進行初步的分類,分類可依照日志的8個級別進行處理;第三,分類完成后再對數據進行計量操作,用于對數據的統計;第四,根據分類和計量結果來計算日志分析需要的線程數量;最后,進行日志分析的任務分配。3.1.1格式處理格式處理即對日志內容進行統一處理,包括內容編碼統一和字段內容統一。編碼可以理解為對文字進行統一編碼,處理后顯示為非亂碼格式;字段內容統一即把日志解析成為我們需要的字段,解析后的字段包括:地址、名稱、時間、級別和內容。3.1.2數據分類數據分類是指對數據級別進行分門別類,包括級別分類和異常內容分類,初步分類可以有效地提高后期數據處理的能力。級別分類是按日志的八大級別進行分類,其中第八級別(Debug)我們可以只做計量不做分析處理;異常內容分類是對接收到的非正常日志內容信息進行區分,我們把它歸入第九類,這類日志為不可分析的信息,所以也只做計量不做分析處理。3.1.3數據計量數據計量是將日志數據進行計量統計的處理環節,是多線程量計算的數據來源依據,同時也是為了方便維護人員后期做交叉對比統計分析。這里的計量包括分類計量和后期的數據分析計量;前者只需要對分好類別的數據做計量統計即可;后者則是對分析后的數據再次細分計量。3.1.4多線程量計算利用當前分類數據量來計算程序分析數據的能力,算出同一時間需要分析完成日志信息的線程數量即是多線程量計算。多線程量計算是解決日志分析吞吐量的一個關鍵因素,每秒對日志的分析達到的最短時間除了與對分析程序的優化有關外,還要結合處理器最大的處理能力,再合理地分配多個線程進行數據分析,充分地發揮平臺對日志的處理效率。3.1.5任務分配任務分配是將日志分配給日志分析處理的過程,是日志分析的起始點。當前環節在接收到日志信息后判斷目前已分配的線程數,結合線程的運行狀態分配新的數據給另一個線程。若全部線程還未運行完成,則反饋信息給多線程量計算處理環節,檢測硬件資源是否可以支撐更多的線程來分析,如果支持則可以增加線程數據量,如果不支持則持續地等待,同時將該信息反饋給日志分析過程,用于提示用戶日志信息處理的能力情況。到這里,整個日志處理環節就形成了閉環,為下一個分析階段做好了充分的準備,也為運維平臺對日志的處理分析能力打下了基礎。
3.2日志分析日志分析是平臺經過日志處理后再按分類要求提取有用的信息,形成結論后對數據加以詳細研究和概況總結的一個過程,這一過程也是高質量運維管理體系支持的過程。數據分析可以幫助維護者作出判斷,以便于采取適當的行為。這里我們將日志分析分為6類。3.2.1可用狀態分析系統(設備)的可用狀態即是系統(設備)是否可使用的狀態,定義為5min的狀態頻率判斷。首先,在20min內查詢系統(設備)是否有發生過日志信息,若未發生則需要使用5min的狀態判斷頻率去獲取系統(設備)的在線狀態;有發生則跳過檢查。檢查完成后記錄設備的最后更新狀態,為展示預警做好數據準備。3.2.2緊急事件分析緊急事件是指系統(設備)發生的急需要處理的事件,若不處理則會導致系統(設備)不可使用,也指系統(設備)本身發生的事件,例如:故障、資源不足等。我們需要對日志進行分析,過濾排除掉這類信息,并將其記錄、推送至緊急事件處理表中。3.2.3錯誤提示分析錯誤類信息是指系統(設備)發生的常規異常信息,這類信息在短時間內不能反映系統(設備)的健康程度,但是可以根據這類信息來反饋系統(設備)在接下來運行的一段時間內有可能發生的故障。通過錯誤提示發生的頻率來判斷錯誤有可能發生的時間點,運維者就可以提前做好維護準備,不用擔心事件發生的突然性。3.2.4告警分析告警分析主要是用來分析提取出系統(設備)目前發生的比較緊要的事件信息。通常告警信息包括狀態、緊急事件兩大類,這里作為整合的一個告警分析功能是用于界面展示提示。3.2.5黑客攻擊分析系統(設備)最大的威脅來自外界的黑客攻擊,維護者需要隨時掌握系統(設備)被攻擊的狀態信息,隨時做好應急處理措施。平臺通過對部分設備的日志進行分析后可以掌握攻擊者的攻擊信息和攻擊目錄信息,從而對癥做好保護措施。3.2.6異常利用分析系統(設備)的異常主要是維護異常,平臺結合維護者對系統(設備)的在線維護產生的登錄日志進行分析,非維護期間產生的登錄信息則是異常行為,系統會及時地記錄此類異常行為并推送給展示平臺用于告警維護。
3.3動態展示及系統(設備)預警從日志收集到日志處理再到日志分析,這一切的準備都是為了日志展示和預警,展示是為了更加直觀地體現系統(設備)的運行情況,預警是為了及時地掌握系統(設備)事件信息,都是為了輔助和提高維護者對系統(設備)的運維能力。3.3.1系統(設備)安全展示系統(設備)安全是指系統(設備)自身安全和運行安全,主要反饋系統(設備)被攻擊的頻率和運行環境的安全。互聯網+時代的到來,引來了來自各界的各類攻擊,安全防護已成為了建設和監控的重點,因此我們需要隨時掌握系統(設備)的攻擊安全狀態,并提前做好防范,以保障系統(設備)的安全運行。3.3.2應用狀態展示應用狀態是指系統(設備)的可運行狀態,這里將其分為可用和停用兩類。設置輪播巡視界面展示所有需要監控對象的運行狀態,通過這種簡單直接的方式可以更好地對系統(設備)進行監控。3.3.3運行健康展示運行健康是指系統(設備)發生綜合性事件的頻率,包括帶故障運行時間、離線次數。系統(設備)運行健康的程度直接體現了系統(設備)的運行健康情況,同時也可以反映出維護者對其運維的能力。3.3.4預警預警是指對已整合的資源進行分析,獲取危險源、隱患和運行狀況信息,進行監測監控,分析風險隱患,預防潛在危害。平臺除了要有展示功能外,最重要的還是要有預警提示功能,遇到重要信息時需要告警,將有故障或即將要發生故障的系統(設備)及時地推送出來,讓運維者做好提取準備,隨時處理告警信息。
3.4第三方應用要搭建一個高質量的運維平臺,不僅需要依靠系統自身的建設,還要結合目前市面上最常用的通訊工具和手段來配套運行。當運維人員在現場辦公時,我們可以利用這個平臺直觀地對系統(設備)進行監管,當我們離開工作場所時則可以通過移動終端工具來掌握系統(設備)的運行狀態,遇到緊急事件時也可及時地收到信息并找到處理方法。3.4.1APP應用APP應用是在智能化終端發展路上必要的產物,是手機、平板必不可缺的應用。在平臺建設中可獨立地研發出APP展示預警功能應用,移植平臺本身的展示功能,通過專用APP可以更專業地為運維人員提供運維服務。3.4.2微信應用手機微信作為最近幾年最火、最流行、運用得最廣泛的網絡社交工具,當然也需要配套使用,綁定運維人員的微信賬號,利用微信的“企業微信”和“微信小程序”功能可更方便地提供信息通知和對事件處理的能力。3.4.3短信應用筆者認為手機短信通知是目前最簡單、最粗暴、最有效的功能應用,作為一種安全、可靠的信息通知手段,在未來的十幾年內都具有核心價值。我們可以將一級最重要的信息推送給運維人員,以告知當前急需處理的事件。
4結束語
基于系統日志搭建高質量運維服務平臺是為了能夠掌握所運維的系統(設備)的運行狀態,提供線上預警方式,是運維服務能力的重要體現。在實際運維中,還可以通過其他手段來保障系統(設備)的正常運行。但在信息社會快速發展的今天,應該正確地認識信息手段帶給我們的影響。通過收集日志信息來搭建的運維服務平臺是高效的、也是高質量的,其可以提高運維能力及帶動運維服務發展,為支撐互聯網+的發展服務打下堅實的基礎。
參考文獻:
[1]王慶波.云計算寶典[M].北京:電子工業出版社,2011.
[4]安德森.信息安全工程[M].北京:清華大學出版社,2012.
[5]公安部信息安全等級保護評估中心.信息安全等級測評培訓教材(中級)[M].北京:電子工業出版社,2011.
[6]任偉.物聯網安全[M].北京:清華大學出版社,2012.
作者:王小平 單位:工業和信息化部電子第五研究所