999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

船載系統日志自動分析軟件的設計與實現

2021-06-30 12:44:50魏江濤馮建峰姜美雷鮑存軍
計算機測量與控制 2021年6期
關鍵詞:數據處理分析信息

魏江濤,馮建峰,姜美雷,鮑存軍

(中國衛星海上測控部,江蘇 江陰 214431)

0 引言

計算機在運行過程中,可能會產生硬件故障、操作系統故障、數據庫故障、中間件故障和應用軟件故障。大部分故障信息都會及時記錄到系統日志文件和應用軟件日志文件中。系統管理員、數據庫管理員等維護人員需要經常查看這些日志文件,綜合分析,找出故障原因,采取相應措施,保證系統正常運行。

從日志的產生來源上可以將日志分為操作系統日志、數據庫系統日志、網絡應用服務日志、應用軟件日志等。操作系統日志又稱為主機日志,由操作系統自動生成,與操作系統行為密切相關。它記錄了系統發生的各種事件,此類日志文件一般是純文本的文件,通常存放在“var/log”目錄下。應用軟件日志由其運行在服務器或終端微機的應用數據處理軟件產生,記錄軟件運行的狀態信息和異常信息,系統運維人員可以通過這些日志解決應用軟件某些方面的錯誤,查看應用軟件進程的歷史運行信息,排查軟件運行過程中出現的問題。因此,對日志信息的檢查和分析是保障系統正常運行的重要一環。

awk是Linux系統中一款功能強大的文本分析工具,相對于grep查找和sed文本編輯,awk在數據分析、生成報告等方面尤為強大,在Linux系統日志處理工作中,發揮重要的作用。通常,awk以文件的一行為處理單位,每接收文件的一行,然后在這些行上執行相應的命令來進行文本處理。簡單來說awk就是把文件逐行讀入,以空格為默認分隔符將每行切片,切開的部分再進行分析處理。awk擁有自己的程序設計語言,它允許創建簡短的程序,通過這些程序可以讀取輸入文件、數據排序、處理數據、執行計算以及生成報表等,對于處理文本格式的日志文件,awk更加輕便高效。

另外,在Linux Shell中重定向和管道是Shell的一種高級特性,這種特性允許用戶人為改變程序獲取輸入和輸出位置。重定向分為輸出重定向和輸入重定向。Shell程序在默認的情況下將輸出結果輸出到標準輸出(stdout),通常來說,標準的輸出即為顯示器,而通過輸出重定向后可以把Shell程序的輸出轉移到其他地方。例如如下的命令則將awk的輸出結果重定向到home文件夾的awk_out文件中。

awk ‘{ print 1}’ file> /home/awk_out

管道將重定向還可以通過“|”將一條命令的輸出連接另一條命令的輸入。例如:

awk ‘{ print 0}’ file |grep ‘WARN’

awk命令首先列出file文件的每一行,管道“|”接收到這些輸出后,并把它們發送到grep命令作為其輸入,最后grep在這行輸入中查找包含字符串“WARN”的行,將其在標準輸出中顯示。通過合理的使用管道和重定向可以很好地提高文本分析效率。

1 船載中心機系統目前日志現狀

船載中心計算機系統作為測量船數據處理和傳輸的神經中樞發揮非常重要的作用。系統由多臺服務器和多臺操控終端組成,操作系統均部署國產的麒麟操作系統。

系統組成結構如圖1所示,服務器部署在后臺遠端,主要有數據處理服務器(SJCL)、匯集分發服務器(HJFF)、軌道計算服務器(GDJS)、數據庫服務器(SJK)、仿真服務器(FZ)、數據顯示服務器(ZHXS)、電文服務器(DW)等,這些重要的服務器同時進行工作,相互熱備份,總共約十幾臺服務器;操控終端微機部署在前端用于軟件操控和數據監視顯示,總共有近四十臺。船載中心計算機系統的服務器和操控終端微機均安裝麒麟操作系統,每臺終端微機和服務器在運行過程中,由操作系統記錄系統日志,操作系統日志文件由操作系統本身的syslogd服務來維護,記錄系統運行的重要信息及硬件故障信息,主要是存儲在/var/log/messages和/var/log/dmesg文件中,系統日志大多數是以一定格式的文本形式存放,系統運維人員通過系統日志文件可以了解系統的運行狀況。

圖1 船載中心計算機系統組成結構圖

