李志民 孫林檀 吳建軍 張新征

摘 要 基于ELK的日志分析系統(tǒng)研究分析是為了有效的解決當(dāng)下物聯(lián)網(wǎng)應(yīng)用日志處理效率低的問題。因此,本文首先闡述了基于ELK的日志分析平臺,然后總結(jié)了對系統(tǒng)日記群集優(yōu)化大方法,從而提高日志分析系統(tǒng)的運行效率和排查異常的速度。
關(guān)鍵詞 ELK;日志分析系統(tǒng);Elasticsearch
日志設(shè)計信息系統(tǒng)的重要組成部分,是系統(tǒng)運行、性能分析以及故障診斷的重要來源。隨著科學(xué)技術(shù)的不斷發(fā)展和互聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,不斷增加了系統(tǒng)的日志量,隨著日志的應(yīng)用范圍的擴大和復(fù)雜程度的增加,傳統(tǒng)日志的分析方式和效率已經(jīng)不能適信息系統(tǒng)對日志的需求。為了滿足信息時代的發(fā)展需要,下面就基于ELK的日志分析系統(tǒng)進行相關(guān)的研究分析工作。
1基于ELK的日志分析平臺
隨著實時分析技術(shù)的不斷發(fā)展和成熟應(yīng)用,在日志領(lǐng)域出現(xiàn)了新的分析系統(tǒng)-ELK,ELK實時日志分析平臺主要運用了Kiba-na(數(shù)據(jù)可視分析平臺)、Logstash(日志采集工具)、Elasticsearch(分布式搜索引擎)[1]。這些技術(shù)的應(yīng)用可以讓系統(tǒng)的運行維護人員在龐大的日志信息量中及時找到所需要管理和維護的信息,從而實現(xiàn)了對日志系統(tǒng)的分析。
1.1 日志分析系統(tǒng)整體架構(gòu)
完整的日志系統(tǒng)是有日志的儲存系統(tǒng)、采集系統(tǒng)、解析系統(tǒng)化以及可視化分析系統(tǒng)共同組成的。日志采集工具是日志的主要采集器,在多臺機器當(dāng)中都有分布,它可以對非結(jié)構(gòu)的日志進行解析,然后把解析的結(jié)果傳輸?shù)椒植际剿阉饕嬷?分布式搜索引擎可以完成全文檢索的功能,屬于儲存日志的中央系統(tǒng);而Kibana組件的存在不僅可以對分布式搜索引擎中的日志進行可視化操作[2],還可以進行統(tǒng)計分析和高級搜索。但是日記采集工具及要完成對日志的采集工作又要完成解析工作,這樣不僅會致系統(tǒng)的性能下降,嚴(yán)重的時候還會影響工作的進展。而Beats的推廣和應(yīng)用有效解決了這一問題,圖1為Beatsde在系統(tǒng)框架中的應(yīng)用:
Beats在進行信息采集和解析工作的時候可以針對不同的日志格式和來源使用不同的采集器,Beats采集器包括了5中不同種類和功能的日志采集器,分別為:Filebeat、Metricbest、Packetbeat、Winlogbeat、Heartbeat。
1.2 日志實時收集系統(tǒng)
想要完成日志的分析處理工作就需要首先完成日志的收集工作,由于日志分布在不同的服務(wù)器中,因此需要對分散的日志信息進行收集匯總工作,然后才能進行對日志信息的分析和處理。目前,主要使用的日志收集系統(tǒng)為Logstash和Filebeat。
Filebeat在服務(wù)器中主要是完成文件信息數(shù)據(jù)的收集工作,是日記采集器中最輕量的采集器。當(dāng)該采集器開始的工作的時候會有一個或多個相對應(yīng)的Prospect對日志的采集路徑和文件進行監(jiān)控,而每一個日志文件都會有與之對應(yīng)的harvester將日志的內(nèi)容進行讀取轉(zhuǎn)發(fā)。最后由Filebeat記錄和維護轉(zhuǎn)發(fā)的內(nèi)容讀取位置的偏移量。
Logstash的主要工作人去就是對各種動態(tài)的數(shù)據(jù)進行收集,然后再將這些數(shù)據(jù)進行統(tǒng)一的分析過濾,最后輸送到指定的位置。信息數(shù)據(jù)的收集和處理Logstash系統(tǒng)中的Output插件主要負(fù)責(zé)日志的輸出方向,Input插件負(fù)責(zé)配置日志的輸入源,而Filter插件主要是對日志的內(nèi)容進行解析工作。
1.3 日志存儲與搜索系統(tǒng)
Elasticsearch(分布式搜索引擎)的功能比較全面,既可以應(yīng)用于結(jié)構(gòu)化搜索,又可以進行聚合分析和全文搜索。Elasticsearch搜索引擎具有近實時搜索、零配置、索引自動分片、高可用、模式自由以及集群自動發(fā)現(xiàn)等優(yōu)點。分布式搜索引擎的集群節(jié)點有三種不同的作用:第一,Data節(jié)點主要對稅局的分片進行不能保護;第二,Master節(jié)點主要負(fù)責(zé)元數(shù)據(jù)的增減、分配工作;第三,Cliret節(jié)點主要在信息訪問量較大的場景中進行使用。
1.4 日志可視化分析
可視化指的是可以將抽象的數(shù)據(jù)用圖標(biāo)的形式變現(xiàn)出來,使信息更加直觀地展現(xiàn)在人們的眼前。Kibana作為可視化平臺,可對儲存的信息進行數(shù)據(jù)高效的搜索工作,還可以對數(shù)據(jù)進行可視化和分析。Kibana可視化平臺的發(fā)展戰(zhàn)略是可以更容易的理解日志的儲存信息,將這些抽象的數(shù)據(jù)信息創(chuàng)建成更為高級的圖標(biāo),從而更方便系統(tǒng)人員對日志的分析維護工作。
2集群優(yōu)化
分布式搜索引擎作為日志儲存和搜索的主要系統(tǒng),及可以配合Kibana進行日志可是化分析,有可以與日志的采集系統(tǒng)向?qū)樱瑢ο到y(tǒng)集群進行優(yōu)化配置工作,使其操作性能更加優(yōu)質(zhì)。
2.1 硬件層面優(yōu)化配置
想要在硬件層面上進行與優(yōu)化群集配置,首先需要選擇合理的服務(wù)器,只有選著與運行版本和內(nèi)存相符的服務(wù)器,才可以在業(yè)務(wù)量較大的時候做好群集優(yōu)化工作。其次還要根據(jù)需求將機器的最大文件數(shù)進行擴充,這樣才可以有效避免高峰時期因文件過多而引發(fā)的異常。最后,如果搜索的目標(biāo)明確就關(guān)閉_all字段,這樣可以提高搜索的導(dǎo)入性能。
2.2 數(shù)據(jù)導(dǎo)入性能優(yōu)化
在優(yōu)化數(shù)據(jù)導(dǎo)入功能的時候可以從以下幾個方面進行:第一,關(guān)閉_all字段。第二,將副本設(shè)置為0,降低在復(fù)制過程中對系統(tǒng)內(nèi)存的消耗。第三,盡量減少對不重要文字的索引。第四,使用批量導(dǎo)入的方式減少對輸出、輸入端口的消耗。第五,還可以通過增大刷新間隔的方式來進行數(shù)據(jù)導(dǎo)入性能優(yōu)化工作。
2.3 查詢優(yōu)化
在進行查詢系統(tǒng)優(yōu)化工作的時候可以對路由機制進行合理的使用,以便于提高查詢的性能。同時要正確地使用Filter和Query功能,將不必要的查詢信息進行過濾,提高查詢的效率。而OptimizeAPI合并段的使用可以強制性地將Elasticsearch中的分散片段進行合成[3],有效地減少了片段的搜索數(shù)量,從而提升了查詢的效率,實現(xiàn)了查詢的優(yōu)化工作。
3結(jié)束語
基于ELK的基于ELK的日志分析系統(tǒng)研究及應(yīng)用研究及應(yīng)用對硬件層面、數(shù)據(jù)導(dǎo)入性能以及查詢進行不斷的優(yōu)化工作,有效解決了傳統(tǒng)基于日志分析系統(tǒng)中的采集、儲存、可視化以及檢索問題,為日志系統(tǒng)的運行和維護提供了有效的解決方案。
參考文獻(xiàn)
[1] 姚攀,馬玉鵬,徐春香.基于ELK的日志分析系統(tǒng)研究及應(yīng)用[J].計算機工程與設(shè)計,2018,39(7):2090-2095.
[2] 周德永,王瑞剛,梁小江.基于ELK自動化收集Docker容器日志的分析系統(tǒng)[J].電子設(shè)計工程,2017,25(19):50-55.
[3] 周映,韓曉霞.ELK日志分析平臺在電子商務(wù)系統(tǒng)監(jiān)控服務(wù)中的應(yīng)用[J].信息技術(shù)與標(biāo)準(zhǔn)化,2016,(7):67-70.