本發明涉及一種跨平臺日志收集處理框架,屬于計算機領域。
背景技術:
隨著各個系統平臺的發展,各自發展出一批忠實的用戶,由于各個系統平臺所具有的特點,能夠適應特定的技術需求,因此在一個大的系統中,可能需要不同的平臺實現各種特點的功能,同時,通過對網絡中所產生的日志進行收集得到的。可見,日志收集系統所收集到的日志情況關系到針對基礎數據進行分析所得結果的可靠性。也就是說,日志收集是一個非常重要的環節。
現有的技術主要是面對同一平臺的日志進行收集,在面對不同平臺的日志時,難以滿足各個平臺對應的日志文件的同時收集整理,因此需要一個面向不同平臺的日志收集框架。
技術實現要素:
為了解決上述問題,本發明通過提供一種跨平臺日志收集處理框架。
本發明采用的技術方案一方面為一種跨平臺日志收集處理框架,包括:異平臺收集代理模塊和日志處理服務器;所述異平臺收集代理模塊獲取并加密各平臺的日志,將加密日志保存在收集代理的本地數據庫,所述日志處理服務器根據預設的規則從本地數據庫拉取加密日志。
優選地,還包括日志備份服務器,所述基于備份策略從日志處理服務器獲取日志并存儲。
優選地,所述日志處理服務器包括密鑰處理單元和MongoBD單元,其中,所述密鑰單元處理單元用于更新異平臺收集代理模塊的密鑰和解密加密日志,所述MongoBD單元用于存儲解密后的日志。
優選地,所述日志處理服務器從本地數據庫拉取加密日志,同時發送上傳成功信息至異平臺代理模塊,異平臺代理模塊確認上傳成功信息則刪除已上傳的加密日志。
優選地,所述本地數據庫為SQLite數據庫。
優選地,所述各平臺通過對應的異平臺收集代理模塊從日志服務器獲取日志模板,異平臺收集代理模塊基于該模塊生成日志保存文件。
優選地,所述日志服務器基于https連接異平臺收集代理模塊和日志備份服務器。
本發明的有益效果為通過設置與不同平臺的收集模塊,基于同樣的日志模板進行信息的收集和處理,同時對日志信息進行加密處理以保證安全性,可以實現對不同系統平臺的日志的收集和安全保護。
附圖說明
圖1所示為基于本發明實施例的一種跨平臺日志收集處理框架示意圖;
圖2所示為基于本發明實施例的日志收集流程的示意圖。
具體實施方式
以下結合實施例對本發明進行說明。
基于發明的實施例1,如圖1所示一種跨平臺日志收集處理框架,包括:異平臺收集代理模塊和日志處理服務器;所述異平臺收集代理模塊獲取并加密各平臺的日志,將加密日志保存在收集代理的本地數據庫,所述日志處理服務器根據預設的規則從本地數據庫拉取加密日志。
系統還包括日志備份服務器,所述基于備份策略從日志處理服務器獲取日志并存儲。
所述日志處理服務器包括密鑰處理單元和MongoBD單元,其中,所述密鑰單元處理單元用于更新異平臺收集代理模塊的密鑰和解密加密日志,所述MongoBD單元用于存儲解密后的日志。
所述日志處理服務器從本地數據庫拉取加密日志,同時發送上傳成功信息至異平臺代理模塊,異平臺代理模塊確認上傳成功信息則刪除已上傳的加密日志。
所述本地數據庫為SQLite數據庫。
所述各平臺通過對應的異平臺收集代理模塊從日志服務器獲取日志模板,異平臺收集代理模塊基于該模塊生成日志保存文件。
不同的平臺的日志文件的格式和內容不盡相同,而同時保存不同文件格式在存儲上不是有利的做法,因此,通過對各個平臺對應的日志文件進行處理,即獲取關鍵的信息,例如時間、事件類型等信息,然后整合成一個通用的格式,有利于存儲。
所述日志服務器基于https連接異平臺收集代理模塊和日志備份服務器。
基于發明的實施例2,如圖2所示的日志收集流程。
客戶端日志收集代理啟動,根據配置文件連接日志服務器,如果連接成功則發送本機密鑰種子;日志服務器接收密鑰種子并生產一組密鑰及使用策略,將使用策略發送至客戶端;客戶端保存密鑰種子和使用策略,請求日志本地保存的DB模版文件;日志服務器接收請求并發送本地DB模版文件至客戶端;客戶端根據模板文件復制生成日記本地保存DB文件,然后進行日記上傳策略的交互,獲取本地日志偵聽端口并上傳端口信息至日志服務器,完成客戶端收集代理啟動。
通過密鑰和使用策略的定制控制客戶端以規定的順序和方式處理日志的加密工作;基于數據庫模板來實現統一格式的日志的保存;通過日志上傳策略的交互,使日志的上傳能夠按照規定的方式進行;通過上傳端口信息的上傳使日志服務器能夠獲取客戶端的端口信息以支持第三方對客戶端/服務器的訪問。
本平臺的日志收集代理接收到日志后使用啟動時接收到的密鑰及使用策略對日志內容進行加密,并保存到本地的SQLite數據庫中。在保存時日志收集代理會根據年/月/日的方式建立多個SQLite數據庫,根據日志寫入的日志決定將日志內容寫入對應的SQLite數據庫中。
當日志收集代理根據上傳策略要求到達上傳日志時機時,會將日志內容通過HTTPS的方式上傳到日志服務器。日志服務器接收到日志內容后,根據之前傳送給日志收集代理的密鑰策略及密鑰對日志進行解密之后,使用服務器端自己的密鑰對日志內容進行加密并保存到MongoDB中,同時通知日志收集代理上傳成功,日志收集代理刪除本地已上傳的日志內容,對SQLite數據庫進行壓縮。
根據服務器端配置的備份策略,服務器端將日志內容通過服務器端密鑰加密后導出為文本文件,并再導出文件進行加密以及壓縮,以年/月/日/時/分/秒為文件名通過HTTPS的方式備份到日志備份服務器。
在日志服務器端除接收日志收集代理上傳日志內容的進程以及日志備份進程以外,會根據配置啟動一個分析進程,該進程可根據第3方日志分析軟件的需求,將已保存到服務器的日志通過指定的格式發送到指定IP的指定端口。
以上所述,只是本發明的較佳實施例而已,本發明并不局限于上述實施方式,只要其以相同的手段達到本發明的技術效果,都應屬于本發明的保護范圍。在本發明的保護范圍內其技術方案和/或實施方式可以有各種不同的修改和變化。