船載中心計算機系統除了服務器和終端微機外還有另外一個重要組成部分——測控實時數據處理軟件(以下簡稱測控軟件),它承擔著航天器重要數據的處理工作。

目前隨著中心計算機系統硬件結構的改變,測控軟件也在不斷地變化。由以前運行在單臺微機完成所有的數據處理工作逐漸向層體系結構發展,測控軟件也分成了兩部分:

一部分是運行在后臺服務器上的測控業務層數據處理軟件,主要有實時數據處理軟件、軌道計算軟件、數據匯集分發軟件等等,這些測控業務層軟件安裝在不同的后臺服務器上完成各自的數據計算處理功能,這些測控業務層數據處理軟件部署在后臺遠端服務器上,沒有軟件監視界面;

另一部分是運行在前端終端微機上的操控終端應用軟件,操作人員通過操控終端應用軟件來啟動后臺服務器的測控業務層數據處理軟件,前端操控終端應用軟件通過網絡和后端服務器上的測控業務層數據處理軟件進行數據交互。

后臺測控業務層數據處理軟件有很多配置項用于完成不同的數據處理。以運行在實時數據處理服務器上的實時數據處理軟件為例,實時數據處理軟件有近20個配置項,主要有數據支持 (TSBS)、設備協議轉換 (DAPC)、數據存儲 (DADS),設備數字引導計算 (TRLF)、設備數據處理 (TRTSI)、慣導船姿船位處理 (TRPP)、遙測數據處理 (TMST)、導航數據處理 (NVDA)等等。每一個配置項在運行過程中都會記錄一個獨立的日志文件(*.log),存放在數據處理服務器的/var/log/amtcass相應目錄下,這樣實時數據處理服務器就有TSBS.log、DAPC.log、TRLF.log、TRPP.log、TMST.log、TRTSI.log等近20個日志文件,記錄各個配置項運行信息和出錯信息。

同樣,運行在其他服務器上的數據處理軟件也類似,如匯集分發服務器、軌道計算服務器等,也有相應的獨立的多個軟件配置項日志文件,這些日志文件中包含了重要的軟件運行過程信息,這些信息對分析軟件運行情況非常重要。針對目前船載中心機計算機系統的現狀,系統運維人員在進行日志分析方面主要面臨以下幾個問題:

1) 日志文件存儲比較分散,每臺操控終端及服務器的日志存儲在本機,系統運維人員逐臺分析系統日志和測控軟件日志需耗費大量時間,分析效率不高。

2) 服務器測控軟件日志在軟件出現異常時需要快速查看分析,服務器部署在后臺遠端,測控軟件日志存儲在各自的數據處理服務器,存儲比較分散,系統運維人員在前臺操控終端微機操作,因此很難及時查看到后臺服務器的測控軟件日志信息,這對問題排查和及時應急處置帶來一定的困難。

3) 船載中心機系統的終端微機和服務器眾多,系統日志文件多,操作系統記錄的日志信息量大,逐臺檢查工作量大,在分析系統日志時沒有集中收集,系統運維人員面臨海量的日志文件分析,容易遺漏和忽略一些重要的系統日志信息和故障信息。

4) 測控軟件日志和操作系統記錄的日志文件多,系統運維人員在人工進行日志清理維護時工作量大,耗費大量時間精力,時效性不高。

為解決上述問題,有必要對日志文件分析模式進行改進,通過日志自動分析軟件實現對日志自動分析、故障及時上報、文件定期清理,從而降低人為工作量,提高船載中心計算機系統故障排查的效率和準確率,提升系統運行的整體安全性和穩定性。

2 日志自動分析軟件的關鍵技術及設計

船載中心計算機系統的日志分為系統日志和測控軟件日志。

系統日志記錄要素如表1所示,主要有日期、系統時間和日志描述,記錄日志發生的日期和系統時間和系統運行過程中發生的重要事件信息。

表1 麒麟操作系統記錄的系統日志要素

測控軟件日志記錄要素主要有記錄日期、系統時間、測控軟件配置項名稱、時統時間、日志類型、日志描述等。

測控軟件的設備數據處理配置項 (TRTSI)如表2所示。

表2 測控軟件記錄的日志要素

其中,測控軟件日志中記錄的日期和系統時間和系統日志中的內容相同,時統時間為日志發生時準確的北京時刻,日志類型主要來標識日志的類別,主要有以下幾種:

ERROR:測控軟件配置項運行錯誤信息,該類信息是測控軟件日志分析重點關注的信息;

WARN:測控軟件配置項運行的警告信息;

