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