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

基于ELK4+Kafka的智慧運維大數據分析平臺研究與實現

2020-07-24 02:11:37阮曉龍賀路路
軟件導刊 2020年6期
關鍵詞:大數據

阮曉龍 賀路路

摘要:基于ELK在智慧運維大數據分析平臺實現海量數據分析,對ELK的部署結構進行優化,并在日志采集和日志處理中間增加KaVa消息處理隊列,減輕Logstash壓力,增加集群高可用性。通過Logstash的Filter插件利用正則表達式實現日志數據拆分,將拆分后的字段在Elasticsearch中存儲,最終利用Kibana對日志數據進行搜索、繪圖和展示。使用基于ELK的智慧運維大數據平臺解決了運維過程中日志采集、日志處理、日志可視化問題,同時在數據處理上實現了接近1s的延遲搜索。

關鍵詞:ELK;KaVa;日志分析;大數據;流式數據

DOI:10.11907/rjdk.192248 開放科學(資源服務)標識碼(OSID):

中圖分類號:TP319文獻標識碼:A 文章編號:1672-7800(2020)006-0150-05

0 引言

讓運維更智能、更高效是運維的首要需求,智慧運維是運維發展的必然趨勢。對數據中心海量運行數據進行分析,從數據中找規律、找價值是智慧運維的核心。智慧運維的基礎是海量日志數據分析,日志分析是日常運維、故障排錯、性能分析的重要途徑。數據中心每天產生的日志數據越來越多,日志處理工作量越來越大,處理方法越來越復雜,對實時性的要求越來越高。針對傳統日志分析方法而言,日志獲取難、分析耗時耗力、不易動態擴展等問題逐漸凸顯。

隨著分析技術及搜索技術的成熟與發展,在日志處理領域出現了以ELK Stack為代表的實時日志分析平臺,運維人員從TB甚至PB級的日志中獲取所需關注的信息及實現日志實時分析,使可視化展示分析成為可能。ELKStack是日志采集工具Logstash.分布式搜索引擎Elasticsearch、數據可視化分析平臺Kibana 3個開源軟件的組合。本文基于ELK Stack技術,實現了對海量日志進行實時采集、檢索和展示的智慧運維大數據分析平臺部署。

1 基于ELK智慧運維大數據分析平臺

1.1 平臺整體架構

數據采集、數據處理、數據存儲、數據可視化展示是一個完整的日志分析系統必不可少的組成部分。在ELKStack架構中,Logstash或Beats作為日志采集器分布于各業務系統進行日志采集,將日志文本按照既定規則解析后輸出至Elasticsearch。Elasticsearch是ELK Stack中的核心系統,負責存儲和搜索日志。Kibana是大數據圖形化展示工具,集成了DSL命令行、數據處理等插件,可以對Elasticsearch中的數據進行搜索、分析以及可視化展示。

ELKStack架構如圖l所示。

1.2 日志數據實時收集

日志采集是日志分析的基礎,Logstash是一個開源數據收集引擎,具有實時管道功能,可以同時從多個數據源獲取數據,并對數據進行處理后發送到Elasticsearch服務器中。

業務數據往往以各種各樣的形式分散在不同系統中,Logstash支持各種輸入選擇,可以在同一時間從眾多來源捕捉事件,能夠以連續的流式傳輸方式,實現日志、指標、Web應用、數據存儲以及各種AWS服務的日志數據采集。采集的日志數據流通過Logstash中的Input流人,經過Filter實時解析和數據處理后通過Output進行輸出。

Logstash擁有豐富的Filter插件,例如Grok是Log.stash的一個正則表達式插件,用于處理Syslog、Apache和其它Web服務日志、MySQL日志以及人為定義的日志格式,且其內置超過120種常用正則表達式。利用Grok處理日志文本時一般按以下步驟進行解析:①對將要進行分析的日志進行解讀,理解日志中每一個字段代表的含義;②確定利用Grok要將一條日志分為多少個字段,拆分字段是后期分析的重要指標;③利用Grok Debugger對編寫的正則進行調試,獲取目標字段。

例如一條訪問日志信息如下:

10.10.3.2292019-08-0516:30:58GE//var/www/html 200461120.075

根據日志字段含義,通過Grok編寫規則如下。拆分日志后的內容及格式如下:

Beats是ELK Stack的一系列數據采集器的總稱,對于不同的日志使用不同的采集器,目前Beats系列包含以下7個成員,如表1所示。

相比Logstash,Beats只負責采集數據而不處理數據,因而占用的CPU和內存比Logstash少得多,其對業務服務器的影響可忽略不計。在實際應用環境中,推薦在業務系統部署Beats系列而不是Logstash采集數據從而來減輕服務器自身壓力,并由Logstash進行數據處理。