INFO:一般信息;

DEBUG:測控軟件配置項調試信息;

日志描述為日志發生時的具體內容說明。

2.1 日志自動分析軟件的關鍵技術

2.1.1 日志信息的集中收集方法

日志信息收集是日志自動化分析的關鍵,由于日志信息都存儲在遠端服務器和操控終端微機上,具體的日志信息收集如圖2所示,分為采集層、傳輸層和分析層,下面具體闡述日志采集的實現方法。

圖2 日志信息采集流程圖

日志信息的采集主要利用awk采集腳本來完成,將采集腳本存放于各臺服務器和操控終端微機上,awk采集一般的方法為:

awk '{pattern+action}' {filenames}

其中:pattern表示awk在數據中查找內容的正則表達式,而action是在找到匹配內容時所執行的一系列命令。在系統日志信息和測控軟件日志信息中根據action指令篩選出基于指定規則的日志記錄信息。

日志傳輸層負責將采集收集到的日志信息傳輸到日志分析終端微機上,由于日志分析終端微機在遠端,日志自動分析軟件要獲取到各臺服務器和操控終端微機的日志信息采集結果,需要利用Qt遠程調用awk采集腳本,同時利用管道和重定向功能將采集結果傳輸到日志分析終端微機,具體實現步驟如下:

1)日志分析終端微機通過SSH服務免密碼方式訪問服務器和操控終端微機。

SSH作為Linux系統的重要服務,它是Linux遠程連接重要的方式,通過SSH服務可以實現客戶端和服務端安全連接,通過使用ssh-keygen-trsa命令生成訪問服務器的公鑰和私鑰,將生成的私鑰保留,公鑰分發到遠端服務器和操控終端微機上,這樣日志分析終端微機就可以免密碼訪問遠端服務器和操控終端微機。

2)通過SSH服務運行存放在遠端服務器和操控終端微機上的awk采集腳本命令。

通過SSH服務可以運行遠程的awk采集腳本命令,相應運行的命令格式為:

ssh -l name remoteserver‘command’

其中,remoteserver為遠程服務器的IP地址,command為存儲在遠程服務器上的awk腳本命令。例如:執行遠程服務器192.168.1.100腳本的ssh調用命令格式如下:

ssh -l root 192.168.1.100‘awk.sh’

3)日志采集結果輸出重定向。

眾所周知,Shell腳本命令的執行結果在默認的情況下將輸出結果輸出到標準輸出(stdout),通常來說,標準的輸出為本機顯示器,對于SSH服務運行遠程的服務器上的awk命令也不例外。

在Linux系統中,通過輸出重定向可以改變輸出結果的位置,通過輸出重定向后可以把awk命令的輸出轉移到另一個地方去。因此對SSH服務運行遠程awk命令的格式進行輕微改動,修改如下:

ssh -l root 192.168.1.100‘awk.sh’>tmpLogFile

將awk命令的執行結果重定向到tmpLogFile中,tmpLogFile為日志自動分析終端中存儲執行結果的文件,然后日志自動分析軟件就可以對tmpLogFile中內容進行解析顯示。

4)通過QProcess類產生新進程調用awk采集腳本。

日志自動分析軟件采用Qt進行研發,通過QProcess類對每一個awk采集腳本命令都獨立創建一個進程,相互獨立運行,互不影響,執行效率比較高。這種方式可以多任務并行運行而不會阻塞相應進程執行。

通過QProcess類執行遠程調用命令過程如下:

QStringprogram=”ssh -l root 192.168.1.100 ‘awk.sh’>tmpLogFile”;

QStringList arguments;//創建輸入參數存儲列表

arguments<

QProcess* myProcess=new QProcess();

myProcess->start(program,arguments); //執行遠程調用命令

通過以上步驟就實現對日志信息的采集和傳輸,實現了日志自動分析軟件獲取遠端服務器上日志信息采集結果。

2.1.2 日志的篩選和重復日志的處理方法

日志分析層負責日志文件的解析、分類和顯示,按照日志文件內容和日志類型對日志進行分類顯示,方便系統運維人員使用。

在日志自動分析時,按照不同的日志類型進行日志信息篩選,利用awk命令和grep命令進行過濾篩選。測控軟件日志自動分析時主要關注ERROR和WARN日志類型的信息,因此日志自動分析軟件在分析測控軟件日志時,會按照日志類型分類顯示,對ERROR類型的日志突出顯示,方便系統運維人員分析使用。

