• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ELK的分布式政務(wù)數(shù)據(jù)日志分析平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

      2021-01-28 08:49:31彭凌華陳杰浩周彪
      消費(fèi)導(dǎo)刊 2020年35期
      關(guān)鍵詞:日志政務(wù)集群

      彭凌華 陳杰浩 周彪

      云上廣西網(wǎng)絡(luò)科技有限公司

      一、引言

      本文從政務(wù)數(shù)據(jù)共享交換平臺(tái)運(yùn)行過(guò)程中產(chǎn)生大量的政務(wù)日志數(shù)據(jù)入手,通過(guò)設(shè)計(jì)和實(shí)現(xiàn)一套可以對(duì)海量日志數(shù)據(jù)進(jìn)行采集、存儲(chǔ)、分析和展示的平臺(tái),幫助運(yùn)維人員分析政務(wù)數(shù)據(jù)共享交換平臺(tái)的運(yùn)行狀況,定位和解決運(yùn)行過(guò)程中遇到的問(wèn)題。基于政務(wù)數(shù)據(jù)共享交換平臺(tái)要實(shí)現(xiàn)多系統(tǒng)間高并發(fā)的海量數(shù)據(jù)交換的現(xiàn)狀,若使用傳統(tǒng)的日志分析平臺(tái)會(huì)面臨數(shù)據(jù)采集性能低、數(shù)據(jù)存儲(chǔ)成本高、數(shù)據(jù)分析能力弱、數(shù)據(jù)檢索實(shí)時(shí)性差和結(jié)果展示單一化等問(wèn)題,不利于運(yùn)維人員及時(shí)地發(fā)現(xiàn)和解決運(yùn)行過(guò)程中遇到的問(wèn)題。

      因此,本文基于ELK技術(shù)來(lái)設(shè)計(jì)開(kāi)發(fā)一套可以對(duì)政務(wù)日志數(shù)據(jù)進(jìn)行采集、處理、存儲(chǔ)、分析和可視化展示的日志分析平臺(tái),不僅能有效地對(duì)政務(wù)日志數(shù)據(jù)進(jìn)行管理,還能幫助運(yùn)維人員多維度分析政務(wù)數(shù)據(jù)共享交換平臺(tái)的運(yùn)行狀況,并能迅速定位和解決運(yùn)行過(guò)程中遇到的問(wèn)題。

      二、系統(tǒng)架構(gòu)設(shè)計(jì)

      ELK是對(duì)由Elasticsearch、Logstash和Kibana三個(gè)部分組成架構(gòu)的簡(jiǎn)稱,ELK目前常用于海量實(shí)時(shí)數(shù)據(jù)采集、處理、存儲(chǔ)和檢索的場(chǎng)景。本文提出的政務(wù)日志分析平臺(tái)對(duì)傳統(tǒng)ELK架構(gòu)中的數(shù)據(jù)采集和可視化部分進(jìn)行了改進(jìn),并新增了數(shù)據(jù)緩存、數(shù)據(jù)分析和風(fēng)險(xiǎn)告警功能。

      基于ELK的分布式政務(wù)數(shù)據(jù)日志分析平臺(tái)主要分為六層:

      1.日志數(shù)據(jù)采集層:使用Beats對(duì)政務(wù)數(shù)據(jù)共享交換平臺(tái)所產(chǎn)生的海量日志進(jìn)行分布式地采集,該部分是整個(gè)日志分析平臺(tái)數(shù)據(jù)流的源頭;

      2.日志數(shù)據(jù)緩存層:使用Kafka技術(shù)搭建一個(gè)分布式的消息隊(duì)列對(duì)日志數(shù)據(jù)進(jìn)行緩存處理,保障整個(gè)日志分析平臺(tái)的異步通信,降低平臺(tái)各層之間的耦合度;

      3.日志數(shù)據(jù)處理層:使用Logstash對(duì)采集的日志數(shù)據(jù)進(jìn)行預(yù)處理,為數(shù)據(jù)持久化做準(zhǔn)備;

      4.日志數(shù)據(jù)持久層:通過(guò)搭建Elasticsearch集群對(duì)日志數(shù)據(jù)進(jìn)行持久化存儲(chǔ),該部分是日志分析平臺(tái)的核心,是平臺(tái)進(jìn)行實(shí)時(shí)數(shù)據(jù)分析和展示的基礎(chǔ);

      5.日志數(shù)據(jù)分析層:通過(guò)LOF異常檢測(cè)算法和基于概率統(tǒng)計(jì)的異常檢測(cè)算法來(lái)對(duì)存儲(chǔ)在Elasticsearch中的數(shù)據(jù)進(jìn)行噪點(diǎn)去除和分析,數(shù)據(jù)分析的結(jié)果將成為平臺(tái)運(yùn)行異常情況快速定位和告警提供依據(jù);

      6.日志數(shù)據(jù)檢索展示層:該部分是對(duì)日志數(shù)據(jù)進(jìn)行可視化展示,一是展示平臺(tái)采集到的原始數(shù)據(jù),通過(guò)Kibana進(jìn)行實(shí)現(xiàn),二是對(duì)數(shù)據(jù)分析所得結(jié)果的展示,通過(guò)搭建Web服務(wù)實(shí)現(xiàn)。

      三、系統(tǒng)實(shí)現(xiàn)

      (一)日志數(shù)據(jù)采集層實(shí)現(xiàn)

      平臺(tái)采集的數(shù)據(jù)包括Nginx日志數(shù)據(jù)、指標(biāo)類型數(shù)據(jù)、審計(jì)日志數(shù)據(jù),因此,在數(shù)據(jù)采集過(guò)程中主要使用Filebeat、MetricBeat、Packetbeat 和Auditbeat四個(gè)beats插件來(lái)采集數(shù)據(jù):

      Filebeat用于對(duì)共享交換平臺(tái)的Nginx日志進(jìn)行采集,它會(huì)對(duì)所采集的每個(gè)日志文件的傳遞狀態(tài)進(jìn)行保存,在出現(xiàn)輸出設(shè)備無(wú)法正常工作的情況下,F(xiàn)ilebeat可以根據(jù)該狀態(tài)記錄到最后收取數(shù)據(jù)的偏移位置,并在輸出恢復(fù)后繼續(xù)讀取文件,從而保障數(shù)據(jù)的完整性。

      Metricbeat用于定期收集共享交換平臺(tái)所在服務(wù)器上的指標(biāo)數(shù)據(jù),將數(shù)據(jù)推送到指定的輸出中,幫助運(yùn)維人員監(jiān)控服務(wù)器和在服務(wù)器上所托管的服務(wù)。

      Packetbeat用于實(shí)時(shí)采集共享交換平臺(tái)網(wǎng)絡(luò)數(shù)據(jù)包,采集應(yīng)用程序服務(wù)器之間的網(wǎng)絡(luò)流量情況,用以監(jiān)控關(guān)聯(lián)請(qǐng)求與響應(yīng)時(shí)長(zhǎng),并記錄每個(gè)事務(wù)有意義的字段,以此作為日志分析平臺(tái)運(yùn)行異常的判斷依據(jù)。

      Auditbeat用于采集數(shù)據(jù)共享交換平臺(tái)所在服務(wù)器的審計(jì)日志,實(shí)時(shí)監(jiān)控服務(wù)器中的指定文件,及時(shí)報(bào)告文件的建立、刪除、更新和移動(dòng)等事件。Auditbeat可以將采集的數(shù)據(jù)組合成為一個(gè)相關(guān)的事件,并以結(jié)構(gòu)化數(shù)據(jù)的格式輸出到數(shù)據(jù)緩存層中,為實(shí)現(xiàn)對(duì)平臺(tái)更好的監(jiān)控提供數(shù)據(jù)來(lái)源。

      (二)日志數(shù)據(jù)緩存層實(shí)現(xiàn)

      日志數(shù)據(jù)緩存層是采用Kafka搭建一個(gè)分布式的消息隊(duì)列來(lái)實(shí)現(xiàn)日志數(shù)據(jù)采集層和日志數(shù)據(jù)處理層之間緩存數(shù)據(jù)的功能,日志數(shù)據(jù)采集層作為生產(chǎn)者將采集到的日志數(shù)據(jù)推送到Kafka指定的Topic中,再由作為消費(fèi)者的日志數(shù)據(jù)處理層從指定的Topic中對(duì)日志數(shù)據(jù)進(jìn)行消費(fèi)。

      (三)日志數(shù)據(jù)處理層實(shí)現(xiàn)

      日志數(shù)據(jù)緩存層采用Logstash來(lái)消費(fèi)Kafka中的日志數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾、格式化處理和字段修改等操作,最終將處理后的數(shù)據(jù)推送到Elasticsearch集群中做持久化存儲(chǔ)。

      Logstash的管道處理流程主要分為三個(gè)階段:輸入(input)、處理(filter)和輸出(output),輸入階段的主要工作是消費(fèi)Kafka中緩存的數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)發(fā)給處理階段。處理階段的主要工作是對(duì)從Kafka中消費(fèi)的數(shù)據(jù)進(jìn)行過(guò)濾、截取和格式化操作,由于數(shù)據(jù)從采集到處理中間會(huì)經(jīng)過(guò)Kafka這個(gè)中間件,因此需要對(duì)Kafka處理后的日志數(shù)據(jù)進(jìn)行格式化過(guò)濾。Logstash提供了多種過(guò)濾插件,如Grok、Geoip、Json等,本文使用最為常用的Grok來(lái)進(jìn)行過(guò)濾。輸出階段的主要工作是定義日志數(shù)據(jù)的存儲(chǔ)地址,即定義Elasticsearch集群的相關(guān)信息。

      (四)日志數(shù)據(jù)持久層實(shí)現(xiàn)

      1.集群搭建

      為了能夠較好的解決大量日志數(shù)據(jù)存儲(chǔ)的問(wèn)題,采用分布式的架構(gòu)來(lái)實(shí)現(xiàn)數(shù)據(jù)的持久化,由于所采集的日志數(shù)據(jù)是基于時(shí)間序列的數(shù)據(jù),數(shù)據(jù)每天都會(huì)寫(xiě)入,增長(zhǎng)速度較快,為了盡可能地降低硬件成本,同時(shí)還要保持日志分析平臺(tái)的穩(wěn)定性,采用冷熱節(jié)點(diǎn)分離(Hot&Warm)的架構(gòu)來(lái)對(duì)集群進(jìn)行部署,熱節(jié)點(diǎn)用于數(shù)據(jù)的寫(xiě)入,由于Elasticsearch主要解決的是海量數(shù)據(jù)的存儲(chǔ)和檢索,因此需要保證服務(wù)器的高可用性,故采用SSD盤(pán)來(lái)滿足對(duì)讀寫(xiě)性能的要求,熱數(shù)據(jù)節(jié)點(diǎn)處理所有新輸入的日志數(shù)據(jù),存儲(chǔ)速度也較快,以便確??焖俚夭杉蜋z索數(shù)據(jù)。冷節(jié)點(diǎn)可用于存儲(chǔ)密度較大、數(shù)據(jù)時(shí)效較低,且需在較長(zhǎng)期限內(nèi)保留的日志數(shù)據(jù),僅保存日志數(shù)據(jù)的只讀索引,故采用成本較低但存儲(chǔ)容量大的HDD盤(pán)來(lái)滿足對(duì)數(shù)據(jù)存儲(chǔ)的需求。通過(guò)使用冷熱分離的架構(gòu)既可以保證熱節(jié)點(diǎn)的性能,又可以降低冷節(jié)點(diǎn)的存儲(chǔ)成本,幫助集群節(jié)省在服務(wù)器資源上的開(kāi)銷。

      2.集群安全性實(shí)現(xiàn)

      由于政務(wù)數(shù)據(jù)共享交換平臺(tái)的承載政務(wù)數(shù)據(jù)的敏感性和重要性,需要對(duì)集群進(jìn)行以下設(shè)置,以保證數(shù)據(jù)的安全性。

      ①用戶權(quán)限管理

      本文使用RBAC(Role Based Access Control)來(lái)實(shí)現(xiàn)對(duì)用戶權(quán)限的管理,通過(guò)定義一個(gè)角色,同時(shí)為該角色分配一組權(quán)限,包括索引級(jí)別、字段級(jí)別和集群級(jí)別上的不同操作,并將角色分配給用戶來(lái)使用戶擁有不同的操作權(quán)限。

      ②集群內(nèi)部通信安全實(shí)現(xiàn)

      Elasticsearch集群內(nèi)部是通過(guò)9300端口進(jìn)行日志數(shù)據(jù)傳輸,在傳輸?shù)倪^(guò)程中可能會(huì)有節(jié)點(diǎn)冒充是集群的節(jié)點(diǎn)加入集群,從而竊取敏感信息的現(xiàn)象。為了防止該現(xiàn)象的出現(xiàn),本文通過(guò)配置TLS協(xié)議來(lái)對(duì)集群內(nèi)部傳輸?shù)臄?shù)據(jù)進(jìn)行加密。TLS協(xié)議使用Trusted Certificate Authority(CA)簽發(fā)的X.509的證書(shū)來(lái)驗(yàn)證各個(gè)節(jié)點(diǎn)的身份,這樣當(dāng)有節(jié)點(diǎn)申請(qǐng)加入到集群時(shí),若該節(jié)點(diǎn)持有正確的CA簽名證書(shū)才可自動(dòng)加入,否則失敗。

      ③集群外部通信安全實(shí)現(xiàn)

      日志分析平臺(tái)中直接對(duì)Elasticsearch集群進(jìn)行訪問(wèn)的程序有Logstash和Kibana,默認(rèn)的訪問(wèn)協(xié)議是HTTP協(xié)議,如果有攻擊者截取了Logstash和Elasticsearch之間或者Elasticsearch和Kibana之間的傳輸報(bào)文,就可以直接讀取其中包含的信息,帶來(lái)敏感信息泄露的風(fēng)險(xiǎn)。為了預(yù)防該風(fēng)險(xiǎn)的發(fā)生,平臺(tái)配置了具有SSL加密的傳輸協(xié)議HTTPS,為各個(gè)程序和Elasticsearch集群的通信進(jìn)行加密,保障數(shù)據(jù)傳輸?shù)陌踩浴?/p>

      (五)日志數(shù)據(jù)分析

      為了實(shí)現(xiàn)對(duì)政務(wù)數(shù)據(jù)共享交換平臺(tái)更準(zhǔn)確的監(jiān)控,本文對(duì)采集到的日志數(shù)據(jù)進(jìn)行離線分析,主要包括噪點(diǎn)數(shù)據(jù)剔除、閾值推薦和風(fēng)險(xiǎn)告警三個(gè)部分。

      1.從Elasticsearch集群所提供的接口中獲取近期的Nginx日志數(shù)據(jù),通過(guò)LOF算法對(duì)這些數(shù)據(jù)中的噪點(diǎn)數(shù)據(jù)進(jìn)行剔除;

      2.采用基于概率統(tǒng)計(jì)的異常檢測(cè)方法分析正常狀態(tài)和異常狀態(tài)下的正常交換數(shù)據(jù)的平均值、最大值、最小值和標(biāo)準(zhǔn)差,并根據(jù)正太分布的結(jié)果計(jì)算出響應(yīng)時(shí)間的閾值上下限;

      3.采用告警組件ElastAlert來(lái)實(shí)現(xiàn)告警功能。ElastAlert是一個(gè)告警框架,通過(guò)設(shè)置相應(yīng)的告警規(guī)則,將數(shù)據(jù)分析得到的閾值作為判斷標(biāo)準(zhǔn),實(shí)時(shí)地對(duì)存入Elasticsearch集群中的數(shù)據(jù)進(jìn)行監(jiān)控,一旦發(fā)現(xiàn)指標(biāo)達(dá)到異常閥值,則立即向有關(guān)人員發(fā)送告警信息。

      (六)日志數(shù)據(jù)檢索與展示層實(shí)現(xiàn)

      日志數(shù)據(jù)檢索和展示層是日志分析平臺(tái)數(shù)據(jù)處理流程的終點(diǎn),該層的主要功能是為運(yùn)維人員提供查詢和展示日志數(shù)據(jù)的窗口。日志分析平臺(tái)所采集的數(shù)據(jù)在經(jīng)過(guò)處理后分為兩種類型:一是采集的原始日志數(shù)據(jù);二是經(jīng)過(guò)分析后的結(jié)果數(shù)據(jù)。對(duì)原始日志的操作僅限于查詢和檢索,因此可使用可視化工具Kibana來(lái)實(shí)現(xiàn)。而對(duì)分析結(jié)果的展示和告警功能的實(shí)現(xiàn)是需要進(jìn)行多類型復(fù)雜的聚合、排序和數(shù)據(jù)分析等操作才能實(shí)現(xiàn)的,僅使用Kibana是無(wú)法滿足需求的,因此通過(guò)搭建基于SpringBoot的Web服務(wù)來(lái)實(shí)現(xiàn)該部分功能。

      四、結(jié)語(yǔ)

      本文設(shè)計(jì)和實(shí)現(xiàn)的政務(wù)數(shù)據(jù)日志分析平臺(tái)對(duì)傳統(tǒng)ELK架構(gòu)中的數(shù)據(jù)采集和可視化部分進(jìn)行了改進(jìn),實(shí)現(xiàn)了日志分析平臺(tái)在日志數(shù)據(jù)采集性能上的提升和對(duì)日志數(shù)據(jù)多元化展示的效果,并新增了數(shù)據(jù)緩存、數(shù)據(jù)分析和風(fēng)險(xiǎn)告警功能,提高了日志分析平臺(tái)的穩(wěn)定性,達(dá)到了幫助運(yùn)維人員分析政務(wù)數(shù)據(jù)共享交換平臺(tái)的運(yùn)行狀況,快速定位和解決問(wèn)題的目的。

      雖然本文所設(shè)計(jì)的分布式日志采集部分具有較高的采集性能,但卻無(wú)法采集數(shù)據(jù)庫(kù)中日志表的數(shù)據(jù),而日志表中存儲(chǔ)著十分重要的系統(tǒng)運(yùn)行信息,所以升級(jí)版本中將會(huì)使用Beats的其他插件和其他數(shù)據(jù)采集工具結(jié)合起來(lái),使日志分析的數(shù)據(jù)來(lái)源更加完整。

      猜你喜歡
      日志政務(wù)集群
      一名老黨員的工作日志
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      海上小型無(wú)人機(jī)集群的反制裝備需求與應(yīng)對(duì)之策研究
      一種無(wú)人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
      電子制作(2018年11期)2018-08-04 03:25:40
      游學(xué)日志
      Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
      勤快又呆萌的集群機(jī)器人
      政務(wù)
      廣東飼料(2016年5期)2016-12-01 03:43:19
      政務(wù)
      廣東飼料(2016年3期)2016-12-01 03:43:09
      政務(wù)
      廣東飼料(2016年2期)2016-12-01 03:43:04
      弥勒县| 沙坪坝区| 育儿| 宜章县| 上犹县| 分宜县| 绥中县| 兴化市| 东平县| 法库县| 福海县| 汕头市| 黔西县| 宝山区| 腾冲县| 玉山县| 蒙阴县| 庆元县| 正安县| 广灵县| 宁海县| 台南市| 崇礼县| 灵川县| 元氏县| 图片| 巴塘县| 建阳市| 临澧县| 大英县| 蓬溪县| 道孚县| 河南省| 怀仁县| 曲麻莱县| 遂溪县| 吐鲁番市| 贺兰县| 巢湖市| 平南县| 客服|