1.3 日志數據存儲

Elasticsearch為開源、分布式、基于Restful API、支持PB甚至更高數量級的搜索引擎工具,作為ElK Stack的核心,可以集中存儲數據。

Elasticsearch在生產環境中一般以集群的形式存在,在集群中節點分為主節點、數據節點、客戶端節點3種角色。主節點負責集群中索引的創建、刪除以及數據的Rebalance等操作,但不負責數據的索引和檢索,一般負載較輕。數據節點負責集群中數據的索引和檢索,一般壓力較大,對機器配置要求較高??蛻舳斯濣c負責來自不同請求的分發、匯總等,增加客戶端節點更多是為了負載均衡。

為了更好地理解Elasticsearch,將Elasticsearch與關系型數據庫MySQL進行對比如表2所示。

1.4 日志數據可視化

數據可視化主要借助于圖形化手段,清晰有效地傳達與溝通信息。Kibana是一款開源的數據分析和可視化平臺,它是ElKStack成員之一,用作與Elasticsearch交互,可以對Elasticsearch索引中的數據進行搜索、查看,同時利用圖表、表格及地圖對數據進行多元化分析和呈現。

2 基于ELK+Kafka的智慧運維大數據分析平臺部署

ELK Stack在實際生產環境中通常以集群的方式部署,集群部署的好處就是系統擴展容易且能夠實現負載均衡,保持系統長期穩定運行。

整個ELK Stak架構的調優不僅是Elasticsearch集群的調優,同時包含數據采集、數據處理過程調優,因此在數據采集后增加Kafka集群。Kafka是一個適合離線和在線消息的隊列,Kafka消息保留在磁盤上,并在集群內復制以防止數據丟失。部署Kafka可以減輕Logstash壓力,避免日志在處理前丟失。

經過系統拓撲優化,結合現有實際情況,本文部署結構使用10臺服務器,拓撲結構如圖2所示。服務器功能劃分如表2所示。

2.1 Kafka集群部署

部署kafka集群需要3個基礎軟件,分別為Java環境、ZooKeeper和Kafka。目前JDK最新版本為12.0.2,下載地址為https://www.oracle.com/technetwork/java/javase/down10ads/jdkl2-downloads-5295953.html。ZooKeeper最新版本為3.5.5,下載地址為https://www-us.apache.org/dist/zookeepedzookeeper-3.5.5/(推薦使用bin格式的壓縮包)。Kafka最新版本為2.3.0,下載地址為http://kafka.apache.org/downloads(推薦使用bin格式且為Scala 2.12)。建議在部署時關閉CentOS 7的防火墻以及SELinux,待部署完成后開啟相應端口。

2.1.1 Java環境安裝

將JDK安裝包上傳到CentOS 7相應目錄下。通過如下命令進行JDK壓縮包解壓,并將解壓的目錄重新命名,其命令如下:

#tar-zxvfjdk-12.0.2_linux-x64_bin.tar.gz

#my jdk-12.0.2/jdk

安裝JDK后需要配置環境變量,編輯/etc/profile文件。在文件尾部添加如下配置。

#vim/etc/profile

export JAVA_HOME=/opt/jdk

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JA.VA_HOME/lib/dtjar:$JAVA_HOME/lib/tools.jar

export PATH=$PA7H:$JAVA_HOME/bin

通過source命令重新加載/etc/profile文件,使得修改后的內容生效,命令如下:

#source/etc/profile

#java-version

2.1.2 ZooKeeper集群部署

將ZooKeeper壓縮包上傳到CentOS 7相應目錄下。通過如下命令進行ZooKeeper壓縮包解壓,并將解壓的目錄重新命名,其命令如下所示:

#tar-zxvf apache-zookeeper-3.5.5-bin.tar.gz

#mv apache-zookeeper-3.5.5-bin/zookeeper

ZooKeeper的配置文件在zookeeper/config/目錄下,首先復制zoo_sample.cfg為zoo.Cfg,然后在zookeeper目錄下創建data目錄和logs目錄,用于存放zookeeper數據和運行日志。相關命令如下:

#cp zoo_sample.cfgzoo.Cfg

#mkdir/opt/zookeeper/{data,logs}

在data目錄下創建myid文件,myid值是zoo.cfg文件里定義的server.A項的值。10.10.2.226、10.10.2.227、10.10.2.228的myid值分別為l、2、3,myid值可配置為1-255。

zoo.CfC配置文件配置內容如下:

dataDir=/opt/zookeeper/data

dataLogDir=/opt/zookeeperflogs

clientPort=218l

server.1=10.10.2.226:2888:3888

server.2=10.10.2.227:2888:3888

server.3=10.10.2.228:2888:3888

按照上述方法完成3臺Kafka服務器配置,分別在3臺Kafka服務器上啟動ZooKeeper集群,啟動、查看狀態命令如下。啟動后會顯示當前ZooKeeper節點屬于主節點還是從節點。

#/opt/zookeeper/bin/zkServer.sh start//啟動命令

#/opt/zookeeper/bin/zkServer.sh status//狀態查看

2.1.3 Kafka集群部署

將Kafka壓縮包上傳到CentOS 7相應目錄下。通過如下命令進行Kafka壓縮包解壓,并將解壓的目錄重新命名,其命令如下:

#tar-zxvf kafka_2.12-2.3.0.tgz

#mv kafka_2.12-2.3.0/kafka

Kafka的配置文件在/opt/kafka/config目錄下,編輯server.properties文件,編輯內容如下:

broker.id=1

listeners=PLAIN了EXT:H10.10.2.226:9092

advertised.1isteners=PLAINTEXT://10.10.2.226:9092

log.dirs=/opt/kafka/logs

zookeeper.connect:10.10.2.226:2181,10.10.2.227:2181,10.10.2.228:2181

按照上述方法完成3臺Kafka服務器的配置,分別在3臺Kafka服務器上啟動Kafka集群,啟動命令如下。其它兩個節點的的broker.id不同,另外分別為2、3。

#/opt/kafka/bin/kafka-server-start.sh/opt/kafka/config/server.properties

2.2 Logstash部署

目前,Logstash的最新版本為7.2.0,下載地址為:https://artifacts.elastic.co/downloads/logstash/logstash-7.2.0.tar.gz。將Logstash壓縮包上傳到CentOS 7相應目錄下。

通過如下命令進行Logstash壓縮包解壓,并將解壓的目錄重新命名,其命令如下:

#tar-zxvf logstash-7.2.0.tar.gz

#mv logstash-7.2.0/logstash

Logstash的配置文件在/opt/logstash/config目錄下,編輯logstash.yml文件,配置內容如下:

node.name:asc-analysis

path.data:/optflogstash/data

http.host:“10.10.2.229'

http.port:9600-9700

配置完成后通過運行最基本的Logstash管道測試Logstash是否安裝成功。Logstash管道有兩個必需元素:input和output,相關測試命令如下:

#/opt/logstash/bin/logstash-e‘input{stdin{}}output{std-out{}}

測試時無論輸入什么內容,Logstash都會按照規范格式輸出,其中-e參數允許Logstash直接通過命令行接受設置,以實現在測試配置時不需要頻繁編輯配置文件。

2.3 Elasticsearch集群部署

目前,Elasticsearch的最新版本為7.2.0,下載地址為:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-1inux-x86_64.tar.gz。將Elasticsearch壓縮包上傳到CentOS 7相應目錄下。通過如下命令進行Logstash壓縮包解壓,并將解壓的目錄重新命名,其命令如下:

Elasticsearch的配置文件在/opt/elasticsearch/config目錄下,編輯elasticsearch.yml文件,進行Elasticseach集群名稱、節點IP地址、通信端口、數據存放目錄、運行日志目錄配置,注意在配置時每一個配置項前需要有空格。

配置完成后使用創建的elk用戶啟動Elasticsearch,啟動后通過瀏覽器訪問部署的Elasticsearch節點,如圖3所示。其余節點配置相同,注意在配置時集群名稱保持一致。

2.4 Kibana部署

目前,Kibana的最新版本為7.2.0,下載地址為:https://artifacts.elastic.co/downloads/kibana/kibana-7.2.0-1inux-x8664.tar.gz。將Elasticsearch壓縮包上傳到CentOS 7相應目錄下。

通過如下命令進行Logstash壓縮包解壓,并將解壓的目錄重新命名,其命令如下:

#tar-zxvf kibana-7.1.1-linux-x86_64.tar.gz

#mv kibana-7.1.1-linux-x86_64/kibana

編輯Kibana的配置文件kibana.yml。其中Server.host是部署Kibana機器的IP地址,服務端口為5601,Elastic.search.url是部署Elasticsearch機器的IP地址。配置完成后通過http:HIP:5601訪問。

3 數據可視化展示