測控軟件在運行過程中需要實時記錄故障信息及運行狀態信息,因此測控軟件日志可能會出現海量的重復錯誤日志記錄信息,以設備數字引導計算配置項 (TRLF)為例,TRLF.log日志記錄的重復日志信息如圖3所示。

圖3 測控軟件TRLF配置項日志重復信息

從圖3中可以看出,在1秒鐘內軟件日志記錄了幾十條重復的日志記錄,而這些海量的重復的日志信息出現會將其他的有用的錯誤日志信息湮沒。

針對這一情況,需要對這些海量的重復的日志信息進行特殊處理,建立過濾條件,通過正則表達式對重復行日志信息進行過濾篩選,只顯示部分行的錯誤日志記錄。

在測控軟件重復日志自動分析過程中通過建立模式比較規則庫對重復的軟件日志記錄進行篩選。這種篩選的方法提取信息速度較快,對于重復日志的處理,效率比較高,具體的篩選過程如下:

第1步:建立模式比較規則庫,將重復日志描述的部分建立模式比較規則庫;

第2步:讀取日志文件的日志記錄,逐行讀取,利用awk將日志記錄分隔出日志描述部分,和模式比較規則庫中規則進行比較,若存在,則轉入第1步,否則轉入下一步;

第3步:將該行日志記錄進行解析、分類、顯示輸出,完成重復第2步。

這樣通過模式比較規則庫將海量相同的日志信息進行過濾,只保留有用的日志信息記錄輸出。

2.1.3 增量日志數據的采集方法

系統日志和測控軟件日志在每一次分析時,都應該從上一次檢查結束的地方開始,避免重復分析,浪費時間,浪費系統資源,避免事件重復報告,為了解決這個問題,日志的采集時記錄了上次采集的結束位置,采用增量日志數據采集的方法,重新采集新生成的日志數據,提高日志自動分析的效率。

2.2 日志自動分析軟件設計

日志自動分析軟件主要由主線程顯示類MainWindow、系統配置類ConfigDlgClass、測控軟件日志分析類CKSoftlogClass、系統日志分析類CSyslogClass、日志清理類組成ClearLogClass組成,類之間的關系如圖4所示。

圖4 日志自動分析軟件類圖

主線程顯示類MainWindow主要完成軟件日志和系統日志的顯示、完成軟件初始化工作、系統配置類ConfigDlgClass完成軟件初始狀態的設置,主要設置軟件初始啟動時掃描測控軟件日志和系統日志的時間區間,軟件在設計時提供了三個時間段區間,分別是“前1小時”、“前4小時”、“前1天”,默認為“前1小時”;測控軟件日志類CKSoftlogClass主要負責測控軟件日志的獲取,通過awk腳本采集測控軟件日志信息,并對日志采集的日志數據進行分析,分析結果送主線程顯示類顯示;系統日志類CSyslogClass主要負責系統日志的獲取,同樣通過awk腳本采集系統日志信息,并對系統日志數據進行分析,分析結果送主線程顯示類顯示;日志清理類ClearLogClass主要完成主要服務器的日志清理,通過遠程操作,清除服務器的測控軟件日志,提高系統運維人員的維護效率。

3 軟件測試

日志自動分析軟件在麒麟操作系統下研發采用Qt4.8.5版本。日志自動分析軟件開發完成后,部署在一臺終端微機,在實際的應用環境中進行軟件測試,通過測試比較輸出結果和預期輸出結果,從而判斷軟件功能能否達到預期設計要求。

日志自動分析軟件在初始啟動時設置日志分析的時段,之后日志再次采集分析時采用增量的方法進行日志分析。以SJCL1為例,如圖5所示,左邊樹形控件列舉出需要分析的服務器和操控終端微機,雙擊樹形控件某服務器或操控終端微機后,日志自動分析軟件獲取測控軟件日志信息和系統日志信息,之后對日志進行分析,給出分析出結果。在圖5中列出SJCL1服務器測控軟件各配置項的日志分析情況,按照日志類型錯誤(ERROR)、警告(WARN)、全部(ALL)進行分類,對于ERROR類型的日志進行突出顯示。系統運維人員可以點擊某個配置項的日志類型,查看具體的日志類型的詳細內容,圖5中下半部分為設備數據處理配置項(TRTSI)的錯誤(ERROR)日志詳細信息。系統運維人員非常方便的查看錯誤的具體內容信息,為快速分析定位故障提供了強有力的支持。

