郭磊 王承志 徐萬新
摘要:在企業(yè)IT系統(tǒng)的日常運營管理中心,主機磁盤管理是一項繁瑣、頻繁且重要的工作,耗費大量人力,稍有疏忽就會影響主機的正常使用,給IT系統(tǒng)帶來不穩(wěn)定性。隨著人工智能的蓬勃發(fā)展,人工智能在日常工作中的應用也逐漸嶄露頭角。本文研究并使用人工智能的技術如時間序列和回歸算法,綜合歷史同期業(yè)務量,工程師調優(yōu)參數(shù)等多因子進行磁盤使用率變化趨勢預測,按照日志重要程度分優(yōu)先級進行日志自動化清理的方法,并支持分布式系統(tǒng)大批量主機管理。使用本方法解決了IT系統(tǒng)運營管理中心一大難題,提高了運營人員效率,同時提高了系統(tǒng)可用性和穩(wěn)定性。
關鍵詞:人工智能;自動化運維;主機巡檢;日志清理
一、引言
本文主要基于企業(yè)IT系統(tǒng)日常運營管理中的痛點,結合大規(guī)模主機日志清理工作的現(xiàn)狀,分析傳統(tǒng)管理方案的弊端,提出了基于人工智能進行日志清理的方法,并深入研究了人工智能中可應用到本場景的技術如時間序列和回歸算法,運營管理經(jīng)驗可作為因子輸入到算法中,做到技術結合業(yè)務,形成一套可行的方法和技術方案,解決實際生產(chǎn)問題。
二、日志管理現(xiàn)狀
電信運營商有很多業(yè)務數(shù)據(jù)規(guī)模較大的IT系統(tǒng),這些系統(tǒng)的日常維護過程中,比較繁瑣的一項工作就是對運行中不斷產(chǎn)生的日志文件進行及時清理,這些日志文件包括系統(tǒng)啟動日志、用戶登錄日志、服務訪問日志、服務報錯日志等,可以幫助查看系統(tǒng)訪問痕跡、安全信息、系統(tǒng)服務異常原因等。在服務器的持續(xù)運行中,隨著日志的不斷產(chǎn)生,系統(tǒng)的可用空間會被逐漸占用,如果不及時清理,會影響系統(tǒng)正常運行,甚至寫滿整個磁盤導致系統(tǒng)宕機,影響業(yè)務的正常使用。
日志清理是保證系統(tǒng)穩(wěn)定運行的重要工作,常規(guī)的清理方法是人工登陸服務器進行日志文件清理,或是基于程序腳本定時清理。以上清理方式或是基于工程師個人經(jīng)驗,或是基于固定程序/任務,判斷清理頻率、清理條件,清理方式、清理內容。常規(guī)方式難以適應不同重要程度日志的清理要求,例如:不重要日志可直接進行刪除,重要日志需要保留一定時間,或者備份后刪除源文件。難以適應不同機器類型日志的清理要求,例如:磁盤空間大的機器可保留時間稍長,空間小的需要頻繁的清理。難以適應不同業(yè)務壓力機器的清理要求,例如:系統(tǒng)訪問頻率高的會更快的產(chǎn)生日志需要更高的清理頻率,而業(yè)務壓力小的機器則無需經(jīng)常清理。因此,面對多種場景,原有方式或是基于工程師個人豐富經(jīng)驗判斷,難以固化,若相關工程師轉崗會帶來系統(tǒng)運行不穩(wěn)定的風險?;谟邢奕肆?,面對目前越來越多的機器數(shù)量也難以高效應對?;诠潭ǔ绦蚨〞r運行的方式,需要不同場景定制不同程序,也較為繁瑣,效率低下,容易出錯。
三、研究目的
面對以上日志清理的運營痛點問題,本發(fā)明提出基于人工智能的日志清理方式,可基于機器磁盤空間大小、業(yè)務壓力、日志類型、日志重要程度等因素綜合考慮進行日志清理,提高運營效率和維護操作的安全性。并且在機器系統(tǒng)信息或業(yè)務產(chǎn)生變化后,可基于機器學習自動調優(yōu)以達到智能清理日志的目的。
四、基于人工智能技術的日志清理技術方案
接下來詳細說明下這種基于人工智能日志清理方法的技術方案。方案整體架構如附圖一所示,基于人工智能的日志清理系統(tǒng)支持多臺機器的日志自動清理,無需人工登陸主機清理,也無需在主機上定制腳本定時清理。支持智能預測,智能清理,清理效果統(tǒng)一展示,工程師評分優(yōu)化,模型訓練,不斷優(yōu)化清理效果。具體流程如附圖2所示。
1、當有機器接入網(wǎng)絡時可自動注冊到日志清理系統(tǒng)中,并將系統(tǒng)信息如磁盤數(shù)量,磁盤空間大小等信息發(fā)送給日志清理系統(tǒng)。
2、機器系統(tǒng)信息發(fā)生改變時,如擴容了磁盤,可自動反饋更新信息。
3、日志清理系統(tǒng)可實時自動采集已注冊機器的日志信息,如日志文件名稱,日志文件路徑,日志文件大小,磁盤空間剩余大小等。
4、日志清理系統(tǒng)進行日志清理分析,使用但不限于以下算法:
(1)利用采集數(shù)據(jù),使用時間序列算法或回歸算法預測日志增長趨勢。
(2)結合系統(tǒng)業(yè)務歷史數(shù)據(jù),如往年同期業(yè)務情況進行日志增長預測修正。
(3)支持外部信息輸入,如預期接下來一段時間會新增業(yè)務,工程師可反饋系統(tǒng)調整優(yōu)化,模型訓練。
(4)結合磁盤空間大小與日志增長預測磁盤還可使用時間。
(5)分析往期預測與實際情況數(shù)據(jù)的差異,不斷進行因子調優(yōu),增加預測準確度。
(6)結合日志類型,日志重要性,日志最近修改時間等做出日志清理的操作,計算需要清理的日志名稱,清理方式;如優(yōu)先刪除重要性低的日志,優(yōu)先刪除老舊日志,壓縮保留重要性高的日志等。
(7)根據(jù)系統(tǒng)計算結果下發(fā)清理命令給不同機器進行個性化清理操作。
5、機器清理結果反饋給日志清理系統(tǒng)。
6、展示清理記錄、清理效果,支持工程師評分,調優(yōu),輸入專家經(jīng)驗優(yōu)化下次清理準確度。
五、概述應用案例
這里將針對本申請?zhí)岢龅募夹g方案給出更詳細的示例性應用案例?;谌斯ぶ悄艿娜罩厩謇矸椒跋到y(tǒng)實現(xiàn)實例如下。
(1)視需要清理機器的數(shù)量,使用單臺機器或者集群部署日志清理系統(tǒng)。機器通過部署代理的方式注冊到日志清理系統(tǒng),并通過接口發(fā)送系統(tǒng)信息到日志清理系統(tǒng)。
(2)機器系統(tǒng)信息發(fā)生改變時,如擴容了磁盤,可觸發(fā)系統(tǒng)信息通過接口發(fā)送系統(tǒng)更新信息到日志清理系統(tǒng)。
(3)日志清理系統(tǒng)可實時通過接口采集已注冊機器的日志信息,如日志文件名稱,日志文件路徑,日志文件大小,磁盤空間剩余大小等并將數(shù)據(jù)寫入kafka進行保存。
(4)使用scala消費Kafka數(shù)據(jù)隊列寫入Redis,供算法程序使用,使用python讀取Redis的數(shù)據(jù),進行數(shù)據(jù)清洗、訓練模型、進行預測、計算結果,預測結果寫入Mysql進行存儲。根據(jù)計算結果進行界面展示。使用以下算法:
1.利用采集數(shù)據(jù),使用時間序列算法和回歸算法預測日志增長趨勢。
針對時間序列數(shù)據(jù)的預測問題,可以用時間序列算法實現(xiàn),也可以用回歸算法實現(xiàn)。時間序列算法一般默認數(shù)據(jù)是平穩(wěn)無劇烈波動的,但是非平穩(wěn)數(shù)據(jù)經(jīng)過差分等預處理后,也可以進行預測,只是增加了時間成本。主機性能指標,像磁盤空間使用率,一般是呈線性或非線性增長,且再結合實際運維場景,如磁盤空間達到告警警戒線時,通過分析近2個小時的增長情況,預測達到100%使用率所需的時間,由此可見,使用回歸分析算法更加合適。
自變量和因變量是回歸預測中重要的概念,在主機性能指標趨勢預測中,時間可以作為自變量,使用率作為因變量,當使用率達到100%時,通過已經(jīng)訓練好的回歸模型,反推時間。下面以簡單線性回歸來舉例。
上面的公式是多元線性回歸方程式,具有多個自變量,但是主機性能指標的趨勢預測是單指標的預測,所以自變量只有時間,所以下面的回歸公式更加合適:
只要訓練模型求出回歸系統(tǒng)和截距,當使用率為100%時,求出相應的即可以知道多長時間達到100%使用率。
2.結合系統(tǒng)業(yè)務歷史數(shù)據(jù),如往年同期業(yè)務情況進行日志增長預測修正。支持專家經(jīng)驗輸入,如系統(tǒng)預期接下來一段時間會新增業(yè)務,工程師可反饋系統(tǒng)調整優(yōu)化,模型訓練。調整磁盤達到100%的時間。
3.分析往期預測與實際情況數(shù)據(jù),不斷進行因子調優(yōu),增加預測準確度。
4.結合日志類型,日志重要性,日志最近修改時間等做出日志清理的操作,計算需要清理的日志名稱,清理方式;如優(yōu)先刪除重要性低的日志,優(yōu)先刪除老舊日志,壓縮保留重要性高的日志等。
如系統(tǒng)訪問日志,系統(tǒng)運行日志,系統(tǒng)報錯日志重要性因子可給一個略低的初始值,可以進行刪除操作。而系統(tǒng)登錄日志,重要操作日志需要給一個高的因子,進行壓縮保留。因子支撐工程師經(jīng)驗輸入進行調整,
5.根據(jù)系統(tǒng)計算結果下發(fā)清理命令給不同機器進行個性化清理操作。
(5)機器清理結果反饋給日志清理系統(tǒng)。
(6)展示清理記錄,清理效果,支持工程師評分,調優(yōu),優(yōu)化下次清理準確度。
六、應用效果
采用人工智能的方法進行日志清理。提出一整套基于多因子如使用磁盤空間大小,日志大小增長數(shù)據(jù),磁盤空間剩余大小,歷史業(yè)務量數(shù)據(jù),日志類型如重要性等因子智能預測,智能清理日志。并支持工程師專家經(jīng)驗輸入,如:調整日志重要性程度因子,基于即將開展的業(yè)務預期調整日志增長預測結果,對清理效果進行評分來進行模型訓練,優(yōu)化系統(tǒng)。
本方案可自動進行日志清理,無需人工登陸主機清理,無需每臺機器定制程序,節(jié)約了人力,基于多種因子智能清理,增加了清理準確性,合理性。解決了以往清理程序分布各個機器清理結果難以掌握,人員變更后難以交維的IT系統(tǒng)日志清理的運營痛點。當有新機器接入時可自動注冊,十分方便。支持清理效果展示,評分不斷訓練模型。
參考文獻:
[1]人工智能時代帶來什么?[N]. 張燁.?南通日報. 2021-12-01 (A02)
[2]人工智能新圖景,比想象更“無限”[N]. 何明.?安徽日報. 2021-09-07 (010)
作者介紹: 郭磊(1992.8.16),性別:男;籍貫:安徽;民族:漢;學歷:本科、學士;研究方向:自動化運維。