Kibana具有多個功能,Discover、可視化、儀表盤是常用的3個功能。Discover對搜索到的數據進行展示并用柱狀圖表示統計結果??梢暬С种鶢顖D、面體圖、餅圖、折線圖等18種圖形創建。儀表盤將創建的可視化聚合在一起,整體反映整個業務或者系統運行情況,且支持任意時間段的數據信息查看。信息技術學院教學云平臺業務整體運行情況分析部分截圖如圖4所示。

4 結語

本文對ELK進行研究與部署應用,實現了Kafka、Elas.ticsearch集群部署并使用Logstash對日志數據進行正則處理,最終在Kibana上繪制圖表加以展示。基于ELK的智慧運維大數據分析平臺的建立和應用解決了日志采集、日志處理、日志可視化等一系列問題,使得日志實時分析成為可能,為日常運維管理和日志分析提供了新的解決方案。

目前只是對ELK的簡單應用,后續將研究ELK的機器學習功能,實現故障發生時間、業務宕機、業務訪問突增的預測,并結合移動端實現故障與預警的實時推送。

猜你喜歡
大數據
基于在線教育的大數據研究
中國市場(2016年36期)2016-10-19 04:41:16
“互聯網+”農產品物流業的大數據策略研究
中國市場(2016年36期)2016-10-19 03:31:48
基于大數據的小微電商授信評估研究
中國市場(2016年35期)2016-10-19 01:30:59
大數據時代新聞的新變化探究
商(2016年27期)2016-10-17 06:26:00
淺談大數據在出版業的應用
今傳媒(2016年9期)2016-10-15 23:35:12
“互聯網+”對傳統圖書出版的影響和推動作用
今傳媒(2016年9期)2016-10-15 22:09:11
大數據環境下基于移動客戶端的傳統媒體轉型思路
新聞世界(2016年10期)2016-10-11 20:13:53
基于大數據背景下的智慧城市建設研究
科技視界(2016年20期)2016-09-29 10:53:22
數據+輿情:南方報業創新轉型提高服務能力的探索
中國記者(2016年6期)2016-08-26 12:36:20
主站蜘蛛池模板: 国产麻豆91网在线看| 国产网站免费| 九九热视频精品在线| 国产欧美高清| 18禁色诱爆乳网站| 国产91丝袜在线播放动漫| 香蕉综合在线视频91| 日韩av在线直播| yy6080理论大片一级久久| 中文字幕乱码二三区免费| 亚洲无码不卡网| 国产女人在线视频| 亚洲天堂2014| 9啪在线视频| 亚洲一区二区三区麻豆| 精品亚洲欧美中文字幕在线看| 狠狠做深爱婷婷久久一区| 欧美一级大片在线观看| 婷婷综合在线观看丁香| av尤物免费在线观看| 日韩东京热无码人妻| 久久久久青草大香线综合精品| 国产极品嫩模在线观看91| 国产成人精品三级| 精品国产aⅴ一区二区三区| 欧类av怡春院| 国产精品专区第1页| 日韩福利视频导航| 国产素人在线| 内射人妻无套中出无码| 亚洲三级视频在线观看| 久久天天躁狠狠躁夜夜2020一| 欧美亚洲国产一区| 日韩精品一区二区深田咏美| 99re在线视频观看| 久久福利网| 香蕉国产精品视频| 99视频在线免费| 国产黄在线免费观看| av大片在线无码免费| 91在线播放免费不卡无毒| 久久这里只有精品免费| 国产女人爽到高潮的免费视频| 亚洲综合极品香蕉久久网| 国产性猛交XXXX免费看| 91成人在线观看| 在线视频一区二区三区不卡| 亚洲无码视频一区二区三区| 亚洲永久色| 久久精品免费看一| 一区二区理伦视频| 久久综合亚洲鲁鲁九月天| 欧美在线综合视频| www.91中文字幕| 国产不卡国语在线| 天天色综合4| 国产精品99一区不卡| 手机永久AV在线播放| jizz国产视频| 日韩少妇激情一区二区| 亚洲一级色| 欧美成人精品高清在线下载| 麻豆精品视频在线原创| 亚洲成a人片在线观看88| 2021亚洲精品不卡a| 中文字幕自拍偷拍| 日韩一级二级三级| 久久亚洲日本不卡一区二区| 巨熟乳波霸若妻中文观看免费| 国产产在线精品亚洲aavv| 欧美三级日韩三级| 亚洲天堂久久久| 日韩精品亚洲人旧成在线| 动漫精品中文字幕无码| 无码精品国产VA在线观看DVD | 亚洲精品无码抽插日韩| 日韩激情成人| 国产精品女熟高潮视频| 中国特黄美女一级视频| 国产门事件在线| 国产一区二区精品高清在线观看| 久久夜夜视频|