圖5 測控軟件日志自動分析結果

日志自動分析軟件在分析某臺服務器測控軟件日志的同時,也分析了系統日志文件,并列出分析結果,如圖6所示,逐行列出了近時間段內系統日志的詳細信息。系統運維人員及時了解系統的詳細日志信息,在系統日志查看時,還提供了對分析結果再次過濾分析的功能,通過過濾條件分析關注的系統日志信息。

圖6 服務器的系統日志信息

日志清理功能為方便系統運維人員進行日志清理而設計,如圖7所示,系統運維人員可以通過工具欄選項“日志清理”選擇需要清理的服務器,在不需要人員手動逐臺清理眾多的測控軟件日志文件和系統日志,日志自動分析軟件可以很方便的清理日志文件,對服務器測控軟件各個配置項日志文件進行批量清理,提升運維人員的工作效率。

圖7 日志清理服務器選擇

4 結束語

通過日志自動分析軟件,可以有效地實現日志集中化的采集、處理、分析,極大的方便系統運維人員對日志的分析需求,有效防止信息疏漏,提高人員分析問題的效率和準確率。同時測控軟件日志的自動分析在故障快速定位作用非常明顯,在船載中心計算機系統軟件及硬件出現異常的情況下,可快速的查看日志文件對異常情況進行排查定位,極大的提升了崗位人員應急處置的能力。

日志自動分析軟件也具有可拓展性,可以部署到其他系統的Linux服務器,利用該自動分析方法對其他系統的服務器日志進行集中分析顯示,減少人工出錯概率,具有較好應用價值。

猜你喜歡
數據處理分析信息
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
電力系統及其自動化發展趨勢分析
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
基于POS AV610與PPP的車輛導航數據處理
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 四虎影视8848永久精品| 91九色最新地址| 亚洲男人的天堂久久精品| 国产成人啪视频一区二区三区| 国产产在线精品亚洲aavv| 日本午夜网站| 欧美成人亚洲综合精品欧美激情| 亚洲综合久久一本伊一区| 91小视频在线观看免费版高清| 呦女亚洲一区精品| 国产国拍精品视频免费看| 日本高清有码人妻| 久久超级碰| 亚洲国产清纯| 99视频精品在线观看| 1769国产精品免费视频| 久久国产精品夜色| 国产黄在线观看| 国产清纯在线一区二区WWW| 九色国产在线| 男人天堂伊人网| 国产精品污视频| 夜夜操天天摸| 亚洲h视频在线| 91精品啪在线观看国产60岁| 国产69囗曝护士吞精在线视频| 国产Av无码精品色午夜| 国产高清无码麻豆精品| 亚洲三级视频在线观看| 丁香五月激情图片| 在线中文字幕日韩| 国产中文一区a级毛片视频| 精品一区二区三区视频免费观看| jizz亚洲高清在线观看| 久久毛片网| 影音先锋丝袜制服| 日韩精品无码免费一区二区三区| 久久精品嫩草研究院| 国产精品播放| 国产日韩欧美成人| 久久中文字幕不卡一二区| 天堂成人av| 波多野结衣一区二区三视频| 久久久精品久久久久三级| 97亚洲色综久久精品| 在线国产毛片手机小视频| 欧美成人亚洲综合精品欧美激情| 青青青视频免费一区二区| 国产精品成人AⅤ在线一二三四 | 亚洲人成在线精品| 成人午夜天| 日韩黄色精品| 亚洲人网站| 亚洲午夜天堂| 91成人试看福利体验区| 97超级碰碰碰碰精品| 伊人久久婷婷五月综合97色| 伊人久久精品无码麻豆精品 | 国产亚洲欧美日本一二三本道| 欧美视频二区| 亚洲无线一二三四区男男| 国产第一页免费浮力影院| 亚洲一欧洲中文字幕在线| 亚洲国产中文欧美在线人成大黄瓜| 亚洲视屏在线观看| 国产欧美亚洲精品第3页在线| 久久国语对白| 亚洲福利视频一区二区| 亚洲国产日韩一区| 日韩 欧美 国产 精品 综合| 欧美国产日韩在线| 精品91自产拍在线| 国内精品久久久久久久久久影视| 欧美一区中文字幕| 亚洲欧美一区二区三区图片| 国产综合网站| 日本三级精品| 一本大道AV人久久综合| 99在线观看免费视频| 国产欧美日韩另类| 亚洲精品第1页| 国产毛片不卡|